It’s already a given that people tend to use mobile apps more and more each year. So it’s not surprising that mobile app development is as trendy a term as ever. With interest in the field constantly growing, a lot of larger development companies have opened dedicated mobile departments. At the same time, independent engineers and start-ups are constantly working to build the next big thing: be it stunning new business apps or games whose fame will one day rival that of Angry Birds.
The job of a mobile app creator can be made a whole lot easier if a mobile development framework is used. A framework can dramatically simplify both development and testing by providing ready-made components and templates, offering libraries for common tasks, promoting code reuse, and more.
However, there’s a slew of mobile development frameworks out there, so the choice is not always easy.
In this review, we intend to take a bit of a closer look at the most powerful and promising ones — to possibly help those sitting on the fence make an informed decision.
Also, there’s a little bonus at the end of the article, so keep your eyes peeled for it.
While relatively new, Ionic is arguably one of the most widely discussed mobile frameworks today.
It comes highly recommended by Hampton Catlin (creator of Sass) and the well-known developer evangelist Holly Schinsky (Adobe).
So how is the Ionic framework different? The idea behind it is similar to that of Twitter Bootstrap: Ionic allows mobile developers to start with a proven, well-tested, easily extensible foundation to build upon. In other words, Ionic strives to bridge the gap between HTML5 and hybrid app development.
Ionic places a lot of emphasis on performance and speed, trying hard to address a common worry about hybrid apps being a bit sluggish. The framework comes equipped with well-designed UI components and can optionally use Sass, another popular choice among developers today.
Ionic is forward-thinking: it is designed with modern devices in mind rather than the devices created years ago. The framework focuses on creating hybrid mobile apps, not mobile websites, and currently supports iOS and Android. Windows Phone and Firefox OS are on the developers’ to-do list.
Ionic relies on AngularJS for application scripting, so if you know Angular, you will probably fall in love with Ionic. If you don’t know Angular just yet, Ionic may be one of the best ways to get some Angular skills by building a simple project.
Another noteworthy thing about Ionic is the availability of complementary services. In June 2015 Ionic announced several cool services such as Ionic Push (easy-to-implement targeted push notifications sent automatically to qualifying users), Ionic Deploy (smart updates app store updates for changes that do not require binary modifications), and Ionic Analytics (real-time in-app analytics and trends).
As an added bonus, here’s a nice article by Airport Parking Shop where they relate their experience of creating an app with Ionic within 12 weeks.
Being an open-source distribution of Apache Cordova, PhoneGap is probably the best-known mobile development framework today.
It is a kind of a granddaddy of cross-platform mobile frameworks, so we just couldn’t pass it by.
PhoneGap supports a wide range of platforms, including iOS, Android, Windows Phone, Amazon Fire OS, BlackBerry 10, Tizen, Ubuntu Touch and others. (However, not all device features — like accelerometer, camera, compass, or geolocation — are equally well supported on every single platform.)
PhoneGap also comes with an accompanying cloud service aptly named PhoneGap Build. With it, you don’t need to install anything at all — you can simply upload your web assets and the service does all the compilation and packaging. PhoneGap Build comes with an API, which makes it easy to integrate with IDEs, build tools, shell scripts, etc.
Another interesting perk of using PhoneGap is the PhoneGap Developer App. It allows you to develop locally, and then instantly preview the changes on devices running iOS, Android or Windows Phone. PhoneGap’s official blog has literally every piece of information you may need on the app, but Holly Schinsky managed to add some valuable points at her blog as well.
PhoneGap is a great tool used and appreciated by many, however, some developers may find PhoneGap apps to not be quite up to par with native ones performance-wise.
First released in 2010, Sencha Touch is a mature framework, with support for a wide variety of platforms. These include iOS, Android, BlackBerry, Windows Phone, Kindle and Tizen.
Sencha comes with a large set of ready-to-use GUI widgets optimized for touch input. Among these, the more interesting ones include sliders, selectors, list controls, bottom toolbars, movable tabs, charts, grids, and some others. Controls are easily themed using Sass.
Sencha Touch also includes a range of built-in transition effects (such as slide-over, pop, flip, etc.), and has support for gestures like swiping and pinching.
To access native device APIs (compass, mic, GPS, camera, accelerometer and the like), Sencha Touch integrates with Cordova. Where possible, it can also rely on modern web standards (like HTML5 geolocation) to achieve the same purpose.
Mobile Angular UI is an up-and-coming HTML5-based framework, which combines the power of Bootstrap 3 and AngularJS to develop highly interactive mobile apps.
This one could arguably be the best mobile framework for those who already are very familiar with both Bootstrap and Angular.
Some of the framework’s distinctive features include:
Kendo UI is a mobile framework specifically designed for creating cutting-edge web apps.
Developed by Telerik (the maker of Kentico CMS), the framework is built on top of jQuery and currently supports a range of platforms including Windows, OS X, Android, iOS, BlackBerry, and Windows Phone.
Kendo UI features a variety of widgets and a rich data visualization framework. It relies on what Telerik describes as adaptive rendering to deliver a tailored user experience on each specific device. The goal here is to make sure your code will produce a UI that will be effectively identical to that of a native app — no matter the platform it runs on.
Kendo integrates well with Angular and Twitter Bootstrap, right out of the box. Developers can seamlessly access Kendo UI via AngularJS directives. Likewise, Kendo’s widgets play nicely with Bootstrap by following the selected Bootstrap CSS theme.
Interestingly enough, Kendo UI also comes with support for server-side programming. This is achieved via server-side wrappers for ASP, JSP and PHP that are capable of generating Kendo UI widgets.
Have you used a mobile development framework? If so, which one? Let us know in the comments below!
P.S. Oh yeah, and about the promised bonus: Here’s a big huge chart of mobile frameworks that we found interesting. This can come in handy in narrowing down the choices based on platforms supported, languages used, hardware features and more.