So what’s the best Mobile App Development Platform (MADP) out there for your mobile app project? The best fit for your project will depend on exactly what you want to achieve. Fashions come and go. Developers like different tools and have their favorite programming languages.
We have found over the years it’s best to mix and match your App Delivery Technology Stack & Toolsets. Pick the best push notification service, the best prototyping tool, the best testing tool, the best mBaaS and the best mobile app development tool. Better this than go for what may seem the easy one-stop-shop. What you gain from an all-in-one tool-set you inevitably lose in lack of flexibility to swap out a tool that falls out of favor. Also we find that those with a complete eco-system of tools have often been assembled through acquisition. As such integration can be as thin as a brand veneer, so clunky and don’t play that nicely together.
What are the best Mobile App Development Platforms?
Let’s start with a very brief summary of what we are talking about here in terms of types of mobile app development tools and what they do. They are generally based on three different technologies.
Native mobile app development platforms
Such as Apple’s iOS, Android etc. the big advantage is that you get the full rich in app experience, the downside is that you only get coverage of one operating system, you need a deep understanding of the platform you are building the app against and it’s costly to develop separate apps for each native platform. But for high end mobile apps, often native is the way to go.
AngularJS or React JS are examples here. Lets you develop a browser based web application for various mobile operating system and devices. Web toolkits are of course multi-platform and the advantage is cost. Skill sets are more commonly available, and cross platform means the application will run on any mobile platform. The downside is performance and richness of the UI as it can’t use the full feature set of the phone and usually won’t work offline.
Specialist mobile app development platform
For example Xamarin, DSI and Appcelerator. This can give you the best of both worlds, with some limitations of course. But generally help you build an app that covers a broader range of platforms at lower cost (and faster).
We are going to skip over the Native toolkits and focus on the growing number of Web and specialist platforms.
Generally they are a mix of:
Wrapper tools, that let you use web applications like native applications. Example being Adobe PhoneGap. This hybrid approach extends the power of the app beyond what’s possible from the browser, lets you access some of the phone functionality and run the app offline.
Mobile middleware, lets native or hybrid applications access existing enterprise applications (so offer a subset/duplication of features you get from mobile backend as a service mBaaS). Some also give useful application management capability.
App Generators, which as the name suggests makes it easier to create hybrid, native and web applications simultaneously. Yoeman do this kind of thing.
Here’s what we see as the main players in the specialist and web based mobile app development platform tools.
Adobe’s Mobile App Development Platform
Adobe Edge Animate , Adobe PhoneGap and Adobe Air are their main mobile app toolsets. Adobe Edge Animate is more rooted in hybrid HTML5 providing cascading style sheets (CSS) and responsive design, mobile optimised websites. PhoneGap and its open-source cousin Apache Cordova are hybrid wrapper tools. Adobe Air lets you use Flash ActionScript or C++ and deploy into native apps for iOS, Android.
So Adobe generally wins where cross platform reach is more important than the deep rich functionality you get from native apps and where you are looking to use web or ActionScript/Flash development skills with mobile and desktop platforms. PhoneGap and Apache Cordova also have a decent ecosystem of plugins that are worth looking at.
But its not the perfect solution, Wrapper tools never are if you need high performance. In some cases there no substitute for Native Development. Also, and this is a general issue with MADP tools, code reuse is rarely as high as they claim. 60-70% seems to be typical. I’ve seen claims in the high 90%’s which seems unrealistic.
Appcelerator’s Mobile App Development Platform
Kony’s Mobile App Development Platform
The range has expended in recent years through acquisitions (so some caution needed around how well they are integrated). That said it has pretty decent integration methods for SAP, Seibel, Oracle, JD Edwards and PeopleSoft, so ideal for enterprise apps that need to access existing systems.
The platform seems pretty easy to use, but has a much smaller footprint currently in the developer community than Appcelerator or Xamarin. So finding skilled workers with experience of KonyOne could be a challenge.
Sencha’s Mobile App Development Platform
Sencha could be described as web-centric rather than pure-play mobile centric MADP. Big fans of HTML5 they offer a pretty broad mix of open-source and paid-for tools for HTML5 development. Sencha Architect, their licensed tool lets you design, develop and deploy mobile and browser based applications from one code base, so if you are looking for browser/app cross platform they are a decent option. Sencha’s mobile packager lets you wrap the HTML5 into native feel containers.
Xamarin’s Mobile App Development Platform
Xamarin is a C# cross platform IDE that includes Xamarin Visual Studios, Xamarin Component Store and Xamarin Test Cloud. Its approach gives developers access to a completely native UI that gives deeper access to the native capabilities of each mobile device, giving arguably the closest “native-feel” of any of the Cross-Platform Wrapper tools.
The downside is it can take longer to ship as the developer needs to code against (and have knowledge of) each platform it’s being developed for, albeit using the same backend code. With C# and .Net coverage, Xamarin seem to offer the best option if you are looking to ship apps for iOS, Windows Mobile and Android.
Check out our Integration guide.
Conclusions – whats the best mobile app development platform?
As we said, the right tool depends on what you need –
• How important it is to get access to deep device level functionality
• How broad your platform coverage needs to be