Opinion: Going native to go cross-platform
(Image Credit: iStockPhoto/Charles Schug)
We’d all love to be able to cut our workload by half, two-thirds or even more. The problem is, less effort often means a compromise on quality. For instance, developing applications for multiple platforms and devices using the same code across all environments often results in an app that is not optimised for the operating system, has less functionality, and delivers poorer performance.
Although the developer Holy Grail is to “write once, deploy anywhere,” the app wrap ― additional coding ― needed to develop native apps poses too great a challenge for there to be any silver bullet. However, there are new technologies, hybrid development tools and importantly, open source frameworks that certainly help relieve the development burden.
Learning a specific language for a platform, such as Objective-C for iOS or Java for Android, can add a significant time pressure to our workload. While many would consider themselves full-stack developers and count a number of native device languages in their portfolios, the truth is most are primarily fluent in Web languages.
In all, this strengthens the case for using Web languages to develop across platforms. Yet the “coding app wrap” that complicates native development still persists. Some hybrid development tools like Apache Cordova and PhoneGap already exist for cross-platform native development, and help developers to access native device functions such as cameras or accelerometers. While they are easy to use and highly productive, they don’t provide direct access to native APIs for building native experiences and integrating third-party controls.
Ultimately, such frameworks can ensure large chunks of code for apps are reusable across platforms without sacrificing functionality.
Other benefits are specific to each framework, but can include:
- Support for third party native libraries out of the box, meaning that the developer can add any native Java or Objective-C library into a project for added functionality.
- Ability to fork, view or contribute to code in the corresponding GitHub repository.
- Ability to declare app UI in simple, easy-to-read cross platform markup
- Rich data-binding from one-way or two-way binding to either a data module, property or function to deliver clean, data-driven applications
- Truly native output ensures that existing cross-platform tools can be used for testing
- Ability to take full advantage of the native accessibility features offered by the native platforms
While frameworks such as NativeScript aren’t a “write once, deploy everywhere” solution, they are a “learn once, write anywhere” solution which is the silver bullet that mobile developers have been looking for. Users ― whether they are consumers or employees of businesses ― expect quality.
If an app is sub-standard in functionality or looks, it is likely to receive poor adoption rates and be abandoned early on. In an age where the average person uses multiple devices and operating systems every day, multi-platform isn’t just an advantage, it’s an absolute necessity.
Do you use a framework for cross-platform development? Let us know in the comments.
- » Apple doubles use of Swift in iOS 13 as it shifts away from Objective-C
- » Beijing warns Apple to ‘think about the consequences’ after Hong Kong app controversy
- » Microsoft announces dual-screen Surface devices early to recruit Windows 10X devs
- » Apple is giving iOS apps which handle real cash in an HTML5 wrapper a bit longer to transition to native
- » App revenue is soaring with $21.9bn spent in Q3 alone, up 22.9% YoY