Could you introduce your app in a few sentences?
I created Hacker Buzz, a Hacker News reader as a personal project in order to gain an deeper understanding of the React Native workflow. It is primarily targeted for tech enthusiasts and entrepreneurs, who want to stay current with what's happening in tech/startup world. It's available for both Android and iOS and I also thought that it would be a great idea to open source my implementation, which is on GitHub.
What made you decide to switch to React Native?
How did you transition to React Native?
Moving away from Cocoapods to the npm packaging system was a smooth, although dealing with package updates can sometimes be a hassle, especially when upgrading RN. These issues are mostly resolved quickly, but sometimes required jumping into the node_modules folder and making the change myself. VS Code is my go-to text editor primarily due to its ever growing marketplace of extensions and plugins, which ease and simplify development so that you can focus on what matters most, the end result.
I took Stephen Grider’s ever popular React Native & Redux course back in January, which was a nice introduction to ES6. I found it a bit weird working with a weakly typed language, but existing tools such as PropTypes or TypeScript solve this issue.
Have your tried other cross platform technologies before using React Native?
Don't have much to add to that. I've looked at Cordova and Ionic, but there was nothing appealing at the time.
What has your experience been working with React Native in terms of app performance, have you noticed any impacts?
It seems to me that the performance of an iOS app built in React Native would be pretty much on par with one built natively, but that depends on the complexity of the application. For example, it would be really difficult to distinguish any performance bottlenecks for an app that would fetch data and display it a table. You might start seeing ‘lagging’ when you introduce large data sets or incorporate performance-heavy animations. This brings me to the Android eco-system, where these performance barriers are clearly present for an app built in React Native. Performance has definitely improved over the last year, but if you were to compare a React Native app built for both platforms, the iOS app would be more ‘fluid’.
How has adopting React Native affected developer productivity?
Which tools, libraries and frameworks are part of your development process with React Native?
State management: redux, redux-thunk
Debugging: redux-devtools-extension, redux-logger
Testing: Enzyme, chai, Jest
Awesome React Native
UI OH MY for UI inspiration
What resource have you used to learn React Native? Books, tutorials, courses etc. Anything you can recommend?
Definitely one of the best courses out there to get started with RN: The Complete React Native and Redux Course
More tutorials/courses on Egghead
Some more useful tutorials/articles from freeCodeCamp
I find that React Native books go out of date fairly quickly, so I stopped reading them back when I started. I once picked up a book, which was referencing v. 0.18, when I was on v0.30 at the time.
The React Native Facebook Community group is constantly active and has some interesting discussions.
This an awesome news letter worth signing up for.
Anything else you would like to mention?
I think the only thing worth mentioning would that if one has doubts about React Native, they should definitely give it a try and they're not going to regret it. Worst comes to worst, they'll learn something new!