Don't get confused by the name this is not by any mean a roadmap for React Native. Just something what I would like to see happen.
I started working with React Native soon after it was open-sourced by Facebook. Since then the small experimental project grew a lot. Thanks to 1140 contributors, many of us can build cross platform native apps for iOS and Android with zero or a little knowledge of Objective C and/or Java. A few years ago I didn’t even think that with just web dev experience I could jump and make an app which will be working on iPhone and Android devices.
In this post, I’d like to focus on the things that we can do to make React Native even better.
Please don’t treat this as a rant, these are the things which I find that could be improved.
- Better error handling (there are a lot of generic errors which can mean multiple things). Usually to solve some issues is just a matter of searching issue tracker on Github or searching through SO, but this certainly discourages new comers and sometimes can be frustrating.
- Upgrades - there is already work being done on the releases side to stabilise them (see: http://facebook.github.io/react-native/blog/2017/01/07/monthly-release-cadence.html). I’m sure that now that we have more time to test RCs the upgrades will be less painful. But we still can do better here - maybe codemods?
- Debugging - at the moment debugging slows down the whole app a lot. The application is usually hardly usable.
- Create React Native App - I think CRA had a big success of breaking the ice between setting up the whole environment and the actual app development. Even if that’s a separate project (not a command in react-native-cli) it would be great to have it. At the moment a great solution to this is Exponent.
- Android performance/development. I think the Android development is not great, and this is not because React Native, the development tooling (i.e. emulators) is far from great. This area could be improved massively.
I’d like to know what you think and maybe say what are the things that you find that could be improved to make mobile development easier.
2 @knowbody:
I have mixed feelings about it. I'd rather have N less features with painless automatic migrations than X more, but with a crazy manual migration.
For instance, 0.40 broke all third-party native modules. There are 15k repos with "react-native" in title on Github. Imagine that 30% of them has some native code inside. ~5k repos needs to be manually updated. Even if we talk about 10 min change, it's about 50k minutes (833.3 hours!) + release notes for each. IMO, that's insane.
2 @ptmt:
Most of it can be made using
sed -i bak -e s/BEFORE/AFTER/g <file>
. Probably you'll have to re-compile your project after that, yeah... But I don't think it's a big deal. Codemod for 0.40 changes can be super small.