3 Trends Shaping Mobile Development in 2016
Last year saw the emergence of forces promising a tectonic shake-up of the mobile app development industry in 2016. Following are three trends mobile developers should keep an eye on as we progress in the new year.
New-Wave JavaScript
Part of the larger story of JavaScript evolving into a first-class programming language option far beyond its Web site scripting origins, this trend was exemplified by the emergence of React Native in the mobile realm. Facebook engineers took their React framework for building Web sites and applied it to creating fully native mobile apps for iOS and Android.
What sets React Native apart from a zillion other JavaScript frameworks/libraries is its unique approach to cross-platform app development, eschewing the classic "write once, run anywhere" approach in favor of a "learn once, write anywhere" paradigm. As explained by Facebook engineer Tom Occhino, company devs decided that "write once, run anywhere" just doesn't work, despite myriad attempts to realize the dream of using one codebase to target multiple OSes. No matter what, he said, the resulting apps derived from the traditional cross-platform approach never quite match the performance of "real" native apps developed specifically for one OS using requisite native languages and tools.
Occhino highlighted various attempts to duplicate native widgets as an example. "Native widgets are a black box," Occhino said during a conference keynote address in January when the company announced React Native. "We don't have access to the source code. We can't see what the parameters are." Developers just can't see the numbers, the specifications, the things that make widgets "feel like they feel," he said.
"And any time somebody tries to reimplement a native widget using HTML, CSS and JavaScript, it always feels like s__t," Occhino said. "You can get close ... you can kind of make something that's ... yeah, it's almost indistinguishable ... it's not even close!"
Instead, the Facebook way requires dev teams to learn React and then apply that approach to say, coding an iOS app in one separate project and then immediately creating a similar app for Android using the same technology, which the company claims will speed up development cycles.
The React approach itself is radically different from traditional coding methodologies, completely rejecting some time-honored coding conventions like the separation of concerns such as UI markup and logic. As noted on the official React for Web site, React uses its own JSX syntax extension for component-based coding in JavaScript, along with a "virtual DOM" that helps specify what parts of a UI need updating. This "diffing" approach is carried over to native development (without the DOM aspect) so just certain UI components are updated when their data-based "state" is changed.
While the React Native ecosystem is evolving and maturing, it still closely fits the original React philosophy of just supplying the view in the Model-View-Controller (MVC) approach. This year will see the fleshing out of ancillary components that make up a more complete dev system that provides back-end functionality such as working with databases. These include Relay, a JavaScript framework for creating data-driven React applications, and GraphQL, a query language for describing the data models used in client-server applications.
These maturations will position React Native for even greater use in 2016, building on the accolades the technology garnered in 2015. One of those came from influential Mozilla developer James Long. "This is solid engineering," said Long in detailing his first impressions of trying out an early version of React Native. "And it completely reinforces the fact that React.js is the right way to build apps. I can write a native app using the same techniques as I would write Web app."
And React Native isn't the only new-wave JavaScript approach we'll see in 2016, as other industry players including Telerik have come out with their own alternative techniques, such as Telerik's NativeScript.
Progressive Web
While the Web vs. native app pendulum has been swinging back and forth for some time, new developments in 2015 saw cutting-edge technology and techniques being brought to bear in the Web arena that might tilt developer mindshare away from the strictly native approach.
A prominent champion of many of these techniques and technologies is Google, which places them under the umbrella of the Progressive Web. "A Progressive Web App uses modern Web capabilities to deliver an app-like user experience," Google says on its Progressive Web explainer. "They evolve from pages in browser tabs to immersive, top-level apps, leveraging the Web's low friction."
Chrome developer Alex Russell expounded on the idea in a June blog post. He described the new class of Progressive Web apps as being responsive, able to fit any form factor; connectivity independent, being progressively enhanced with Service Workers to let them work offline; discoverable, being identifiable as "applications" via W3C Manifests and Service Workers; re-engageable through the use of push notifications; and installable as homescreen apps on a device. Other attributes included being able to support app-like interactions, being safe, being always fresh with updated information and being linkable or "zero-friction, zero-install, and easy to share."
An example of this new-age approach is the Web app developed by Indian e-commerce retailer Flipkart, which uses the Progressive Web techniques and technologies in a new Web app that handles problems such as lack of network connectivity.
Another company taking the progressive approach is longform journalism publisher The Atavist, which gave up on native mobile apps for its site in favor of a progressive approach.
As standards such as Service Workers mature and are adopted in greater numbers, 2016 will see a coalescing of the Progressive Web approach. At least Google is hoping so. "Progressive Web Apps are experiences that combine the best of the Web and the best of apps," Google said. "They are useful to users from the very first visit in a browser tab, no install required. As the user progressively builds a relationship with the app over time, it becomes more and more powerful. It loads quickly, even on flaky networks, sends relevant push notifications, has an icon on the homescreen and loads as top-level, full screen experience."
Citizen Developers
With the cursed shortage of skilled mobile dev talent persisting, more "citizen developer" initiatives took root in 2015 to feed the gaping maw of enterprise mobile app development. Whether they're called "low code" or "no code" approaches, or rapid application development (RAD), or "do it yourself" (DIY) or WYSIWYG or whatever, a plethora of tooling emerged last year to take mobile app development beyond the bailiwick of trained professional developers and put it into the hands of ordinary business users.
Typically such solutions rely on drag-and-drop functionality, project templates, WYSIWYG design, prebuilt components, automated services and more to place programming within the grasp of non-developers.
Although it has been discussed for years, the citizen developer movement evolved last year to the point that Intuit QuickBase published a study of the phenomenon, titled the "State of Citizen Development Report. It revealed "a new class of application developers" who weren't coding experts gaining more efficiency and speed, but rather less-skilled enterprise staffers teaming up with IT pros to crank out apps faster.
"There is a paradigm shift now occurring in modern application development from early adopters embracing low code platforms for Citizen Development," Intuit QuickBase said. "These organizations are driving digital transformation throughout their organizations by embracing no code Citizen Developers that help reduce the time to market for new applications and ongoing customizations, increase the ROI of app dev projects, and perhaps most importantly, drive operational efficiencies by solving challenging business problems in the last mile of the application."
The number of citizen developer offerings increased greatly last year with many improved and brand-new products hitting the market. Just some of those covered by ADTmag included:
- WaveMaker Inc. announced that its mobile rapid application development (MRAD) tool now lets developers create hybrid apps along with pure Web apps.
- Microsoft introduced PowerApps, the company's new low-code cross-platform mobile app development solution designed to let non-developers create enterprise apps.
- Kony Inc. and Exicon Ltd. announced a partnership to provide a simplified "plug-and-play" solution for enterprise mobile development efforts, where customer engagement counts more than the number of app downloads.
- Mendix said it addressed the thorny problem of handling offline functionality in mobile apps with the latest rendition of its RAD tool.
- Gupta Technologies announced its TD Mobile tool for simplified enterprise app development has added capabilities to create hybrid cross-platform mobile apps.
- Telerik announced the addition of low-code features to its mobile development platform to let non-programmers help satisfy the exploding demand for enterprise mobile apps.
- IBM entered the low code sweepstakes via a partnership with Ionic that combines the drag-and-drop design capabilities of Ionic Creator with IBM's MobileFirst Platform.
- RAD specialist Appery LLC announced it has integrated the Ionic SDK into its cross-platform development framework, targeting coders building hybrid mobile apps with Web technologies.
- Project Eve attempted to turn the whole citizen developer notion around, approaching programming from a new direction that emphasizes analyzing and communicating information rather than building applications.
In fact, the explosion of simplified tooling prompted research/review firm Clutch to publish a ranking of different solutions, with the top tools listed as Como, ShoutEm, Bizness Apps, Appsmakerstore, GoodBarber, Appy Pie, GameSalad, Snappii, Apptive, Yapp, AppInstitute and Verivo's AppStudio.
With the skills shortage showing no signs of letting up, these and other solutions will continue to evolve in 2016, letting more people in on the enterprise app "gold rush."
So whether you're a JavaScript jock, business analyst looking to do some coding or a Web developer looking for new opportunities, 2016 is promising to be a very interesting year.
What other trends do you see coming up this year in the mobile app development space? Comment here or drop me a line.
Posted by David Ramel on January 4, 2016