Is React Native the Right Choice?
For years, developers needed to be fluent in two coding languages in order to create successful apps – Swift for Apple products and Java or Kotlin for Android devices. This meant having to create two different code bases for the same project, which added both additional cost and development time. With the introduction of Facebook’s React Native, developers have another option for making high performance apps that work on both platforms, saving both time and money.
React Native, which is based on JavaScript, enables developers to create a single codebase that can be deployed to both iOS and Android devices. React Native is often the right choice for creating highly performant apps that work on both platforms.
Shopify took a big bet on React Native and as of 2020 is building all of their new apps with it, but it took a while to reach that decision. In 2015, the company was looking for ways to accelerate development of their tools by adapting JavaScript for mobile, adopting a reactive programming model and consolidating iOS and Android development. Shopify has found success for its mobile apps (Arrive, Point of Sale and Compass) with React Native, but there are some limitations. The framework isn’t as successful when deploying on older hardware, or if the application requires ultra-high performance. That said, the company plans to build all of their new apps using React Native.
At Appstem, we work with each client to determine the best strategy for each project depending on the scope of work. At the outset of any project, we invite our clients to participate in our Discovery Workshop, where we work together to lay out a strategic vision for the entire project. In this process, we will determine whether React Native is the right way to go, or if a native approach is better suited.
“React Native has come a long way and our expert designers and developers work with each of our clients to find the solution that is the best fit for what they are trying to achieve with their app,” said Robert Armstrong, CEO of Appstem.
React Native has many benefits. The aforementioned reduced development time and cost saved from only having to code in one language are major pluses. The framework also allows developers to hot load changes to code without having to recompile. Despite being based on web technology, React Native apps are rendered into native looking components, ensuring that an iOS app will look like an iOS app and an Android app will look like an Android app. Another point for the pro column – React Native has a robust and active development community, with countless open source libraries available and well-maintained. Lastly, Facebook owns the framework and Facebook isn’t going anywhere.
On the flip side, cross-platform development is not always the right choice for apps that require a lot of animation or other performance-intensive tasks. One complication in using React Native is the need to maintain bridges between many native APIs and React Native’s JavaScript layer. While most apps could be developed entirely within React Native, there are some cases that require the maintenance of native modules as well, and debugging can become complex with the need to track code across multiple layers. While React Native’s foundation in web technology makes it very accessible to web developers, mastery of the platform still requires experience in native mobile development and testing as well as mobile user experience design. Appstem’s complete team of mobile product experts including web, iOS and Android engineers are perfectly suited to deliver a thoughtfully-designed and carefully-executed React Native mobile product.
Sometimes a hybrid approach may be the best strategy. Appstem’s team thoroughly weighs the pros and cons to see if React Native is the right solution for each individual project. Sometimes, native will be the best option, but not always. Currently, Appstem is working with several clients - including Cedars Sinai, DB Method and Bauer’s Intelligent Transportation - to determine which platform is the right choice for them.
“There’s no one-size-fits-all approach to our work,” Armstrong said. “We want to find the right platform for each project. We do that by customizing every plan to the client’s strategic goals.”
Think React Native is right for your project? Contact us to discuss the best strategic approach by emailing us at hello@appstem.com.