3.1. Plataformas móviles

En el mercado existen multitud de fabricantes e incontables modelos de smarthphone disponibles para el consumidor, pero no tanta diversidad de plataformas móviles para el desarrollo. Vamos a realizar una introducción sobre las diferentes alternativas existentes y ver las características de cada una.

3.1.1. iOS

  • Sistema operativo creado por Apple que fue lanzado en Junio de 2007 con el primer iPhone.
  • Programación en Objetive C y Swift.
  • Código fuente propietario.
  • Sólo disponible en dispositivos de Apple: iPhone, iPad e iPod Touch.
  • Soporte de Bluetooth Low Energy para dispositivos iOS 5 en adelante.
  • Cuota de mercado en 2015 del 18.3%.
  • Curva de aprendizaje personal alta. Desconozco por completo el desarrollo en esta plataforma y además es necesario un ordenador Mac del que carezco.

3.1.2 Android

  • Sistema operativo con kernel de Linux creado por Google que fue lanzado en Septiembre de 2008.
  • Programación en Java.
  • El código fuente es libre.
  • Disponible en terminales de multitud de marcas como Samsung, Sony, HTC, LG, Motorola, ASUS, etc.
  • Soporte de Bluetooth Low Energy a partir de la API 4.3 de Android.
  • Cuota de mercado en 2015 del 78%.
  • Curva de aprendizaje personal baja. He desarrollado con anterioridad en Java y he realizado varias aplicaciones sencillas en esta plataforma.

3.1.3. Windows Phone

  • Sistema operativo creado por Microsoft que fue lanzado en Noviembre de 2010.
  • Programación en C# y Visual Basic.NET.
  • El código fuente es propietario.
  • Disponible en terminales de multitud de marcas como Microsoft/Nokia, Acer, ASUS, Dell, HP, Lenovo, Toshiba, etc.
  • Soporte de Bluetooth Low Energy a partir de Windows Phone 8.1.
  • Cuota de mercado en 2015 del 2.7%.
  • Curva de aprendizaje personal media. No he desarrollado ninguna aplicación para Windows Phone pero si he utilizado Visual Studio con anterioridad.

3.1.4. BlackBerry 10

  • Sistema operativo creado por BlackBerry que fue lanzado en Enero de 2013.
  • Programación nativa en C++ con Qt/Cascades, pero también es compatible con aplicaciones Android realizadas en Java.
  • El código fuente del sistema operativo es propietario pero el de Qt es libre.
  • Sólo disponible en terminales fabricados por BlackBerry.
  • Soporte de Bluetooth Low Energy a partir de la versión 10.0.
  • Cuota de mercado en 2015 del 0.3%.
  • Curva de aprendizaje personal baja. Estoy muy familiarizado con la plataforma y he realizado ya múltiples aplicaciones, de hecho, mi terminal personal actualmente es una BlackBerry Z10.

3.1.5. Desarrollo Híbrido HTML5

  • Existen varios sistemas operativos con desarrollos en HTML 5 como Firefox OS y Sailfish OS. Pero también se puede desarrollar en las plataformas anteriores con frameworks híbridos como IONIC, Mobile Angular UI, Intel XDK, Appcelerator Titanium, Sencha Touch, Kendo UI, PhoneGap y Apache Cordova.
  • Programación en HTML5, CSS3 y Javascript.
  • El código fuente es libre.
  • Disponible para todas las plataformas anteriores.
  • Soporte de Bluetooth Low Energy no nativo y dependiente de extensiones de terceros mantenidas por la comunidad.
  • Cuota de mercado en sistemas operativos en 2015 inferior al 0.1% pero portable a todas las plataformas.
  • Curva de aprendizaje personal media. Estoy familiarizado con el desarrollo web pero no he realizado una aplicación móvil completa con un framework HTML 5.

3.1.6. Conclusión

Vamos a comparar todas las plataformas para elegir de la forma más objetiva posible la más óptima. En la Tabla 3.1.1 podemos observar los parámetros tenidos en cuenta para la elección.

Plataforma Lenguaje nativo Bluetooh LE Cuota 2015 Curva de aprendizaje
iOS Objetive C, Swift Si (OS 5+) 18.30% Alta
Android Java Si (OS 4.3+) 78.00% Baja
Windows Phone C#, Visual Basic.NET Si (OS 8.1+) 2.70% Media
BlackBerry 10 C/C++, Qt/Cascades Si (OS 10.0+) 0.30% Baja
Híbrido HTML5 HTML5, CSS3 y Javascript con plugins 100% Media
Tabla 3.1.1: Comparativa de plataformas móviles

Una vez analizadas las diferentes plataformas disponibles llegamos a la conclusión de que vamos a desarrollar la aplicación en Android. Aunque no es la plataforma en la que estoy más familiarizado, el aprendizaje no me va a resultar muy dificultoso ya que me manejo bien con Java. Por otra parte, también tiene soporte para conectarse con dispositivos Bluetooth Low Energy y es la plataforma líder en cuanto a ventas de terminales. Además, BlackBerry 10 tiene soporte para ejecutar aplicaciones Android por lo que también debería funcionar la aplicación en esta plataforma.