Android (primera parte)


Google en su continua expansión como empresa, sigue dotando al mercado de una gran gama de aplicaciones sobre las que sustentar su negocio base, el de la publicidad. En un entorno en el que se presenta un emergente acceso a Internet desde dispositivos móviles, mayoritariamente los teléfonos, Google se nomina como participante en esta carrera para conquistar a millones de usuarios potenciales con Android.

Naturalmente Google no se puede presentar a la carrera solo y para ello ha levantado una Alianza lo que llama Open HandSet Alliance involucrando a operadores, fabricantes, empresas de sw, distribuidores, etc.. Y la verdad tiene buena pinta, pero creo que aún les quedan aliados por conquistar o atraer. . Por cierto Telefónica está en la lista..

Las premisas en las que se ha basado Google para construir Android son las siguientes:

  • Open: El sistema debe ser abierto y las aplicaciones pueden usar todos los recursos del HW (camara, BT, llmadas, etc) además el sistema puede ser extendido por los desarrolladores.
  • Aplicaciones iguales: Todas las aplicaciones pueden ser creadas del mismo modo, no existen ventajas, ni diferencias para aplicaciones creadas por el fabricante o por empresas terceras.
  • Aplicaciones sin barreras: No poner ningun limite a la inovacion, pudiendo combinar recursos del dispositivo móvil, aplicaciones web, datos del usuario.. Sin limites para innovar.
  • Desarrollo Fácil y Rápido. Ofrece una serie de aplicaciones y herramientas que permiten poder desarrollar aplicaciones rápidas y dotadas de gran funcionalidad.
Android se presenta como una plataforma para dispositivos móviles, ya que pretende ir más allá de ser un sistema operativo para móviles aportando middleware y aplicaciones. A estas aplicaciones las llama clave, que son aquellas que todos esperamos que nos traiga de base el móvil cuando lo compramos, y el Middleware son todas las aportaciones a nivel de SDK, que nos permitan construir aplicativos que doten al movil de mayores prestaciones funcionales.

Si inspeccionamos la wikipedia
podemos encontrar más acerca de Android pero en el momento de escritura de este articulo, no deja casi de ser una traducción de la web oficial de Android ( What is Android?), en la cual podremos leer mucho más..

Desde el punto de vista tecnico tenemos las siguientes características, extraidas literalmente:

  • Application framework enabling reuse and replacement of components
  • Dalvik virtual machine optimized for mobile devices
  • Integrated browser based on the open source WebKit engine
  • Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
  • SQLite for structured data storage
  • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (hardware dependent)
  • Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
  • Camera, GPS, compass, and accelerometer (hardware dependent)
  • Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
Sobre todo me quedo con que el núcleo (Kernel) del Sistema Operativo está basado en Linux, lo que nos da unas garantias de seguridad, una eficiente gestión de memoria y HW. El navegador se basa en Safari, y naturalmente supongo que será uno de los aspectos más cuidados. Otro detalle es que han desarrollado una Maquina Virtual (Dalvik) a medida del sistema. Me ha encantado también que traiga una BBDD SQLite, que permite poder desarrollar aplicaciones de peso. Desde luego si sumamos todo, tenemos una plataforma ideal para el desarrollo de aplicaciones Java..

Desde luego a día de hoy la apuesta de Google respecto a
Android es llegar a los desarrolladores, puedo suponer que en dos sentidos, uno como testers de la nueva plataforma y otro sabiendo que cuanto mas desarrolladores, más aplicaciones en el mercado, más competitiva es la plataforma y puede competir con Symbian y Windows Mobile .

No hay nada como organizar una competición entre desarrolladores para conseguirlos, y por ello Google lanzó el Android Developer Challenge, cuyas normas, reglas y objetivos podemos leer aquí. Básicamente busca aplicaciones para Android, premiando la originalidad, el uso del sistema, y la funcionalidad que desarrollan..


De esto hablaré en la segunda parte..