Write Once Run Anywhere (WORA) refers to a piece of code that’s written once on one platform but can run on multiple platforms. As variety of mobile platforms increase, developers are finding it harder to provide their app in consumable form as users may be on very different platforms.
For the purpose of conservation of effort and time, the goal here is to create multi-platform apps with code reuse. To help you work on cross-platform mobile application development, we will be looking at the 10 best cross-platform frameworks for developing mobile apps that work on multiple platforms including Android, iOS, Windows Phone, BlackBerry OS, etc.
- It lets you deploy a single code base to different platforms including iOS, Android, Windows Phone, BlackBerry, Firefox OS and more
- It follows a plugin-able architecture, which means that access to native device APIs and more can be extended in a modular way
- It enables you to make use of in-app, integrated payments via the App Store for iOS, the Google Play Store for Android and more
Cons: The performance is known to be a bit poor for graphic-intensive apps made using PhoneGap. Though you may easily find plugins for PhoneGap per requirements, they could be somewhat outdated or unsupported based on the target platform(s).
- It provides tools for rapid application development. A prototype can be built with lesser time and effort to evaluate user interaction with UI
- It consists of a schema-less data store called ArrowDB that lets you deploy data models with zero setup efforts
- It provides seamless integration to existing continuous delivery systems like SCM and MDM solutions
- It has pre-built connectors available for MS Azure, MS SQL, Salesforce, MongoDB, Box and various others
Cons: Appcelerator is known to be a bit buggy and laggy, though newer version are more stable. There are also user complaints of poor support from its developers community.
Xamarin helps you build native apps for multiple platforms using a shared C# code base. With Xamarin, you can do anything in C# that you can do in Objective-C, Swift or Java unlike what is commonly believed. It lets you use the same IDE, language and APIs everywhere. Moreover, Git integration is built directly into the Xamarin Studio.
- Its sample apps make it quick & easy to start things up; these apps are clearly written and can be used as reference as well
- About 75% of developed code can be shared across major mobile platforms using Xamarin, which heavily decreases costs and time-to-market
- It provides functionality testing and quality assurance for numerous devices to ensure seamless integration (and even offers its own Android emulator)
Cons: Using Xamarin, you still won’t be capable of using numerous open-source libraries for iOS and Android development because of compatibility issues. The free version is seriously limited for developing a substantial project.
4. Sencha Touch
Sencha Touch is a leading cross-platform mobile web app framework that can be used to build efficient applications making use of hardware acceleration techniques. On Sencha, top quality apps can be built with well-tested, tightly-integrated UI components and libraries. It’s even capable of building large business applications and maintaining them with ease.
- It offers built-in native-looking themes for every major platform
- It supports Android, iOS, BlackBerry, Windows Phone and more
- It packs in an agnostic backend data package for working with data sources
- It supports PhoneGap/Cordova integration for native API access and packaging
Cons: Though Sencha Touch offers native-looking themes, but the availability of themes is limited, of course. Moreover, its commercial licensing is difficult to understand.
Monocross is an open-source cross-platform mobile framework that lets you create beautiful applications for iPads and iPhones, Android smartphones and tablets, Windows Phone and Webkit-enabled devices. Monocross uses C#, Microsoft .NET and the Mono framework for developing multi-platform supported apps.
- It gives you access to the full power of the native device APIs while still coding in C#
- It gives access to several APIs you need to securely deploy your apps; there is no need to learn the low-level intricacies of every platform
- Using Monocross to develop apps requires only C# and .NET compatibility for the apps’ continual development and maintenance activities
Cons: Documentation, resources and support for Monocross available on the Internet is scarce making the work of developing apps using this framework harder than necessary.
6. Codename One
Codename One is a cross-device platform with goals of simple usability, rapid application development, deep integration with the native platform with possible native speeds. While you’re required to code in Java, your application can also be tested & verified with Codename One’s simulator devices and test automation tools.
- It supports most of the popular IDEs like NetBeans, Eclipse, IntelliJ IDEA, etc.
- Its ‘lightweight architecture’ allows the UI to work seamlessly across all platforms
- Its build servers allow building native iOS apps without a Mac machine and native Windows apps without a Windows PC
- It uses ParparVM which guarantees compatibility with future iOS versions because of its use of the officially supported iOS toolchain
Cons: Codename One’s default visual themes are a bit primitive and its Graphical UI Builder may not be very suitable for large projects. With growing project’s complexity, maintaining a single file with all event handlers becomes very cumbersome.
Kony Mobility Platform is an integrated, cross-platform mobile app development platform that can be used to build universal mobile applications. Kony Mobility Platform provides automatic coding features, app preview facility, API connections and many more features.
- It comes with various pre-built apps that act as a great starter for developers
- It offers unified mobile infrastructure services for supporting backend systems
Cons: The documentation and support available for Kony on the web is not very extensive, same as Monocross, when compared to that of various other platforms.
Convertigo is an open-source software vendor that provides a mobile enterprise application platform consisting these solutions: Convertigo Studio, Convertigo Server, Convertigo Cloud and Convertigo Mobilizer.
- It lets you create business-driven events computed to notify users, even if the device is in standby mode
- It allows connecting to enterprise data with a variety of connectors such as SQL databases or web services
- With its Fullsync data replication technology, data can be made available locally even if the network is not accessible
Cons: Convertigo has three different plans of which the free plan just has community support and doesn’t include its Fullsync offline data support.
- It has deeply embedded support for Angular.js 2 and TypeScript
- Its apps utilize native components and have direct access to the native APIs along with full access to the development libraries
- It has a cross-platform Declarative UI support, allowing you to make the app’s UI once and use it easily on other supported platforms
Cons: Multi-threading is a possible issue in Nativescript that may be improved in later releases. There is a lack of in-depth examples and documentation on each of its feature.
RhoMobile Suite is based on the Rhodes framework. It is a set of tools for developing data-centred, multi-platform, native mobile consumer and enterprise applications. Using RhoStudio, a free Eclipse plugin, developers can generate, develop, debug and test applications with no other hardware or emulator requirements.
- RhoElements offers Object Relational Mapper enabling automatic synchronization of the backend data and even features automatic data encryption
- To make offline data access available like Convertigo, RhoConnect allows developers to integrate offline data synchronisation into apps
Cons: Its RhoElements RFID plug-in for Windows Mobile/CE isn’t available as open source or freely available to all.