Another way of going hybrid is to use a framework shell that may be tailored to each device. Through the use of a common language such as JavaScript, C# or others to communicate with this shell, we can seek a solution to the idea of write once, use everywhere. The hybrid app world continues to be where mobile app development is headed at the moment. A solid number of frameworks, open-source toolsets and platforms are gaining sizable user bases to create mobile apps.

Apache Cordova: Introduced in 2012, Apache Cordova (formerly PhoneGap) is an open-source framework that provides a mobile development framework using HTML5, CSS and JavaScript. Cordova allows for cross-platform development without regards to each platform’s native language. Custom applications execute with a wrapper, provided by Cordova, tailored to each device. Using API bindings, the wrapper can communicate with a device’s features while the apps then communicate with the wrapper.

Ionic: Ionic is an open-source framework built on top of Cordova that uses AngularJS to provide a native look and feel for apps. These apps use Web technologies such as HTML/CSS/JavaScript while also being cross-device ready and available in an app store.

Xamarin: Xamarin, created in 2011 and recently purchased by Microsoft, provides a platform to build and design native mobile apps for different device types with ease while only having to maintain one codebase. Xamarin uses C# as the common language, thus it is great for .NET developers, yet can then be used to publish native apps for iOS, Android and Windows. Write once, use anywhere for sure, when Xamarin also allows for a WebView that can then be combined with PWAs to leverage their appeal as well.

React Native: React Native, an open-source project maintained by Facebook, is similar to Xamarin in that it provides a platform to build cross-device applications with one toolset. Based on JavaScript and React, React Native is used to create a truly native app (it’s not just JavaScript/HTML running in a WebView). “React Native helps developers reuse code across the Web and on mobile. Engineers won’t have to build the same app for iOS and for Android from scratch, reusing the code across each operating system,” wrote Margi Murphy for Techworld.

Trigger.io: Trigger.io is a platform like Cordova and Xamarin that provides cross-device development for iOS and Android. The primary cross-platform language in this case is JavaScript, but Trigger.io offers a more feature-rich API (including UI modules) than many of their competitors.

Pros: Hybrid apps allow for rapid development, while still encasing desired functionality and design. Hybrid apps can access native features because they are hosted within a native app. While the base of the Hybrid app is native, the content is built from coding used for the Web, thus most changes won’t have to go through the app store, saving both time and money.

Cons: Hybrid apps are still not as tailored as native apps. They will always lose to native apps in terms of speed and responsiveness. While Hybrid apps do offer a native feel, they are never truly native. Like native apps they must be downloaded to your device, sometimes an unappealing feature that pushes others to go the more progressive route. In addition, WebView requires Internet access unless you are using HTML5/service worker/caching.