Está en la página 1de 17

Caso Práctico 1: Estudio de los

Frameworks de Desarrollo de
Aplicaciones web para móviles

Código de actividad: AEC1.


Asignatura: Tecnologías Avanzadas en la Web.
Alumno: Richard Martinez Lizares

AEC1 Página 1
Contenido
1. Propósito .................................................................................................................................... 3
2. Frameworks de desarrollo Web para móviles...................................................................... 3
3. Comparación ........................................................................................................................... 16
4. Conclusiones ........................................................................................................................... 16

AEC1 Página 2
AEC1

1. Propósito
En esta actividad pretende hacer un pequeño estudio comparativo de alto
nivel de los diferentes frameworks de Desarrollo de Aplicaciones web para
móviles utilizados en la actualidad (sobre iOS, Android, Blackberry, WS
Phone) destacando casos de uso y funcionalidades diferenciales de cada
uno.
Adicionalmente se detallará un poco acerca de PhoneGap, describiendo en
detalle sus funcionalidades, características y usos.

2. Frameworks de desarrollo Web para móviles.


Uno de los principales problemas que se presentan cuando se consideran
frameworks de desarrollo web para móviles es la inmensa cantidad de
opciones disponibles a elegir. En este trabajo se ha intentado seleccionar
los que considero más notorios, para describir sus principales
características y posteriormente compararlos entre sí.

2.1. Ionic Framework

Ionic fue lanzado como versión alfa a finales de noviembre de 2013. Fue
construido en base al popular framework de Google: AngularJS. Ionic utiliza
AngularJS para proporcionar la estructura de aplicación, a su vez que este
se centra en la interfaz de usuario. En otras palabras, podemos ver que se
unen el poder de angular y la belleza de la interfaz de usuario de Ionic.

Ionic proporciona un conjunto de directivas de AngularJS (elementos HTML


personalizados) para sus propios componentes, por lo que es muy fácil usar
elementos como widgets tan solamente escribiendo una línea de código
HTML. Además de las directivas, Ionic utiliza reconocedores de contacto de
AngularJS, su lógica de animación de vistas, su saneamiento de HTML, y
su comunicación asíncrona.

A pesar de que actualmente AngularJS es el caballo de batalla de Ionic, sus


desarrolladores están manteniendo opciones abiertas con planes de
soportar otros frameworks, como Knockout o EmberJS, pero como podrán
notar en este análisis, este está fuertemente influenciado por AngularJS ya
que es quien en este momento sirve de base a Ionic, lo cual podría cambiar
en un futuro.

Entre las principales características que podemos mencionar de Ionic están:

AEC1 Página 3
 Con respecto al soporte para implementar el conjunto de patrones
MV*, Angular JS antiguamente era framework MVC, pero con el
tiempo se hizo más cercano a MVVM donde el objeto $scope actúa
como un ViewModel, manipulado a través de una función Controller.
Debido a lo flexible que es el framework, los desarrolladores pueden
implementar el patrón MVC tanto como el MVVM según sus
preferencias, siempre y cuando se logre la meta: separar la
presentación de la lógica de negocios al tiempo que aumenta la
capacidad de mantenimiento y la productividad.

 Al igual que AngularJS, Ionic no es un framework Javascript


orientado a objetos, así que no hace uso de un sistema de clases.

 Gracias a la base de AngularJS, se tiene incorporado jqLite, una


fracción de jQuery que permite la manipulación de DOM en una
forma compatible con los navegadores, con un muy pequeño
footprint.

 Interfaces de usuario y Theming. Cuando se trata de IU, Ionic


muestra su potencial. La verdadera belleza de Ionic es su
simplicidad. Un estilo casi parecido a Google (pero no a Android)
utiliza las capacidades HTML5 y CSS3 existentes para ofrecer
experiencias rápidas. La velocidad está basada precisamente en su
simplicidad - sin sombras innecesarias, esquinas redondeadas,
gradientes pero sólo en plano, limpio, simple, potente, sin adulterar
HTML5. Ionic no promete una interfaz de usuario de aspecto nativo,
pero ofrece una interfaz muy rápida y consistente, incluso en los
dispositivos que son considerados lentos con aplicaciones que
renderizan HTML5.

 Con respecto al uso de Widgets, los componentes de Ionic son


