Sunday, February 3, 2008

Android: An introduction

Android is a mobile operating system developed by a consortium called Open Mobile alliance lead by Google. The main difference between languages like J2ME and Android is, Android is not a language, its a OS and its linux based. In Android, there is no difference between any native programs of the OS and any programs that you develop, that means you can even change the way your mobile phone handles the camera or shows display.

I will quote some text from the core android website to show what are the things that android comprises of:
  • System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
  • Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
  • Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
  • LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
  • SGL - the underlying 2D graphics engine
  • 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
  • FreeType - bitmap and vector font rendering
  • SQLite - a powerful and lightweight relational database engine available to all applications

But the main programming language that we use to develop android is Java. I would recommend to master java to a certain extent before coming to android because almost all of the tutorials and documentation of android assumes that you are good at java and they will talk to you like you know java.

There are still no phone sets that support android, but still you can feel the tension in the market for android. Why, is it only because of the notion that Google brings to each and every product they release? Or anything else...lets see....