Vous êtes sur la page 1sur 8

Comparacin de Frameworks para el

Aplicaciones en la plataforma Android.

desarrollo

de

Un Framework es un marco de trabajo que ofrece componentes como


libreras, pero adems provee plantillas o estructuras que definen el
funcionamiento de las aplicaciones. La utilizacin de un Framework en el
desarrollo de una aplicacin implica un cierto coste inicial de aprendizaje,
aunque a largo plazo es probable que facilite tanto el desarrollo como el
mantenimiento de la misma. Por estos motivos, es importante elegir bien el
Framework con el cual se va a trabajar ya que debe brindar las
funcionalidades deseadas y no debe ser difcil de aprender y de interpretar.
Segn el reporte Eclipse Community Survey Report emitido por The
Eclipse Foundation en el mes de Junio de 2013, la plataforma con la
mayor cantidad de desarrolladores de aplicaciones mviles es Android,
seguida por Apple iOS.

Fuente: Eclipse Open Source Developer Report 2013

Estos datos ayudan a confirmar nuestra decisin de desarrollar nuestro


proyecto para la plataforma Android. El reporte mencionado adems
muestra los Frameworks ms utilizados por los desarrolladores, los cuales
tienen licencias de uso gratuito. La mayora de los Frameworks mencionados
permiten el desarrollo de aplicaciones para mltiple plataformas con el
mnimo esfuerzo de adaptacin, ya que utilizan como lenguaje de
programacin HTML, JavaScript y CSS, que son interpretados por todos los
navegadores mviles. La adecuacin del cdigo de la aplicacin para las
distintas plataformas est relacionada con el uso de funcionalidades propias
de dicha plataforma, las cuales son mnimas.

Fuente: Eclipse Open Source Developer Report 2013

En base a los Frameworks mencionados, con mayor porcentaje de usuarios,


se realizan varias comparaciones entre los mismos para determinar cul se
adecua mejor a nuestras necesidades.
Instalacin de los Frameworks
A la hora de Instalar un Framework, es importante conocer que se necesita
previamente para poder utilizarlo al igual que la plataforma bajo la cual
trabaja. Otro punto importante, es la complejidad para su instalacin ya que
puede demorar el comienzo del proyecto por retrasos en el armado del
ambiente de desarrollo.
Requisitos
para la
Instalacin
Java JDK

Titaniu
m
Mobile
X

Android
SDK
X

ADT
Bundle
Android
X

JQuery
Mobile

PhoneGa
p

Java JRE
Git

Node.js

Registracin
Firefox para
JavaScript
debugging

IDE
Android
Development
Tools Plugin
(ADT)
Native
Development Kit
(NDK)
Dispositivo
Virtual Android
(AVD)
Eclipse JDT
Plugin

Sencha
Touch

Dojo
Mobile

Opcional

X
X

Si se
utiliza
Eclipse

Opcional
Opcional
X

Opcional

Eclipse
(opcional
)

Android SDK
Librera
PhoneGap
Librera Cordova

Opcional

X
Opcional

Web Service

Sencha CMD

Ruby

Rhino

En todos los casos, la instalacin de los requisitos previos se debe hacer


individualmente excepto si se utiliza Titanium Mobile, este Framework
provee un instalador que se encarga de descargar e instalar cada uno de los
componentes necesarios.
Plataforma de
Instalacin
Windows
Windows 32bits
Windows 64bits
MAC OS
MAC OS 32bits
MAC OS 64bits
Linux
Linux 32bits
Linux 64bits
Independiente
SO

Titaniu
m
Mobile
X

Android
SDK

ADT
Bundle
Android

JQuery
Mobile

PhoneGa
p

Sencha
Touch

Dojo
Mobile

X
X
X

X
X
X

X
X

X
X
X

En cuanto a la plataforma de instalacin no se diferencian los Frameworks.


Instalacin
Framework
Wizard

Titaniu
m
Mobile
X

Android
SDK

ADT
Bundle
Android

JQuery
Mobile

Sencha
Touch

Dojo
Mobile

Descomprimir
archivo

En el
Web
Server

Lnea de
comando

X
En el
proyecto

Copiar libreras
Documentacin
Oficial sobre
instalacin

PhoneGa
p

En el
proyecto
X

Los Frameworks que presentan mayor complejidad para su instalacin son


PhoneGap, Sencha Touch y Dojo Mobile debido a la cantidad y complejidad
de instalacin de sus requisitos previos, y por otro lado, JQuery Mobile por
no contar en la documentacin oficial con una gua de instalacin.
Por lo tanto, los Frameworks con menor complejidad para instalar con
Titanium Mobile, Android SDK y ADT Bundle Android.
Plataforma mviles Soportadas
Muchos de los Frameworks tienen la caracterstica de permitir construir un
nico cdigo que es soportado por mltiples plataformas mviles, de

manera que el desarrollador puede obtener diversas extensiones de la