poderosamente simples. Son elementos HTML personalizados,

AEC1 Página 4
según los principios de las directivas de AngularJS, pero Ionic
también proporciona controladores para complementar su
configuración e interacción. Mientras que algunos frameworks
pueden proporcionar Widgets más complejos, Ionic ofrece bloques
de construcción algo más simples que se pueden combinar para
ofrecer interfaces de usuario ricas. A partir de la versión alpha, el
framework proporciona un conjunto de elementos de formulario,
barras de encabezado y pie de página, botones, una lista simple con
elementos personalizables, elementos de cuadrícula y más.

 Con respecto al diseño responsivo, internamente, Ionic aprovecha


los principios de Responsive Web Design (RWD) para obtener una
experiencia optimizada, basada en el tamaño de la pantalla o la
densidad de píxeles. Cualquier escenario de aplicaciones específicas
diseñadas bajo RWD son bienvenidos y jugarán muy bien con Ionic.

 Ionic en la actualidad no tiene disponible extensiones ni plugins de


terceros.

2.2. Sencha Touch

Sencha Touch (conocido simplemente como “Touch”) es un Framework


construido para adaptarse a las necesidades de aplicaciones más
exigentes. Touch heredada lo mejor de Ext JS, mediante el uso de las
mejores prácticas de ECMAScript5, CSS3 y HTML5. Eso hace a Touch
diferente a Ext JS en la forma que ya no es compatible con los navegadores
más antiguos, pero con una muy buena funcionalidad basada en mejores
prácticas.

Touch permite el uso de un conjunto de Widgets disponibles Out of the box.

Entre las principales características de Touch podemos considerar:

 Con respecto al soporte para implementar MV*, Touch implementa el


potente patrón Model-View-Controller-Store. Sin embargo este
presenta un impacto en el rendimiento, por lo tanto, para un buen
aprovechamiento de este patrón en el navegador (y en general) no
se recomienda para aplicaciones sencillas, ya que hay una gran
cantidad de código ejecutándose en background para hacer que la
implementación del modelo sea posible. Los Model y Stores van de
la mano, donde los primeros definen los datos, y los segundos
mantienen colecciones de datos. Los Controllers usan el mecanismo
de eventos para conectar el Model, los Stores y los Views a la
lógica de negocio.
 El Sistema de Clases de Sencha es una de las características más
fuertes para los desarrolladores. Se puede ver claramente la
AEC1 Página 5
influencia de otros lenguajes en el Sistema de Clases de Sencha
Touch, que lo impulsa a ser un framework altamente orientado a
objetos. Las partes internas, así como las que permiten implementar
el Front, están bien resumidas y definidas para facilitar la extensión y
construcción de cualquier componente a través de una cadena de
herencia (los objetos de implementación solo tienen que extender las
clases que permiten una determinada funcionalidad o capa en la
aplicación).

 Con respecto al control de DOM, no hay necesidad de bibliotecas


adicionales (como jQuery), ya que una muy completa interfaz de
manipulación de DOM está incluida en Sencha Touch. Los
detectores de eventos táctiles funcionan muy bien con todos los
dispositivos móviles compatibles. Su motor de plantillas incorporado
es uno de los más rápidos de la industria, lo que beneficia
significativamente la velocidad de todo el framework.

 Interfaces de usuario y Theming. En un inicio Touch se inclinó hacia


una interfaz de estilo iOS, sin embargo ahora, su tema principal es
agnóstico de proveedor. No obstante, los temas similares a iOS,
Android y Windows se envían con todo el paquete. Touch usa el
compilador de CSS SASS (Syntactically Awesome Style Sheets) que
impulsa la construcción de temas con una gran cantidad de variables
y mezclas suministradas para hacer un trabajo de estilos y re-estilos
muy sencillo y rápido. Dado que el framework es centrado en la
interfaz de usuario, los desarrolladores normalmente terminan
modificando el tema predeterminado en lugar de escribir toda la
interfaz de usuario desde cero, lo que a su vez requiere cierta
familiaridad con el sistema de temas.

 Con respecto al uso de Widgets, Sencha Touch impulsa el uso de


