For most users, Facebook is just a great way to keep in touch with friends and procrastinate. For developers, Facebook may be the company to shape the future of app development.
As Facebook’s portfolio of mobile apps is growing, the company has focused on developing better mobile apps, and recent developments might prove to be quite a game-changer in mobile app development. We’re talking about the React Native technology, an addon to the already popular React.
Meet React Native
React Native combines the joy of React development with unprecedented pace of development. You can avoid annoying compile cycles and focus on getting ahead. In addition you don't have to worry so much about underlying details. React Native takes care of a lot of that for you.
React Native Simplifies Native App Development
Native applications have to be built from ground up, platform per platform. This takes a lot of skill and expertise. Web applications do come with certain skill requirements but the situation is somewhat different. React Native builds on this idea and allows you to develop applications with native performance on less effort. You will still need to perform customizations per platform. Despite this React Native allows you to avoid a lot of work that would be otherwise necessary.
For starters, working with React Native removes the need to re-compile a work-in-progress app every time you want to test a new functionality you just added. React Native allows browser-like refreshing, essentially loading up the updated version of the code at the touch of a button. There have been experiments to avoid refresh and it might be just a matter of time till we reach that on mainstream.
This is a very innovative feature that will change the way developers think, write and test their code – no longer will they have to stress on getting everything right before going to testing, or wait for compilers to do their job; with React Native, it’s all simpler.
Since React Native will significantly speed up the coding and testing phase, errors are prone to happen, so that is another aspect the new framework focused on: error reporting. When an error is encountered, not only will React Native pinpoint it exactly into the code, but will also provide a clear explanation of what caused the error, and even suggest a fix. This will make troubleshooting a whole lot easier.
Shorter iterations increase quality and allow you to develop better applications faster. This is one of the main selling points of React Native in addition to the ease of supporting multiple platforms. You will still have to work hard but now you can focus the effort better.
React Native Across Platforms
React Native was only introduced for iOS initially, but the framework is going to be available to Android developers as well. As stated before you will need to do some work to make your application work on these platforms as support is provided. Even though it's not "write once, run everywhere" kind of approach, this allows you to customize your application to fit platform idioms. This results in better user experience.
So far developers that have worked with React Native have been impressed. Consider checking out the following testimonials:
- @jlongster's first Impressions using React Native
- Colin Eberhardt's retrospective on developing an application with React Native
- Herman Schaaf's diary of Building an iOS App with React Native
- Robbie McCorkell's React Native – The Killer Feature that Nobody Talks About
Why React Native is Revolutionary
There are several websites full of resources and additional information on React Native, we've listed these below:
- The official React Native site
- React Native For Beginners – The Next Big Thing?
- Use React Native - A starting point
- jondot/awesome-react-native - A massive list of React Native resources
This is the guest post provided by Jason Phillips and Make Up Games 365.