Mistakes I made while maintaining an open-source React Native library for five years

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • react-native-modal

    An enhanced, animated, customizable Modal for React Native.

  • In this post, I’ll share some details around design decisions and mistakes I made while working on React Native Modal, a Modal component library for React Native. I hope that sharing my thoughts may help other new open-source maintainers to avoid such errors.

  • react-native-animatable

    Standard set of easy to use animations and declarative transitions for React Native

  • The last mistake I wanted to mention is relying too much on third-party libraries. Specifically, in my case, react-native-animatable. React Native Animatable is a great library that allows defining transitions and animations in a declarative fashion by abstracting the React Native animated API. In 2015/2016, react-native-animatable was the way to sprinkle animations on top of React Native apps. Mad props to @oblador for building it. react-native-animatable powers all react-native-modal’s animation. Users can pick any animation exposed by react-native-animatable and apply it to the enter/exit state of the modal with a single line of code.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • react-native-reanimated

    React Native's Animated library reimplemented

  • Time has passed, though. React Native Animatable is still a good solution today, but it’s not as performant nor configurable as the more modern options. Nowadays, there are several new ways to animate views more efficiently in React Native. Between the good-old React Native animated API, Reanimated/Reanimated 2, Moti (which can almost be a drop-in replacement for React Native Animatable), and Lottie, adding silk-smooth native animations to a React Native app has never been easier.

  • moti

    🐼 The React Native (+ Web) animation library, powered by Reanimated 3.

  • Time has passed, though. React Native Animatable is still a good solution today, but it’s not as performant nor configurable as the more modern options. Nowadays, there are several new ways to animate views more efficiently in React Native. Between the good-old React Native animated API, Reanimated/Reanimated 2, Moti (which can almost be a drop-in replacement for React Native Animatable), and Lottie, adding silk-smooth native animations to a React Native app has never been easier.

  • lottie

    Lottie documentation for http://airbnb.io/lottie.

  • Time has passed, though. React Native Animatable is still a good solution today, but it’s not as performant nor configurable as the more modern options. Nowadays, there are several new ways to animate views more efficiently in React Native. Between the good-old React Native animated API, Reanimated/Reanimated 2, Moti (which can almost be a drop-in replacement for React Native Animatable), and Lottie, adding silk-smooth native animations to a React Native app has never been easier.

  • react-native

    A framework for building native applications using React

  • This post focuses on a React Native library, but it’s not strictly related to React Native. It’s more about generic design and maintainability decisions. This should be a beginner-friendly post. Seasoned open source maintainers are probably already familiar with the topics explored here.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts