Tuesday, 11 November 2014

Top 7 Hybrid Mobile App Frameworks

The time has never been better to learn mobile application development. For many app ideas, you don’t even need any prior native development knowledge. You can get started today with knowledge of HTML, CSS and JavaScript. Unlike native mobile development, mobile applications using web technologies can support many mobile platforms.

There are many tools and framework available to help you create Mobile applications. In this article, we’ll look at our top 7.

IONIC

IONIC is one of the most promising HTML 5 mobile application frameworks. Built using SASS, it provides many UI components to help develop rich and interactive apps. It uses the JavaScript MVVM framework, AngularJS to power apps. Two-way data binding, interaction with backend services and APIs makes AngularJS a mobile developer’s common choice. With the coming release of AngularJS 2.0, focused on mobile, it’s sure to gain even more popularity.

The team at IONIC will soon be introducing an easier way to create IONIC apps with IONIC creator. This will be released soon and will have drag and drop functionality to get started with app development in minutes.

We have published several articles on Ionic, including getting started with mobile app development and getting started with firefox os game development.

Mobile Angular UI

Mobile Angular UI is an HTML 5 framework which uses bootstrap 3 and AngularJS to create interactive mobile apps.

The main features of Mobile AngularUI include:

Bootstrap 3
AngularJS
Bootstrap 3 mobile components such as switches, overlays and sidebars which are missing in normal bootstrap.
AngularJS modules such as angular-route, angular-touch and angular-animate

Responsive media queries are stripped out of bootstrap as separate files, you only need to include what you need. Mobile Angular UI doesn’t have any jQuery dependencies, all you need are some AngularJS directives to create awesome mobile user experiences.

Take a look at the Mobile Angular UI demo page to see it in action. If you want to dig deeper, I would recommend reading our article on getting started with Mobile Angular UI.

Intel XDK

Intel XDK is a cross platform application tool developed by Intel. Getting started with Intel XDK is easy, all you need is to download their application which is free and available for Linux, Windows and Mac. It provides a number of templates to get started and supports a number of UI frameworks such as Twitter bootstrap, jQuery Mobile and Topcoat.

Intel XDK provides a live preview on the connected device whilst you are developing along side many other useful tools.

On a personal note, I think development using Intel XDK was the easiest. It uses a drag and drop approach, although it does create a lot of unnecessary code.

Our Introduction to Intel XDK is a great tutorial to get started developing with the platform.

Appcelerator Titanium

Appcelerator’s Titanium is an open source mobile application framework that provides an environment to create native apps for several mobile platforms

Titanium is a complete solution for creating hybrid mobile apps with all you need in one place. To get started with Titanium download Titanium studio. The Titanium SDK is equipped with a number of mobile platform APIs and Cloud service to use as an app backend. It comes with platform independent APIs which makes it easier to access phone hardware.

Titanium uses Alloy, a MVC framework to enable rapid development of mobile apps. Modules created using Alloy are easy to reuse across different apps, hence significantly reducing the development time and the lines of code.

Titanium studio comes with some code samples to get started and we hope to have a tutorial on SitePoint soon.

Sencha Touch

Sencha Touch is an HTML 5 mobile app framework for creating apps for several platforms including iOS, Android and Blackberry. It has been in existence for some years now and is popular among hybrid mobile application developers.

Sencha Touch scores highly against it’s competitors by providing a native look and feel across all of the platforms it supports.

Getting started with Sencha Touch isn’t that difficult but in order to get the best out of Sencha Touch, one needs to invest a considerable amount of time.

To get a feel of a Sencha Touch app, take a look at the samples provided on its official page. To get started developing using Sencha, read their official docs or our introductory tutorial from last year.

Kendo UI

Telerik’s Kendo UI is an HTML 5 framework for creating cross platform mobile applications. Kendo UI relies heavily on jQuery and has a number of jQuery based widgets.

Learning Kendo UI is not difficult, developers familiar with jQuery will find Kendo UI easy to learn. Kendo UI has open sourced most of Kendo UI’s toolset and JavaScript framework features. However most of the commonly used widgets are still under a commercial license.

To get started developing with Kendo UI, refer to the official documentation. They also have a number of video tutorials to help learn the framework.

PhoneGap

PhoneGap is the odd one out in this list as it’s not a framework for creating an app, but for packaging and releasing an app. PhoneGap is based on the open source Cordova and is the commercial version owned by Adobe. With a dedicated support team, PhoneGap is popular amongst many mobile developers.

You can use any choice of JavaScript or UI frameworks to get started with PhoneGap. jQuery Mobile alongside KnockOut.js or AngularJS is a nice combination. Once you are done with your code, PhoneGap takes it from there and wraps it based on the intended platform. Applications built using PhoneGap use a web view to render their content. PhoneGap has a minimal set of web APIs to access phone hardware features and it’s possible to write custom plugins to suit requirements.

Refer to the PhoneGap documentation to get started, or Building a currency converter using PhoneGap is a good starting point.

Bonus
app.js is a JavaScript library for creating mobile web apps. It’s lightweight and unlike other frameworks, doesn’t use AngularJS. It provides several custom themes and widgets. You can write the app using zepto or jQuery. A good starting point is An intro to App.js.

Conclusion
In this article, we discussed some of the best HTML 5 mobile app development frameworks. HTML 5 mobile development is evolving day by day and there are always new options emerging. What have been your favorite frameworks to use when developing a mobile app?

1 comment: