As much as we may cling to the Web on our PCs, apps are everything in mobile. Now consuming 90% of our mobile time, apps are everything on mobile devices.
Native apps, that is.
Ever since Mark Zuckerberg declared Facebook’s early investments in HTML5 instead of native app development his biggest mistake, the mobile Web has been in steady retreat.
Until now. Thanks, ironically enough, to Zuckerberg’s army of engineers at Facebook.
Let me explain.
Reacting To The Mobile Web
Just a year after Zuckerberg pronounced HTML5 dead, one of his engineers—Jordan Walke—was hatching ReactJS, a new approach to Web development.
Then, in 2015, ReactJS went mobile, and was dubbed React Native.
Web enthusiasts like Mozilla’s James Long declares that “React.js is the right way to build apps…. This works. It feels like I’m developing for the Web. But I’m writing a real native app, and you seriously can’t tell the difference.”
Which is fine, so far as it goes. What else is a Web-centric developer going to say?
When An iOS Developer Meets React Native
That’s why I found Marc Shilling’s “Ode to React Native Joy” so compelling. Shilling, who works for app development agency Chalk + Chisel is a hardcore iOS engineer and, seemingly, a very good one.
Forced into using React Native for a project, Shilling fought it:
Part of the impetus for trying out React Native was the need to have “a clear path going forward to make this app available for Android as well.” As much as Shilling likes iOS development, native Android development is “not great.” In theory, writing in React allows a developer to apply the same code base to two different platforms.
As it turns out, the theory works.
Despite some teething pains as he learned the React way, Shilling has shifted completely in his thinking around app development: “Fast-forward a couple of months, and I’m confident enough to say I may never write an iOS app in Objective-C or Swift again.”
Native No More?
And after using the Discovery VR app that he and his team built (it’s kind of awesome), you may never know whether you’re using a Web or native app again.
The distinction becomes meaningless in React Native.
There are still improvements to be made in React land. Better documentation and tooling, for example. But if Shilling’s experience is emblematic of what other developers can achieve, the meaning of “native app development” may completely change over the next few years.
Photo courtesy of Facebook