Widgets “out of the box” proveyendo más de 50. Estos van desde los
básicos como Componente, Contenedor, Formulario con campos
varios, hasta más complejos como: Listas, Pickers, Charts, Grids y
mucho más. Los dos últimos, Touch Charts y Touch Grid son parte
de un paquete separado de Sencha Touch, que se ofrece

AEC1 Página 6
comercialmente. Ningún otro framework de desarrollo web para
móviles ofrece un conjunto tan extenso de widgets incorporados.

 Con respecto al diseño responsivo, Sencha Touch renovó el


concepto de utilizar CSS3 y permitir la aceleración de hardware en la
medida de lo posible para ofrecer una docena de modos de
interfaces de usuario dinámicas. Sin embargo, los Touch Layouts no
pueden considerarse como un sustituto completo de RWD
(Responsive Web Design), sino una abstracción de patrones de CSS
comúnmente utilizados con fixes que permiten su ejecución en
diversas plataformas. Un re-layout completo (por ejemplo, en cambio
de orientación) puede requerir una intervención desde el lado de
JavaScript.

La diferencia entre usar RWD y Touch Layouts es que RWD utiliza


CSS3 sin procesar para organizar y clasificar los elementos según
las reglas definidas en CSS (Media Queries), mientras que Touch
Layouts aprovecha la potencia de JavaScript para colocar y clasificar
los elementos de forma programada basándose en reglas definidas
en JavaScript. Este JavaScript influye en los navegadores al inyectar
atributos CSS3 estableciendo su ubicación y tamaño. Esta práctica
es discutiblemente más potente, pero mucho más costosa en
términos de cálculo.

 Con respecto a soporte de plugins de terceros, El conjunto oficial de


extensiones se ofrece a través de Sencha Touch Bundle. Un número
de complementos administrados por la comunidad y extensiones se
pueden encontrar en el Sencha Market. Empresas externas ofrecen
extensiones premium en forma de Widgets especializados a través
de sus propios canales de distribución.

2.3. Kendo UI Mobile

Kendo UI Mobile es un framework de interfaz de usuario top de jQuery, este


se caracteriza por poner el rendimiento como su punto de foco. Haciendo uso
de tecnología de renderización adaptable, emula la interfaz de usuario de
aspecto nativo en dispositivos sin que los desarrolladores tengan que
cambiar nada. El uso de JavaScript se puede minimizar, existiendo
principalmente en las capas ViewModel del patrón MVVM.

Entre las principales características de Kendo UI Mobile podemos considerar:

 Con respecto al soporte para implementar MV*, KendoUI permite


implementar el patrón El Model - View - ViewModel (MVVM) que está
diseñado originalmente para desarrollar interfaces de usuario y
Kendo UI Mobile hace un gran uso de la misma. Debido a que el

AEC1 Página 7
ViewModel es ligero, hace que sea increíblemente rápido la
administración del estado de la aplicación. Recuperar datos no sólo
es sencillo del lado cliente, también se hace efectivo en el back-end,
donde el equipo de Kendo UI proporciona capas de abstracción para
varios lenguajes de programación populares.

 Dado que Kendo UI no es un framework JavaScript orientado a


objetos, carece de un verdadero sistema de clases. Sin embargo, se
proporciona una API sencilla para manejar herencia orientada a
objetos y encadenamiento de métodos.

 Con respecto al control de DOM, El framework se basa en jQuery,


heredando posteriormente su funcionalidad. DOM se utiliza mucho
con Kendo, especialmente para vistas y vinculación de datos.

 Interfaces de usuario y Theming. La interfaz de usuario es uno de los


puntos fuertes de Kendo UI, ya que ofrece una apariencia nativa en
entornos de iOS, Android, BlackBerry y Windows Phone 8. Los
temas suministrados incluyen transiciones de vistas y optimizaciones
de aspecto nativo para cada plataforma respectivamente. Una
interfaz de Skin plano es también incluida para un diseño más
independiente. Aunque la mayoría de los desarrolladores
profesionales optarán por realizar modificaciones escritas a mano
directamente en las CSS, Kendo UI Mobile ThemeBuilder ofrece un
rápido y fácil skinning basado en temas existentes.

 Con respecto al uso de Widgets, Kendo UI Mobile viene con 14


