Some thoughts on choosing the right technology for mobile apps.

As a front end guy, mobile apps can seem pretty foreign. Even with some full stack and Linux experience, it is just a different world.

HTML5 and jQuery mobile promise to get you there, but even still you need PhoneGap or Cordova to finish you off there. Cordova is a great wrapper but doesnt provide true native control.

Java and C are not things I learned first, and Objective C and Swift are a little far away from my established comfort zone, given the C aspect.

Java for Android, I wonder if Kotlin is going to become a good option for me to step into Java sometime in the future.

Angular’s Ionic comes with good control over the UI, but also with all of the structural overhead of Angular.

Xamarin sounds like a really cool choice too, with full native control, but again that C element gets in the way for me, with C# not being in my knowledge base yet.

React Native components are written in javascript and compile out to native components, therefore allowing for full native control. So once you learn React, setting up ios and android views is not much more than using the proper components to build around your code. I wonder if a tool will come around one day, making it trivial to produce a react native app from a react web app. Additionally, React has React Router, and works great with Flux, Redux, Relay and Graph QL. I havent looked into it enough yet, but it seems that these technologies could spell the increasingly popular Apollo stack which utilizes GraphQL and Angular.
 The greater Javascript feel of React and emphasis on pure functions and component modularity as well as the Virtual DOM and the cool new ES2015 features that fit very well in the component-based structure makes React a familiar environment and, in my opinion, perfect for aspiring and established javascript developers.

React is my choice for my core app technology. What is yours?

Originally published at Andrew Ritter’s Website.

Like what you read? Give Andrew Ritter a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.