Could you introduce your app in a few sentences?
Swish is an ad-free, open-source app for all of your basketball needs. Swish provides up-to-the-minute game stats, immense team and player stats, live play-by-play, detailed league leader information, and conference standings. Since the code base was made with React Native, Swish can be run locally on both iOS and Android.
Swish is a personal app of mine. I started writing Swish in the Summer of 2016 (then known as NBAreact). I was beginning to look for internships and needed something that would stand out on my resume. I took my love for basketball, picked up this interesting library I discovered one day on GitHub (React Native was at v0.27 when I started), and started working on an app.
What made you decide to use/switch to React Native?
Have your tried other cross platform technologies before using React Native?
I have worked on a seperate app that uses Cordova.
With Cordova you aren’t getting a native app like you’re getting with React Native since Cordova wraps a HTML app into a native container. As a result, the app doesn’t quite have that expected mobile feel to it.
What has your experience been working with React Native in terms of app performance, have you noticed any impacts?
I have not noticed any problems so far.
How has adopting React Native affected developer productivity?
Which tools, libraries and frameworks are part of your development process with React Native?
- Visual Studio Code as my editor
- CodeClimate to help me find where I am rewriting similar blocks of code that can be refactored
What resources have you used to learn React Native? Books, tutorials, courses etc. Anything you can recommend?
I learned React Native mostly by reading the documentation.
What are some things that you don’t like about React Native or that need to be improved?
I don’t think I have encountered that many problems that would leave me disliking React Native. An annoyance that I’m sure every developer using React Native has encountered is the “Module does not exist in the module map Red Screen” described in this Github issue. As React Native continues to develop, I would also love to see more “official” API implementations for native modules rather than relying on an external implementation that may be abandoned after so many months. One last thing that I would like to see is a better navigation solution. Right now the two big libraries that come to mind are React Navigation and React Native Navigation. Both have their pros and cons, but I would much prefer having a baked in solution that will be officially supported for both iOS and Android.