widgets. Ninguno de los widgets abstrae elementos existentes en
HTML5. Se debe tener las siguientes consideraciones:
o Button, es la única excepción debido a sus extensas opciones
de personalización.
o ListView, es uno de los widgets más populares en todos los
frameworks, debido a que es rico en opciones de
configuración, incluyendo el desplazamiento sin fin (infinito),
pull to refresh, enlace de datos jerárquico, edición, filtrado y
más.
AEC1 Página 8
o Los widgets Scheduler (calendar) y Grid, que normalmente
hacen uso intensivo de recursos, se comportan muy bien
incluso en dispositivos Android de gama media.

 Con respecto al diseño responsivo, desde noviembre de 2013, los


widgets de Kendo UI soportan principios de diseño responsivo,
haciéndolos agnósticos del dispositivo. Debido a que Kendo UI es un
framework centrado en HTML se tiene asegurado que RWD
(Responsive Web Design) es su foco principal.

 Con respecto al soporte de plugin de terceros, Telerik (dueño de


Kendo UI) ofrece un repositorio para extensiones de terceros a
través de Kendo UI Labs. Actualmente, los proyectos de laboratorio
disponibles ofrecen conectores universales a software y bibliotecas
de terceros.

2.4. JQuery Mobile+ Backbone

JQuery – el framework JavaScript utilizado en más del 50% de todos los


sitios web en el mundo. Esto también significa que hay más desarrolladores
de jQuery que aquellos que programan en cualquier otra biblioteca de
JavaScript.

JQuery Mobile es una actualización minimalista de jQuery, esta es diseñada


para sitios web responsivos y aplicaciones web agnósticas de plataforma.
Donde jQuery trae todas sus funciones JavaScript. La parte 'Móvil' de la
actualización es principalmente compuesta de CSS y HTML. A diferencia de
otros frameworks, como Sencha Touch, la mayor parte del trabajo de jQuery
Mobile se realizará en HTML5 y CSS3.

Backbone.js proporciona la arquitectura JavaScript faltante, principalmente la


infraestructura MV*. Lo bueno es que Backbone depende de jQuery,
reutilizando muchas funcionalidades básicas, reduciendo así el tamaño del
paquete final.

Las principales características de JQuery Mobile+ Backbone son:

 Con respecto al soporte para implementar MV*, muchos


programadores a menudo discuten acerca de si el patrón presentado
en Backbone es MVC, MVP o MVVM. A decir verdad, son todos ellos
y ninguno de ellos al mismo tiempo. El patrón Backbone toma
pedazos de cada uno para ayudar a estructurar aplicaciones
complejas que también son limpias, mantenibles y, esperamos,
rápidas. Esta libertad de Backbone con respecto a los patrones MV*
permite despojarse de funciones avanzadas como binding de datos

AEC1 Página 9
en dos direcciones o consultas de objetos, lo que hace que la
biblioteca sea liviana y con buen rendimiento.

Las vistas son básicamente plantillas, por lo que Backbone, que no


es un framework de UI, funciona tan bien con jQuery Mobile.

 Backbone no aplica un sistema de clases estricto, aunque admite


prototipos de herencia y extensiones de objetos para ayudar a los
desarrolladores a crear una arquitectura de aplicación orientada a
objetos. Técnicamente, esta parte de Backbone pertenece a
Underscore, una biblioteca de dependencias escrita por los mismos
autores.

Underscore establece las bases del desempeño de Backbone,


permitiendo a los desarrolladores de JavaScript tener
funcionalidades de ayuda muy buenos (por ejemplo, utilitarios para
manipulación de Objects / Arrays / Functions), muchos de los cuales
hacen uso de componentes nativos ECMAScript 5 en navegadores
modernos. Incluso introduce funciones más avanzadas de OOP
como mixins.

 Con respecto al control de DOM, jQuery es quien tiene las mejores


