Development teams are paired with content teams, and their combined efforts are then sent to renderers that would render correctly for each platform. “The Fuego platform that the team developed for TurboTax is now being adopted as a company-wide standard going forward. It has led to a 10x productivity improvement for developers,” Balazs said.
Node.js, React Native gain fans
Another option many are excited about is React Native. According to mobile developer Evan Rose, this hybrid mobile application framework built by Facebook has helped him build applications in nearly half the time it takes to build fully native codebases (with no app performance penalty).
Built on top of the same engine that React is, Rose predicts it will eventually be included as an additional import from React, while being easy to learn for developers familiar with React. “There’s a terrific community behind React Native developing highly useful packages like a camera plug-in, a slack-like drawer view and many other things you don’t get from React Native out of the box,” he said.
“You can check out some of the options at React.parts. These plug-ins are now really easy to link with your project by using rnpm [React Native Package Manager], which does all of the file imports and xCode linking.”
“Another great thing is the ability to seamlessly utilize native components and APIs. The React Native Bridge is extremely easy to use with minimal Objective C or Java knowledge. In some other hybrid frameworks like Ionic/Cordova, you run into issues with long lists or trying to display a lot of media. You get around that in React Native by using native components, which get much better performance. It’s not an app in a Web view; it’s an actual native application.”
Finally, React Native’s recently added Android support lets you reuse business logic and most of your UI code, Rose notes. “The team is working on creating abstracted components, which can be used in Android or iOS, but there are still some which only work on one platform (i.e. Navigator vs. NavigatorIOS),” he said. “From a UI perspective, Android apps often have different flows and paradigms, so the platform-specific components to match these paradigms makes sense.”
Native apps, or mobile applications that are built in the native language of a particular device’s operating system, continue to be the go-to solution for most app developers. In a June 2015 survey by Statista, 86% of end-users’ time spent on mobile devices was dedicated to native mobile apps. Native apps provide the most customizable, responsive end-user experience because they can tap into a mobile device’s “native” features.