Open development for mobile: ¿Is Android SDK the only option?

This is a traslated version of an article written in Spanish.

The computing trend which will define the next years is the massification of the use of mobile devices: not only for geeks, but our parents, brothers and non-technical people. In this way, if we decided to build our first mobile application the first thing to do is choose a platform and a set of tools which help us to develop our application. Although the platform apparently condition the tools to use, there is multiple ways we explore in this article.

Native development and  Android SDK

The obvious answer when we think about development of mobile application is the native development: pointing to build an application exclusively for an operating system. In the case of programmers with preference for Open Source technologies, the obvious option will be to create an application for Android, and that guide us to Android SDK.

Android SDK is composed by a set of libraries and development tools: debugging, testing, documentation, system images, emulators, source code, Google APIs and other utilities. You can get every module of the SDK one by one or together in a pack: the ADT Bundle, that includes Eclipse IDE and a ADT plugin as integrated development environment. A good starting point is https://developer.android.com/sdk/index.html.

Aplicación Descubre PUCP

IMAGE: App ‘Descubre PUCP’. It was a Peruvian application with features of augmented reality for the visitors of the Campus PUCP (a university in Lima, Peru). Source: Google Play.

Multi-platform development: the bet of PhoneGap

But, ¿why limit us to build just for Android when is possible to reach to more users? At last, Android is not the only mobile platform today. It’s here where come up the multiplatform mobile development: build an application once, generate apps for many platforms. There are some tools that help us in this direction, the most popular is PhoneGap.

The outset is very simple: you build a mobile web application using HTML, CSS and JavaScript. Then, with PhoneGap and the SDK of every target platform you can create applications for specific platforms. In case you require access to native components in a device, PhoneGap provides a JavaScript API that you can interact with components like camera, accelerometer, GPS, etc.

Something you need to know is that PhoneGap now is a ‘distribution’ of Apache Cordova. This project incubated in Apache Foundation came up from the base code of PhoneGap, free of ambigue de ambiguities of trademarks. Nowadays there is no difference between  PhoneGap y Cordova, but if in any moment Adobe (the owner of PhoneGap) decides to include proprietary extensions, the base in Cordova will be still open.

IMAGE: UPC, app for students of the Universidad Peruana de Ciencias Aplicadas (a Peruvian university).  The app is available in four mobile platforms. Source: Google Play.

Not all is white and black: a third alternative

These two options, the native development and the multiplatform development have the objective of create applications for specific platformss: Android, iOS, or whatever you want. But there is a third way: the web development of always, just updated for smartphones and tablets.

¿Why we would consider to build web applications? There is many reasons: the users of mobile operating systems are used to surt the Internet with their browsers (specially the users of iOS), the web developers will use technologies that they already know and the current browsers include by default in mobile operating systems have good support of modern web technologies. About the last point you could know more at http://mobilehtml5.org/.

¿How you could start in the mobile web development? Even though you can use classic libraries for web interfaces like jQuery and Dojo, a more specific tool (and also useful) is jQuery Mobile. It is designed to bring a closer user experience in many mobile devices and allows the developer to accelerate the development of interfaces, focusing the efforts in the application’s logic.

IMAGE: Británico Web Móvil, site of a Peruvian institute specialized in the teaching of English as a second language. The website was built with jQuery Mobile. Source: Screenshot in Firefox Aurora.

In conclusion, there is at least three ways of building a mobile app: native development, multiplatform development and mobile web development. Personally, I will choose a mobile web application, but even if you want to build an app for Android, you can choose an intermediate point: a mobile web app, built rapidly with jQuery Mobile and packed with PhoneGap.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: