Android apps are all the rage now! Demand for Android apps isn’t going down anytime soon. Because of that demand every code enthusiast wants to develop an android app but how to get started? how are they developed? which language is used to develop? So many questions! Let’s start with a little intro and then dive into app development using web technologies

Native Android app development

Android apps are developed in Java programming language. Android studio is the official IDE for android which comes bundled with android SDK tools which are used to build the app.

So Java developers can get started quickly with android development but what about others who doesn’t know Java? Java definitely has a learning curve. Then came an idea of android development using web technologies – HTML, CSS & Javascript!

Hybrid app development

Apps developed with web technologies which can be built for different platforms like Android, IOS, Windows etc with one code base are called hybrid apps. But, why hybrid apps?

As per Stackoverflow’s developer survey 2015, Javascript is the most popular technology with 54% Javascript developers and Full-stack web developer is the occupation of most developers standing at 32%.

So developing android apps using HTML, CSS & JS is a good option as it is backed by a large community and easy learning curve. but it does come with some drawbacks, we’ll talk about that soon.

This post is a series of linked tutorials about all the tools available for android app development using web technologies. Let’s get started with basic info about those tools!

Apache Cordova wraps your HTML web page into a native container. It just places your web page into a webview in an android app or IOS app etc. In simple words, Hybrid app is nothing but a simplified browser which opens a web page in the form of an app!

It also provides access to device APIs for Camera, Vibrator, Geolocation, battery status etc. Link to Apache Cordova tutorial and other tools at the end of this post.

Tools built on top of Apache Cordova

Hybrid apps can be developed using Cordova alone. To make it more easy, many other tools have been built using Cordova, providing additional functionalities and optimizations. Few of them are as follows.

Adobe PhoneGap framework is an open source distribution of Cordova which provides additional features such as hot reload, remote build and desktop app which can be used to build apps without using command line.

Remote build feature enables you to build apps without having native SDKs installed in your PC. Although hybrid apps are developed using HTML, CSS and JS, Native SDKs are required to build the final target file like APK for android. So this feature would help you to build app on the cloud but comes at a price.

Ionic is the most popular framework for building hybrid apps now. It is built on top of Cordova plugin and AngularJS framework. Read AngularJS for complete beginners tutorial here

Ionic optimizes hybrid apps as much as possible, smoother than other hybrid app frameworks and use of AngularJS is an added advantage for faster development.

Onsen UI is similar to Ionic which is built on Cordova, supports AngularJS and provides predefined UI components which are optimized.

Hybrid app drawbacks

User Experience – Hybrid apps are not as smooth as Native apps, after all it is just a web view. Accessing all the native feature of a device in a hybrid app also has few problems.

In spite of few drawbacks, hybrid apps are way to go for small apps and reduce development costs!

Overcoming drawbacks

Tech keeps evolving! We have a problem? we solve it by developing something new! To overcome the drawbacks of hybrid apps, few master minds planned to develop a framework which would enable developing apps with Javascript but also use native views which would overcome performance issues. And that framework is React Native.

React Native

React native is a framework developed by Facebook which enables you to build native apps using Javascript and React framework.

React Native doesn’t compile Javascript to native code, It uses JavascriptCore in android devices to run Javascript code and creates a bridge between native views and JavascriptCore which enables building apps using Javascript with native views and performance.

React Native for Android was released in September 2015 and has already gained a lot of popularity. According to this post from facebook – Facebook ads manager official app is built using React Native which can be found here – Facebook ads manager android app

Note: Appcelerator’s Titanium SDK was released even before React Native which enables building native apps using Javascript but I have no experience with Titanium to talk about it. Share your experience with Titanium in comments below!

Tutorials :

Apache Cordova for beginners – In progress

Adobe PhoneGap for beginners – In progress

Ionic for beginners – In progress

OnsenUI for beginners – In progress

React Native for beginners – React native tutorial

Meanwhile, have a look at official sites of above frameworks and try them once and subscribe to our newsletter below to get notified when these tutorials are live!

If you have any questions or feedback, comment below!