A couple of days ago we were discussing new apps to be built for an investment platform that our team is releasing in a week. It may seem surprising, but neither of our mobile devs (Android and iOS) has brought a plan to a table to create native apps for this case. Nor the product owner is eager to invest in native apps.
React Native, Xamarin forms, Ionic were among honorable mentions during that meeting. And it logically overlaps with our nearest goal to hire more React-skilled people. What’s going on?
Bad news: people don’t quite download apps
OK, they do. And tons of new apps are hitting the stores. Just in May 2016, 48,231 apps were released; it’s around 1600 per day! About half of them (20,958) are games that have this “come-and-go” nature. But it takes looking at statistics to notice that 65,5% of smartphone users in the US account for 0 downloaded apps per month, in that ballpark. And only 8,4% of people get up to one application per month. Not that impressive.
According to SurveyMonkey, the most downloaded apps are Messenger, Snapchat, Facebook, and Instagram. For the most used apps, Facebook, Youtube, Messenger, and Google Maps are leading the race.
It’s easy to deduce that Youtube and Google Maps aren’t downloaded but are rather shipped out-of-the-box for phones. And mostly people use the handful of top apps. So if you’re planning to build a business solely around a mass app and you aren’t a monster player or a unicorn, your chances to show up on a user’s radar are humble.
It seems that we’ll experience some tectonic shifts in the mobile market soon. It’s hard yet to predict what direction mobile development is going be drifting. Chat bots, progressive web apps, accelerated mobile pages? But the high threshold for user acquisition will definitely make stakeholders rethink their investments. The technology will be adjusting to it as well.
Good news: corporate sector needs apps, badly
While mass-consumer applications are abundant and generally unwanted, enterprise software lacks mobile engineers. The Gartner’s bold claim - that demand for enterprise apps will outstrip available development capacity five to one - highlights the emerging trend. CRM, ERP, HR, and corporate e-learning users want to expand their workspace with more devices. Laptops and desktops shouldn’t remain the only access points to operate such complex software.
At corporate training, for instance, two of the core reasons of going digital are time and place, merely being able to access learning materials anywhere and whenever. Mobile is the obvious best fit to address these needs and raise the value.
If the gap is as wide as Gartner says, here are the most likely moves for corporate app development:
- Building stable back-end infrastructures and APIs that let apps smoothly communicate with databases and logics of a platform
- Focusing on client-apps that cover a presentation layer retrieving and delivering data to back-end systems
- Turning away from traditional native mobile development and focusing on tools that accelerate apps engineering
A couple of years ago, native mobile development was the only way to deliver high-performance solutions that behave and feel organic to their platforms. At that time, cross-platform hybrid tools were in their infancy and the only reason to opt for them was an affordable price tag. Today, things are changing. Perhaps, corporate stakeholders that struggle for bringing their software to mobile are the first in the line to start cross-platform development.
React Native is cross-platform, but not quite hybrid
While the hybrid approach is articulated as “write once, run anywhere”, React Native adheres to the “learn once, write anywhere” philosophy, which yields the desired combination of fast development and native feel to apps.
Why React Native?
So here’s the list of major benefits of opting for React Native prior to “hybrids”.
It’s easy to maintain native look and feel. Hybrid applications are afflicted with the strange look and feel to user flow. The problems vary from lagging and delayed scrolling, to the lack of visual responses on tap spots. In order to avoid these issues, you have to implement native modules that would access platform controls. You can use the Ionic third-party library, which aids in implementing native modules, but they should be aligned with operating system upgrades. Otherwise, user experiences may become outdated in a while. React Native, on the other hand, supports access to native controls via its components, and many of them are cross-platform. This allows for tailoring an app to a specific platform keeping its look and feel.
Native modules available. The out-of-the-box modules in React Native are already numerous. But if something is missing, you may want to reuse native modules instead of rewriting them in JS. Or you may want to go with lower-level languages like Objective-C and Java. This will help to achieve high performance with multi-threading in such advanced operations as image-processing or communicating with complex databases. React Native allows you to build native modules and inject them without losing any capabilities of the platform.
The best fit for corporate software. If a web-development team is building a SaaS platform, involving mobile devs to top it with an app would be a management hurdle. A new team should be introduced to the product, its architecture, logics, and APIs. It takes reasonable time and cost. Instead, we can engage same developers to deliver an app with React Native and maintain constant workflow. For instance, most of the DDI Development engineers are familiar with JS. So the learning curve won’t be that steep.
React Native is a great new environment that manages to reconcile cross-platform mobile development and attention to platform specifics. For now, it seems that delivering mobile apps for corporate software is the best fit here. React Native is fast, pleasant to work with, and some great tools are already around. Deco IDE, for instance, approaches the techniques of rapid mobile app development (RMAD) in some of its aspects. So there’s much room for exploration and fun programming. We’ll keep expanding our React Native team both with current developers and new hires.