aplicacin construida y cargarlas al mercado de los diferentes sistemas
operativos compatibles, sin necesidad de realizar modificaciones en el
cdigo.
Titaniu
m
Mobile

Android
SDK

ADT
Bundle
Android

JQuery
Mobile

PhoneGa
p

Sencha
Touch

Dojo
Mobile

Android

Apple iOS

Blackberry

Windows

Mobile Web

X
X

Plataformas
Mviles
Soportadas

Otros Mobile OS

Android SDK y ADT Bundle Android no permiten el desarrollo de aplicaciones


que soportan mltiples plataformas, con lo cual el resto de los Frameworks
permiten migrar el cdigo desarrollado para una plataforma a otra con una
mnima adecuacin del mismo.
Algunos de los Frameworks soportan ms plataformas pero la mayora
soporta las principales plataformas mviles, Android y Apple iOS.
Lenguaje de Programacin
El lenguaje de programacin es un punto importante a la hora de elegir con
que Framework se va a trabajar. Dependiendo de la alternativa
seleccionada, se utilizaran diferentes cdigos y comandos que permitirn
desarrollar, personalizar, y manejar las funciones de la aplicacin. Por lo
general, la eleccin se encuentra influenciada por el conocimiento previo
que tiene el desarrollador, ya que si el mismo domina un lenguaje de
programacin puede elegir el Framework que trabaja con dicho lenguaje.
Lenguaje de
Programacin
Java
HTML5
HTML
JavaScript
CSS
JSON
Ruby
Python
PHP Scripist
Nativo (C/C++)
X

Titaniu
m
Mobile

Android
SDK

ADT
Bundle
Android
X

JQuery
Mobile

PhoneGa
p

Sencha
Touch

Dojo
Mobile

X
X

X
X
X
X

X
X

X
X

X
X
X
X
X

Lenguaje principal utilizado por el Framework

Como se observa en la tabla, Titanium Mobile es el Framework que soporta


la mayor cantidad de lenguajes de programacin. Adems, tiene la
particularidad que el Framework a la hora de compilar la aplicacin
convierte el cdigo JavaScript en cdigo nativo, con lo cual se independiza a
la aplicacin de los Browsers de los dispositivos mviles. La ventaja de la

utilizacin de Lenguaje Nativo es la velocidad de la aplicacin y mayor


eficiencia en la utilizacin de los recursos del dispositivo.
Entorno de Desarrollo
Un entorno de desarrollo, llamado tambin IDE (sigla en ingls de Integrated
Development Environment), es un software compuesto por un conjunto de
herramientas de programacin. Puede dedicarse en exclusiva a un solo
lenguaje de programacin o bien puede utilizarse para varios.
Un IDE es un entorno de programacin que consiste en un editor de cdigo,
un compilador, un depurador y un constructor de interfaz grfica (GUI). Este
software facilita el trabajo del desarrollador proveyendo un marco de
trabajo amigable para la mayora de los lenguajes de programacin.
Algunos Frameworks cuentan con su propio IDE para el desarrollo de las
aplicaciones, y otros necesitan de un Entorno de Desarrollo facilitado por un
tercero.
Entorno de
Desarrollo
IDE Propio
Facilidad de
disear la
interfaz de
usuario sin
cdigo
Ayuda en la
escritura del
cdigo
(autocompletar
comandos,
alternativas,
disponibles, etc.)

Titaniu
m
Mobile
SI

NO

ADT
Bundle
Android
ECLIPSE

SI

SI

SI

LIMITADA

LIMITADA

LIMITADA

SI

SI

SI

LIMITADA

LIMITADA

LIMITADA LIMITADA

Android
SDK

JQuery
Mobile

PhoneGa
p

Sencha
Touch

Dojo
Mobile

NO

NO

NO

NO

SI

De los Framework para mltiples plataformas, Titanium Mobile provee la


mayor cantidad de facilidades para el desarrollo de aplicaciones. El IDE
provisto por Titanium Mobile est basado en Eclipse, con lo cual si el
desarrollador est acostumbrado a utilizar este ltimo IDE no va a encontrar
dificultad en el uso del IDE de Titanium Mobile.
PhoneGap, Sencha Touch y Dojo Mobile permite el desarrollo de aplicaciones
mediante IDEs de terceros, pero requieren que la creacin del proyecto y la
compilacin de la aplicacin se realiceN mediante lnea de comando
utilizando las herramientas provistas por estos Frameworks.
Facilidad de desarrollo
Cada Framework dispone de una pgina web donde explica cmo funciona
el software y la manera de utilizarlo para programar las aplicaciones. Por
otra parte, solo algunos de ellos cuentan con soporte tcnico especializado,
tutoriales, ejemplos, foros, y muchas otras opciones que ayudan al
programador a realizar la aplicacin de manera ms fcil.
Nivel de

Titaniu

Android

ADT

JQuery

PhoneGa

Sencha

Dojo