funciones. Incluso el mecanismo View de Backbone utiliza jQuery
para manipular DOM. No sólo es la biblioteca enriquecida de
funciones disponibles para trabajar con DOM, también jQuery tiende
a estar entre los más rápidas, utilizando las mejores prácticas
basadas en distintos tipos de navegador que pueda utilizar el cliente.

 Interfaces de usuario y Theming. JQuery Mobile viene con un


conjunto interesante de temas, todos son agnósticos del dispositivo,
es decir, no tratan de imitar la apariencia del dispositivo nativo. La
instalación de un tema es tan simple como incluir el archivo CSS que
corresponda. La personalización del tema es muy simple ya que se
cuenta con ThemeRoller, una herramienta de edición de tema en
línea.

Si bien el uso de interfaces de usuario es tan simple como


especificar etiquetas HTML con nombres de clase adecuados, un
desarrollador a menudo tendrá que saber cómo estructurar nodos
HTML correctamente de lo contrario los estilos no se heredarán
correctamente. Esto es particularmente importante cuando se utilizan
widgets.

AEC1 Página 10
 Con respecto al uso de Widgets, Todos los widgets básicos utilizados
con frecuencia para presentar contenido en entornos móviles están
disponibles en jQuery mobile. Barras de herramientas, pestañas,
listview, tablas, paneles plegables, sólo por nombrar algunos.
Mientras que los widgets son considerablemente rápidos, tienen una
apariencia de sitio web y se tendrá que resolver los enlaces de datos
y la administración de eventos con Backbone (o cualquier otra cosa)
por tu propia cuenta.

 Con respecto al diseño responsivo, La interfaz de usuario completa


se construye con RWD (Responsive Web Design). Consultas de
acceso a contenido de medios en los CSS, modelos flexibles y las
unidades de medición relativas (no absolutas) son los elementos
clave utilizados para que la aplicación sea más rápida. JQuery
Mobile también aprovecha las optimizaciones a nivel de dispositivo
para mostrar diseños apropiados basados en el estado real de la
pantalla y las capacidades del navegador cliente.

 Con respecto al soporte de Plugins de terceros, JQuery es famoso


por la riqueza de plugins de terceros disponibles, y el móvil continúa
esta tradición. Puede encontrar muchos complementos, extensiones
y otros recursos en su sitio web. Además el repositorio BackPlug de
Backbone, abre infinitas oportunidades para extender las bibliotecas
principales. Esta es quizás la biblioteca con más plugins de terceros
que cualquier otro.

AEC1 Página 11
2.5. React

React es un tipo de biblioteca de JavaScript que permite tener un framework


que introduce nuevas formas de pensar en el desarrollo web para moviles.

A pesar de ser nuevo en el mercado, React es utilizado por importantes


empresas en la industria entre las que podríamos destacar a Facebook e
Instagram. A menudo React es comparado con AngularJS, pero combinado
con Backbone (principalmente por las características que provee y la velocidad
de cargar Views).

Sabemos que el modificar y consultar DOM es un gran cuello de botella en el


desarrollo de aplicaciones web para móviles. Si se tuviera que destacar una
razón para usar React sería exactamente las optimizaciones en ese ámbito.

Aunque es increíblemente rápido con las operaciones DOM, React no incluye


elementos de interfaz de usuario. Para esto se dependerá de JavaScript de
terceros (jQuery en realidad).

Las principales características de React son

 Con respecto al soporte para implementar MV*, React no es un


framework MVC. Este es optimizado para permitir binding
unidireccional (o flujo de datos unidireccional). Modelos tales como
los conocidos en Backbone o Sencha Touch no están presentes en
React. El binding de dos direcciones se produce esencialmente en
forma de eventos desencadenados por un cambio en el estado del
Component. Al hablar de Component, estamos describiendo una
mezcla de View y Controller.

 Como todo gira en torno a Components, también lo hace el sistema


de clases. Tal vez sea válido decir que Component hace que sea su
propio sistema de clase (eco). Los Components están diseñados con
Abstraction en mente, uno de los métodos más comúnmente
utilizados será React.createClass. Sin embargo, con la falta de un
MVC tradicional, el sistema de clase tradicional se convierte en
obsoleto también.

 Con respecto al control de DOM, React es una biblioteca para la


