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.
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.
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.
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.
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.