Maintaining the stability of platform-specific apps is hard and expensive work if each of its distribution needs dedicated native coding for each host OS. Luckily, the open-source revolution of the last 10-15 years has brought forth a new generation of hybrid mobile app frameworks that are capable with varying amounts of effort and expenses of generating native apps for many platforms from a single codebase.
Each hybrid app framework or library has its own set of limitations and capabilities, and for sure each offers an elastic definition of ‘free’.
Here, we will take a look at five such contenders for mobile app development. Our selection includes offerings backed by some of the biggest tech names in the world, as well as insurgent frameworks looking to move up into that category in the future.
Ionic App Development Framework
Ionic is an open-source development framework for the creation of responsive cross-platform apps for iOS and Android and Windows operating systems. The framework was released in 2015 after two years of beta and alpha trials.
Ionic uses Apache Cordova to generate native app releases for the platforms that it supports. The project later decoupled its initial dependence on Angular JS and Apache Cordova to allow users a wider range of interface frameworks, with official support for Angular, Vue.js and React.
As with most related offerings, Ionic builds are powered by platform-agnostic web technologies including HTML5, CSS, and Sass. The framework produces highly performing and scalable output. The wide range of supported platforms enabled Progressive Web Apps to promise a growing place for Ionic as a central content framework with a truly platform-agnostic approach.
Initially released on a completely free and open-source basis, ionic has since added the Enterprise Edition that offers priority hotfixes, a next-day SLA response, long-term version support, version migration support and advice, and training products. No public pricing is available for this tier.
Ionic is suitable for SME development teams that are free to start a project with the technologies of their choice. Larger companies might benefit more from frameworks and libraries that have stronger associations with enterprise-level business software suites, such as Xamarin’s integration into Microsoft’s Visual Studio.
- Powerful animation options and tooling
- Good documentation, a helpful and populous community forum, and a wide range of other online resources facilitated by a large user base.
- Easy and Effective scalability.
- UI can be difficult to navigate.
- Overall performance lags against competitors.
- Framework overhead man’s app distributions may not run at native speeds.
JQuery Mobile App Development
JQuery Mobile prioritizes the widest possible spectrum of compatibility over competing factors such as platform styling and native-level app performance. It’s arguably the Rosetta stone of hybrid app frameworks, providing the most comprehensive browser and platform support across the current 1.3 and 1.4 iterations of the JQuery codebase.
The price for this level of reach and adaptability is that deployments based around JQuery Mobile tend to be visually and functionally more generic than the output from competing frameworks.
Aware of this shortfall, JQuery Mobile has provided the ThemeRoller tool where theme-specific styling can be applied. However, several of the rival frameworks offer more intrinsic and graceful methods for integrating into the host environment.
Some rival libraries and frameworks are able to access lower-level instructions sets in the mobile devices with less dependence on optimizers, interpreters, or transpiring.
- The widest developer base of any similar platform.
- The widest range of possible output platforms.
- Very low entry costs- particularly appealing to inward-facing corporate platforms.
- No dedicated MVC support.
- A declining technology with a mission long-since accomplished, struggling to attract new internal development talent.
- Inferior runtime speed compared to ‘native’ code execution.
- Limited abilities to adapt to host themes and styling.
Launched in 2011, Xamarin is the development and extension of Mono, a project that ported cross-platform, open-source versions of the key Microsoft technologies. After some years of cross-fertilization and acquisition across a dizzying range of associated projects, Xamarin was finally purchased outright by Microsoft in 2016 and ultimately bundled into its Visual Studio and Net core offerings.
Xamarin enables the development and distribution of Android, iOS, and Windows app via C# and XAML in a .NET environment, and offers extensive codebase sharing between platforms. Cross-platforms code in a Xamarin project can range from 35% to as high as 90%, depending on requirements and the extent to which a development team is willing to prioritize this aspect.
Official guides for leveraging platform capabilities are available for iOS, Android, and Windows. Developers can also build their own custom access channels to platform-specific functionality.
Xamarin capabilities are now native to Microsoft Visual Studio, which accompanied its 2019 update with the launch of Visual Studio 2019 for the Mac OSX platform. Android developers are catered for via the Xamarin. Android extension for Visual Studio on both Windows and OSX.
Nonetheless, for companies already accustomed to a .NET/Visual Studio workflow, a Xamarin-based approach to hybrid app frameworks is an obvious choice. For others, a new and notable burden of commitment could offset many of the advantages of Xamarin.
- Huge commercial investment and long-term backing by Microsoft.
- Coding is the most popular environment for developers.
- High level of reusable code across host environments.
- Expensive, if you want the enterprise-level debugging and profiling tools.
- Larger file sizes for forms-based distributed apps.
- Xamarin code cannot be ported to HTML5 or native apps.
React Native Development
The decoupled architecture of React Native tends to reduce framework lag considerably, and React Native apps compare favourably to those written in lower-level languages such as Swift. However, it’s necessary to pay attention to optimization bottlenecks such as unnecessary re-renders in order to achieve the advertised 60 FPS from your React Native app.
- Near –native performance possible in distributed apps.
- Easy to maintain after the initial set-up.
- The backing of an Uber-rich tech giant that’s committed to the project.
- The primary technology stack takes a lot of setting up.
- The currently permissive license has changed before, and it could change again.
- The development cycle is likely to be longer than many competing frameworks.
Onsen UI Development
First released in 2014, Onsen UI open-source hybrid app development framework that distinguishes itself with a relatively shallow learning curve, the ability to deploy effectively to desktop as well as mobile environments, and by offering workflows based on existing frameworks- such as Angular and React– whilst remaining untethered to any particularly libraries.
Onsen UI’s system of directive-driven CSS and web components includes support for desktop apps via Electron or NW.js. This enables the framework to easily output desktop apps or store bound mobile apps from the same codebase, with manageable file sizes, fast operation and great fidelity to the host environment.
Currently supported output platforms include iOS9+, Android 4.4.4+, the latest Safari OSX desktop browser, and the latest Chrome browser. From v2.7.0k, Onsen has provided custom fixes for certain visual compatibility issues with iPhone X.
- Framework-agnostic, highly portable approach.
- Fast, native-looking apps.
- Good initial documentation.
- Limited online community.
- A lot more expensive to run effectively than its superficial publicity suggests.
Only project-specific requisites such as scope, scalability, fidelity, and developer and infrastructure cost can narrow down the choice of a hybrid app framework or library. Nonetheless, we can glean some guidelines from our examination of these five products.