creación de Interfaces de usuario, pero se acerca a las cosas de
forma diferente al dividirlas en Components. En lugar de plantillas
clásicas, React utiliza JSX, un lenguaje de plantilla basado en XML
que compila JavaScript.

AEC1 Página 12
Cuando se compila en JavaScript, React realmente crea una
representación ligera del documento.
Esta representación ligera ayuda de muchas maneras, sobre todo:

o Minimiza cuantitativamente la creación y comunicación de


DOM
o React puede tomar la diferencia entre el estado actual y una
actualización y cambiar sólo la parte de DOM donde
corresponde.
o Los eventos son delegados automáticamente
o Permite que los WebWorkers utilicen el DOM virtual, a pesar
de que ellos no pueden acceder al documento en sí

Sin entrar en un mayor detalle, podemos decir inmediatamente que


React fácilmente podría convertirse en una de las bibliotecas más
rápidas para interactuar con las interfaces de usuario.

 Con respecto al soporte de plugins de terceros, El mercado de


plugins de terceros para React es aún escaso. Extensiones útiles
que permiten hacer un puente entre React con Angular, Backbone, e
incluso ClojureScript están entre los pocos que se encuentran y con
una popularidad moderada.

2.6. Xamarin

Xamarin Platform es una herramienta de desarrollo de aplicaciones móviles


que cuenta con varios entornos de desarrollo y permite a los desarrolladores
crear aplicaciones móviles nativas y multiplataforma.

Xamarin Platform es una plataforma de desarrollo de aplicaciones móviles


que se utiliza para la creación de aplicaciones nativas y multiplataforma para
dispositivos Android, iOS y Windows. Es ofrecido por Xamarin como una
herramienta para el desarrollo de aplicaciones y, cuando se combina con
otras herramientas de Xamarin, para satisfacer las necesidades de gestión
del ciclo de vida de las aplicaciones.

AEC1 Página 13
Xamarin Platform está disponible como un producto On-Premise diseñado
para su uso en los sistemas operativos de Apple y Microsoft Windows. Es
adecuado para su uso por desarrolladores individuales o por organizaciones
con grandes equipos de desarrollo.

El desarrollo de cross-platform se realiza usando la herramienta Xamarin


Studio. Entorno de desarrollo propietario de la compañía. Xamarin Studio
permite a los desarrolladores crear aplicaciones utilizando el lenguaje de
desarrollo C#. Con C# los desarrolladores pueden usar una sola base de
código para crear aplicaciones que se ejecuten en múltiples plataformas de
dispositivos. Y debido a que C# es similar a Java - un lenguaje de desarrollo
ampliamente utilizado - es probable que los desarrolladores tengan una
sólida comprensión de cómo construir aplicaciones con él, lo que permite a
las organizaciones con equipos de desarrollo aprovechar el personal
existente y evitar los costos asociados con la formación de activos existentes
O contratar nuevos. Xamarin señala que, además de Java, prácticamente
todo lo que los desarrolladores pueden hacer con Objective-C y Swift se
puede hacer usando C#.

El uso de una sola base de código para el desarrollo de aplicaciones


multiplataforma ayuda a los desarrolladores a reducir los plazos de
construcción e implementación y les permite concentrar sus esfuerzos en
crear la mejor aplicación posible sin tener que preocuparse por replicar la
aplicación varias veces. Y para ayudar a asegurar que la base de código
única esté funcionando como se pretende, Xamarin Studio cuenta con una
herramienta de depuración que se puede utilizar en un modo de simulador o
en vivo en el dispositivo.

AEC1 Página 14
Xamarin Platform también ofrece a los desarrolladores docenas de APIs
actualizadas para asegurar que las aplicaciones multiplataforma construidas
con esta se ejecuten con apariencia nativa y funcionalidad en su dispositivo
deseado. Aprovechar estas API de dispositivos permite a los desarrolladores
crear sus aplicaciones sin preocuparse por si las características y la
apariencia personalizada de las aplicaciones se traducirán en diferentes
sistemas operativos móviles.

La plataforma apoya, además, el desarrollo de aplicaciones multiplataforma


