love React, so in love with React Native also. using from the past 2 years now. Pros. you can reuse the same business logic In both web and mobile apps, only need to change basically is render function ( no easy task though ). UI elements provided by react-native are native UI elements, not the web elements. you can use java or kotlin code via react bridge. CodeRush by Microsoft is a blessing in disguise. Cons. Mastering is easy but there are two types of mastery . one is as a framework and the second is the performance in react native. anyone can learn to develop using react-native but to get the best performance you have to work hard. flutter is a better choice nowadays but doesn't support code push and needs to learn dart.
I am a React developer so it is pretty much obvious that I know about react-native and used it in almost all my react apps. After using this I can say it is a very powerful package for react development and without any second thought every developer should give this at least one try. Docs are very informative. Thanks to the community.
In my opinion, the best way to write desktop or mobile apps is either to go with a native language or do web apps. I think frameworks like react-native, flutter, etc don't add a ton of value when compared to the tradeoffs they make. If your app can work as a web app ( or even a TWA ) great, but if you need access to some low-level API or need to crank the last but of performance out from it go with something like java, swift, or even C++. These frameworks make it look easy to make natives apps that are cross-compatible but it is just an illusion, at some point down the production line you will have to re-write all that you have made.
I have used this for cross-platform application with easy to understand and make changes we definitely don't have much changes when it comes to developing an application which supports cross-platform. As React-Native help creating the application which can be port of any web pages or even web applications. As some of the features are hard to integrate which could be notification as we can use other libraries which could be used for solving many issues but most of them are unstable. I mostly use this when i get some cross platform or native apps to be created.
Really an excellent library for mobile apps! The fact that it is web technology-based, but builds to native binaries means that you can leverage the best of both web and native worlds. Not to mention the fact that if you develop for Android and iOS, 99% of the time it works without any extra modifications. It really is awesome!
I have used this library for personal learning and I saw the following pros and cons : Pros : Well documented Strong community and dedicated use specific webpages, for example, navigation etc. Learning with expo is super easy and super fun, it saves from a lot of configuration setting on your local device. Learning through examples is excellent and you get hands-on very quick. can code component-specific code for ios and android differently even design too saves a lot of time as one code works for two major platforms Cons : setting up the environment and compiling native apps through SDEs can be little messy sometimes. Moving from web maybe little tricky as there are not enough examples for a few components. For new mobile application coders, there is not sufficient documentation for terminology, for example, stack navigator when you move from web to mobile development Navigation transitions are not that smooth as compared to native. Troubleshooting is difficult for beginners, sometimes it works, sometimes it doesn't.
I can't say enough good things about this package. The programming feels very intuitive and web like, can reuse code across both apps, and you can create custom android/iOS styles/components. That said here are some issues that we've had along the way: - Save yourself the trouble and use native over expo. Expo is slower, has less customization, and migrating over can sometimes be a pain - Component libraries: some types of packages are easy to find great ones, others are either poorly maintained or you'll have to create your own - Upgrading can be a pain: while usually easy sometimes the best way to upgrade is to create a new project and copy things over - Ongoing development: many packages are continuing to be developed. Upgrading to breaking changes isn't uncommon