Desarrollo
Documentos y
Tutoriales
oficiales
Soporte Tcnico
oficial
Acceso a casos
de estudio,
ejemplos y
cdigo fuente de
aplicaciones
Acceso a
recursos y
herramientas del
telfono
(cmara,
sensores,
propiedades,
etc.)
Foros y Ayudas
oficiales

m
Mobile

SDK

Bundle
Android

Mobile

Touch

Mobile

SI

SI

SI

LIMITADA

SI

SI

SI

SI

SI

SI

NO

NO

SI

NO

SI

SI

SI

LIMITADO

SI

SI

SI

SI

SI

SI

LIMITADO

SI

LIMITADA

LIMITAD
O

SI

SI

SI

SI

SI

SI

SI

Todos los Frameworks ofrecen documentacin sobre el uso del mismo, sin
embargo, solo la Android SDK y ADT Bundle Android pone a disposicin de
los programadores la opcin de soporte tcnico de forma gratuita. Por otra
parte, las diferentes alternativas cuentan con una comunidad activa de
programadores dispuestos a ayudar y brindar soporte a aquellos que lo
necesiten mediante el uso de foros y discusiones. Para acceder a accesorios
y funcionalidades del telfono, jQuery Mobile y Dojo Mobile deben hacer uso
de las libreras de PhoneGap, mientras que Sencha Touch cuenta con una
lista limitada de herramientas a las que pueden acceder.
La programacin utilizando Android SDK, ADT Bundle Android y Titanium
Mobile representan los Frameworks con mejor documentacin y ayuda al
desarrollador para programar aplicaciones. Del mismo modo son los que
cuentan con el API ms completo para acceder a elementos y accesorios del
telfono, as como el manejo de eventos del sistema.
Licencia de distribucin
La licencia de distribucin establece legalmente para que puede ser
utilizado el producto y de qu manera se lo puede distribuir. Adems,
determina si puede ser utilizado para aplicaciones comerciales o
nicamente para aplicaciones que se distribuyan bajo la misma licencia.
Lo ms importante de la licencia es si se debe pagar por el uso del producto
o se lo puede utilizar de forma gratuita respetando las restricciones
impuestas por la empresa distribuidora.
Licencia

Titaniu
m
Mobile
Open
Source
(Apache
2.0
license)

Android
SDK

ADT
Bundle
Android

Android Open Source


Project
Apache Software
License, Version 2.0

JQuery
Mobile

PhoneGa
p

Sencha
Touch

Dojo
Mobile

MIT
license

Apache
Software
Foundatio
n (ASF)
under the
name Apa

GNU GPL
license
v3
Comerci
al

BSD and
AFL
license

che

Todos los Framework analizados cuenta con licencias gratuitas que pueden
ser utilizadas en aplicaciones comerciales y no comerciales.
Algunos de los Frameworks se distribuyen bajo varias licencias debido a que
tienen que respetar las licencias de las herramientas que utilizan para su
funcionamiento.
Conclusin
Con las comparaciones realizadas se determina que los Frameworks que
proveen la mayor cantidad de funcionalidades y facilidades para el
desarrollo de aplicaciones son Android SDK, ADT Bundle Android y Titanium
Mobile. Adems, estos Frameworks ofrecen la mayor cantidad de
documentacin y son los que presentan la menor complejidad para su
instalacin.
Un punto importante es que estos Framework trabajan con el cdigo nativo
de los equipos mviles, con lo que se obtiene una mejor administracin de
los distintos dispositivos de los mismos.
En relacin al reporte mencionado al principio, la mayora de los
programadores desarrollan aplicaciones para las plataformas Android y
Apple iOS. Esto se debe porque la mayora de los equipos mviles en el
mercado utilizan estas plataformas.
Analizando los puntos mencionados en los prrafos anteriores, decidimos
realizar la aplicacin utilizando el Framework Titanium Mobile de
Appcelerator que nos permite en un futuro migrar la misma a otras
plataformas con el mnimo esfuerzo de adecuacin.
Bibliografa

Eclipse Community Survey Report


http://eclipse.org/org/press-release/20130612_eclipsesurvey2013.php
http://www.slideshare.net/IanSkerrett/eclipse-survey-2013-report-final
Estudio comparativo de alternativas y Frameworks de
programacin, para el desarrollo de aplicaciones mviles en
entorno Android Universidad Politcnica de Catalua - Ingeniera
de Telecomunicaciones Autor: Ricardo Jose Iskandar Morine Ao
2013.
Titanium Mobile Web Site
www.appcelerator.com
Android SDK y ADT Bundle Android Web Site
http://developer.android.com
JQuery Mobile Web Site
http://jquerymobile.com
PhoneGap Web Site
http://phonegap.com
Sencha Touch Web Site
www.sencha.com

Dojo Mobile Web Site


http://dojotoolkit.org

http://gnustep.wordpress.com/gnustep-a-fondo/que-es-un-frameworkcomo-se-utiliza/
http://jordisan.net/blog/2006/que-es-un-framework/