When it comes to cross-platform mobile development tools, we receive a lot of questions – not just from customers, but from other designers. Which platform and/or frameworks do you use and why? How about Appcelerator? What are the pros and cons of Flutter and Xamarin?
The answer, as always, is “it depends.” Each tool has a purpose. Each will be better at some things than others. It is more useful to explore how we go about evaluating and making decisions about what tools to use, by using the same top-level criteria:
- Versatility – Can it support everything we might need? Where we are constantly developing all kinds of apps, we expect a universal tool that may require more knowledge and experience to use. But if you are looking to develop just a few mobile apps or your team doesn’t have a lot of experience, you may look for platforms to make them easier to develop.
- Community – Open source tools plus a large developer community is a major force-multiplier. Not just in the sheer amount of resources available, but actual support. Often, the developer community ends up being more helpful than the official source for faster, more in-depth answers.
- Paywall – The overhead per developer can get pricey, especially when there are tools able to do the same thing available for free. In some cases, they might make aspects of development easier, but they also lock the owner of the app into relying upon a smaller pool of developers for the app’s continued development.
Comparing Cross-Platform Mobile Development Tools
These three points are our primary considerations for being constantly engaged in a wide variety of mobile and IoT applications. Specifically, we really like what we’re seeing with Flutter and Dart. We’ve relied upon Xamarin usually with Azure for cross-development purposes over a longer period of time, though. While we’ve examined Appcelerator, Alpha Anywhere, Kony and Sencha, we don’t regularly use them but think they could be useful for some of the developers we talk with.
1. Flutter
Most of our developers have taken quite a liking to Flutter, as have nearly 45,000 other developers on Github. Flutter is comparatively new but Google’s backing lends it considerable credit. Initially released in May of 2017, the first “stable” version of the framework debuted on December 4th, 2018. Flutter uses the Dart language, enabling developers who use JavaScript, Kotlin, Swift, and others to begin immediately.
Pros:
- Flutter is backed by Google, something which has accelerated its adoption among popular cross-platform mobile development tools.
- It is a free and open source platform for creating native apps on Android and iOS.
- The platform’s hot reload feature allows developers to speedily and effortlessly run tests, create UIs, add functionalities, and fix bugs.
- Flutter has comprehensive online documentation as well as other helpful resources to assist developers quickly start building native apps using a single codebase.
- The platform is based on Dart, which is an ahead-of-time (AOT) compiled programming language that optimizes the interaction between an app and the native platform, resulting in enhanced performance.
- It comes with its own unique widgets without depending on platform-specific UI components.
Cons:
- Flutter as a young technology that still has a relatively small (but rapidly growing) community, compared to more mature platforms like Xamarin.
- It has limited third-party support. Flutter still has a long way to go to build a rich collection of external tools and packages.
- There is no bridge connecting a Flutter app and its native device. Furthermore, each component of the user interface (UI) directly belongs to the application. Flutter apps tend to be very large but their UI is separated from the platform, which can actually be seen as a big plus.
2. Microsoft’s Xamarin
Often used in conjunction with Microsoft’s Azure cloud services, Xamarin works on a .NET tech stack using a C#-shared codebase to write and share code across multiple platforms. It can be used for native, Android, iOS and Windows apps using Microsoft Visual Studio (for Windows) or Xamarin Studio (with Macs). Xamarin Functions tend to make it easier than its competitors to connect apps with other apps – like Office 365 or SalesForce. This gives extra clout to developers who claim that Azure and Xamarin can do just about anything.
Pros:
- Xamarin provides a single platform for building native Android, iOS, and Windows apps using shared .NET resources.
- There is a subscription-based learning platform called Xamarin University. It provides tutorials and other helpful resources to assist developers in improving their cross-platform mobile development skills.
- Some of Xamarin’s features are open source, which allows contributors to enhance their functionalities.
- It comes with standard, native user interface controls, allowing developers to build apps that meet the end user’s aesthetic and behavioral expectations.
- Xamarin enables developers to access the native APIs exposed by the underlying mobile platform, such as Apple’s ARKit for creating augmented reality experiences.
- It delivers native level performance by utilizing platform-focused hardware acceleration capabilities. This cannot be realized with a tool that interprets code during runtime.
Cons:
- Xamarin’s community is comparatively smaller than that of Android or iOS native development.
- The extensive referencing between Xamarin’s .NET frameworks and the targeted operating system increases operational software overhead, resulting in protracted app download and start-up times.
- Xamarin’s core UI development functionality is not completely portable across multiple mobile platforms, because of the platform-specific techniques for laying out visual screens. As a result, UI development for Xamarin apps can be time-consuming.
3. Appcelerator’s Titanium
Founded by Jeff Haynie and Nolan Wright in 2006, Appcelerator had nearly 500,000 developer registrations by 2014. Axway Software acquired Appcelerator in January of 2016. While offering a limited free service, full functionality remains available starting at $99 per month per developer.
Pros:
- It uses the popular JavaScript programming language for cross-platform mobile development. This makes it easy for developers to quickly start building apps on the platform.
- Appcelerator allows developers to integrate real-time mobile analytics into each native app. This makes it easy to get instant visibility into the performance of an iOS, Android, or Windows app.
- The platform has several pre-built extensions and mobile APIs that allow developers to extend the capabilities of their applications with ease.
- It has a complete mobile test automation tool for verifying the functionalities of apps.
- Appcelerator provides an extensive range of deployment options and also supports apps created outside the platform. This allows developers to make the most of their previous investments.
- It provides a virtual private cloud solution for enterprise clients, which is beneficial when handling sensitive information.
Cons:
- Since user interface design requirements differ on every platform, developers are forced to write more code to fit into the platform-specific standards.
- The free version of the platform has limited features. Accessing advanced features requires a paid plan which may be costly for some indie developers.
- Appcelerator has a less vibrant community.
4. Kony
Established in 2007, Kony and Appcelerator are frequently compared against each other. You can find a wide range of comparisons with Kony that you might find helpful – and possibly broaden your search for mobile app development platforms. There’s a general indication that they’re priced too high, but that’s not uncommon with platforms offering low-code solutions.
Pros:
- Kony offers a wide collection of tools and resources to assist developers in optimizing their cross-platform mobile development.
- Kony uses the popular JavaScript programming language, which enhances its adoption among developers.
- With the low-code Kony Visualizer development platform solution, developers can create powerful apps across multiple channels—including the web. The Visualizer is an easy to use drag-and-drop tool for speeding app development.
- Beyond the front-end, the platform also offers the Kony Fabric solution to allow developers to create cross-platform mobile backend apps quickly with lower production time.
- The platform also comes with several useful features such as analytics, API integration, and end-to-end security.
Cons:
- Kony does not have a large community, as compared to other established platforms like Xamarin
- Kony’s low-code development platform is suitable for building basic apps. Creating complex apps may require developers to spend more time in actual coding.
- Kony has insufficient documentation, which makes it difficult for beginners to start using it.
5. Alpha Anywhere
With a community of 17,000 users, Alpha Anywhere offers a “Special Starter Package” with “ Everything You Need to Get Started!” for just… $4,995 per year that will let you create an unlimited number of applications. For some companies, this platform’s low-to-no-code environment could be worth it.
Pros:
- It’s suited for building cross-platform mobile or web enterprise apps quickly.
- It provides a low-code environment that allows developers to build apps visually while the underlying system writes the code. This results in relatively shorter development times than traditional coding.
- The platform combines all the necessary front-end and back-end app development features. Therefore, you’ll not need to look elsewhere when creating apps.
- It comes with tools for adding mapping, GPS, GIS, analytics, charting, and other amazing capabilities into an application.
- Alpha Anywhere supports the building of offline mobile apps.
Cons:
- Alpha Anywhere’s high pricing plans may make it out of reach for indie developers with low budgets.
- The platform’s built-in mobile templates should be improved to increase their usage among modern users.
- Although using Alpha to create an app without writing any lines of code is possible, it would be very basic. Building something unique and complex requires getting your hands dirty with developing actual code.
6. Sencha
Sencha Touch focuses on HTML5-based mobile apps that can run on Android, iOS, Windows and other mobile devices. This is another platform that tries to make it easy for web developers, in this case, to make native-looking apps without a lot of experience. It, too, carries a pretty hefty price-tag despite a narrower range of applications.
Pros:
- The platform has a variety of tools for creating resourceful apps for any modern device—smartphone, tablet, or desktop.
- Its flagship product, EXT JS, allows developers to build data-intensive, JavaScript-based HTML5 cross-platform web apps. With HTML5, apps built on the platform can run on both browsers and mobile devices.
- With Sencha Touch, developers can utilize hardware acceleration functionalities to create powerful UI components for mobile touch-based devices.
- Sencha has a rich set of pre-integrated and high-performing user interface (UI) components such as a calendar for event management, pivot grid for data analytics, and D3 adapter for data visualization.
- Sencha has an expert support team and also offers comprehensive on-site and virtual education classes.
Cons:
- Sencha is priced relatively high, something that makes it suitable only for enterprise clients. For example, the EXT JS Pro package is priced at $6,280 per year for up to five developers.
- The platform has limited built-in templates for cross-platform mobile development.
- Sencha does not have a large community, especially among indie app developers.
Mobile App Development Options
Creating a mobile app is a business decision that involves competing against millions of other apps for a place on people’s smartphones. Before deciding on a cross-platform approach, make sure to check out our cross-platform pros and cons. The only clear-cut case where you MUST engage cross-platform mobile development tools is when your app has to be compatible with legacy devices and others outside mainstream use.
Many hope that cross-platform development will create a single code-base that works with everything, saving time or money compared to developing a native app for iOS and Android. That’s not necessarily true. In particular, the debugging of cross-platform apps typically takes three times longer than a single native app.
Some app development platforms try to make the case that you can create a great mobile app without knowing a lot of code. That could be a good option if you’re looking to make a fairly simple app. Even with these platforms, you will need to pay for your developers and the monthly platform costs.
Reinvently was recognized recently as a top developer by Clutch and Business of Apps for, “expertise ranging from iOS & Android app development, Machine Learning, AI, Wearables to software quality assurance (including mobile user interface testing).” If you are looking to develop a cross-platform application or would like to explore your options – tell us about the app you are looking to make.
Leave a Reply