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.
Top Cross-Platform Desktop App Frameworks & Tools
Cross-platform software development is the need of the hour because of increasing demand for cost-efficient and short-timeline software... Read more
Open source PhoneGap is a great option for building cross-platform mobile apps leveraging on existing web technologies. PhoneGap is best suited for mobile applications that don’t make substantial use of the phone’s native features.
- 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
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
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)
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.
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
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.
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
Convertigo has three different plans of which the free plan just has community support and doesn’t include its Fullsync offline data support.
You can easily reuse existing plugins from npm directly in NativeScript projects, making it easier to extend the features of your applications.
- 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
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.