con su herramienta integrada Xamarin.Forms. Xamarin.Forms es un conjunto
de herramientas multiplataforma que permite a los desarrolladores crear
diseños de interfaz de usuario nativos con C# o XAML que pueden utilizarse
en teléfonos móviles Android, iOS y Windows. También cuenta con más de
40 controles y diseños predefinidos para que los desarrolladores los utilicen.

Además de su entorno de desarrollo de aplicaciones multiplataforma,


Xamarin Platform proporciona herramientas de desarrollo de aplicaciones
móviles nativas. Xamarin.Android y Xamarin.iOS permiten a los
desarrolladores crear aplicaciones nativas de Android e iOS utilizando C#.
Tanto Xamarin.Android como Xamarin.iOS cuentan con generadores de
enlace automático que permiten a los desarrolladores utilizar código y
frameworks previamente escritos, que luego se traducen por cada
herramienta y se convierten en una aplicación basada en C#. Xamarin
también señala que Xamarin.Android trae todas las API de Google a C#,
mientras que Xamarin.IOS trae la funcionalidad completa del kit de desarrollo
de software de Apple.

Xamarin Platform se integra con otras herramientas propietarias de desarrollo


de aplicaciones de Xamarin y de terceros. El principal de ellos es la
integración con la plataforma Microsoft Visual Studio, que los desarrolladores
pueden utilizar directamente dentro de Xamarin Platform. Esto ofrece a los
desarrolladores otro entorno de desarrollo a su disposición. También se
integra con ofertas de más de 250 proveedores de productos técnicos, entre
ellos Amazon, IBM, Oracle, SAP y Salesforce. Además, proporciona a los
desarrolladores acceso a más de 100 extensiones y personalizaciones
fácilmente integradas a través de Xamarin Component Store.

La plataforma se integra también con Xamarin Test Cloud, el software de


automatización y pruebas de aplicaciones de la compañía. Test Cloud
permite a los desarrolladores probar el rendimiento y la funcionalidad de sus
aplicaciones desarrolladas en más de 1.800 dispositivos, y ofrece a los
usuarios la opción de probar en condiciones como el sistema operativo, el
fabricante del dispositivo, etc.

AEC1 Página 15
3. Comparación
Soporte
Soporte
Soporte para
Implementación para Control UI and Responsive
para Third
de Patrón MV* sistema de de DOM Theming Design (RWD)
Widgets party
clases
plugins
Uso de
Uso HTML5 y
Ionic + Permite MVC y Embebido y
No deJQLite CSS3 no Sí No
Angular JS MVVM construido
de Jquery aspecto
nativo
Agnóstico y
Mas de 50 No, solo una
Sencha Permite solo similar a
Sí Sí out of the aproximación Sí
Touch MVCS IOS y
box con CSS3
Andriod
No, pero
permite Sí, Sí, con
Permite solo Sí, tiene 14
Kendo UI herencia usando apariencia Sí Sí
MVVM widgets
orientada Jquery nativa
a objetos
No, solo
Sí, pero no
jQuery permite
Soporta MVC, con
Mobile + principios Sí Sí Sí Sí
MVP o MVVM apariencia
Backbone de
nativa
herencia
Sí, pero
React No Sí Sí No No No muy
escaso

4. Conclusiones
El panorama de desarrollo de aplicaciones para dispositivos móviles está
cambiando muy rápidamente con los desarrolladores que se mueven de las
opciones de desarrollo de aplicaciones híbridas basadas en HTML5. La mayor
ventaja de las aplicaciones móviles híbridas es el enfoque de "escribir una vez
y correr en todas partes".

Sin embargo, el desarrollo de aplicaciones híbridas usando javaScript "no es la


única alternativa al desarrollo de aplicaciones móviles nativas. Hay otras
plataformas también como Xamarin de Microsoft que le permiten escribir su
aplicación en c # y luego compilar la aplicación en código nativo de varias
plataformas móviles, incluyendo iOS, Android y Windows.

AEC1 Página 16
Mientras frameworks como Xamarin permiten utilizar toda la potencia de
rendimiento de aplicaciones nativas, no supera (en mi opinión) la facilidad de
creación de aplicaciones móviles con JavaScript, css y html - la forma híbrida.

AEC1 Página 17

También podría gustarte