Solo quiero citar mi propio blog aquí, aquí hay algo en mi mente sobre estas dos herramientas:
http://www.suzker.cn/programming …
La lista:
Después de un par de días buscando un marco / tecnologías apropiados, que involucre:
- ” Phonegap ” (ahora es una distribución de ” Cordova ” en Apache Incubator , lea esto para desambiguación)
- ” Sencha Touch 2 ”
- ” JQuery Mobile ”
- ” Titanio ” (ahora es parte de Appcelerator )
, para el desarrollo de nuestra aplicación.
Una introducción abreviada a estas cosas son:
- Phonegap nos permitió interactuar con funciones nativas a través de su API de Javascript y nos permite usar páginas web como nuestra interfaz de usuario.
- Sencha Touch 2 nos permite construir una interfaz de usuario súper suave y altamente personalizable de forma programática en Javascript. Ahora, en la versión 2.x, también proporcionan una serie de herramientas para minimizar programas y generar aplicaciones de Android / iOS.
- JQuery Mobile es una biblioteca Javascript de interfaz de usuario optimizada para el tacto y no es más que eso.
- Titanium también es un SDK que le permite crear su aplicación con la interfaz de usuario nativa del sistema en Javascript usando su propia sintaxis y reglas.
Como podemos ver, lo que está tratando de lograr aquí es la capacidad de “desarrollar una vez desplegar muchos”. Parece que es un deseo supremo para cada desarrollador de aplicaciones escribir aplicaciones que se puedan implementar en múltiples dispositivos (teléfono / tableta / PC / MAC) de diferentes plataformas (iOS / Android / Blackberry / Windows Phone / Symbian, etc.). Es un poco como tratar de proporcionar aplicaciones multiplataforma en OSx / Linux / Windows. Y en aquellos días tenemos Adobe Air, JAVA y QT para crear aplicaciones extraídas de la capa de aplicación normal especificada por el sistema. Pero para los dispositivos móviles, una solución adecuada es utilizar tecnologías basadas en la web. Es porque casi todos los dispositivos móviles modernos (y por ‘moderno’ me refiero a los dispositivos de los últimos 2 ~ 3 años) son capaces de una rica navegación web, sin mencionar el soporte de HTML5 que nos permite dibujar directamente en la página, usar almacenamiento local estándar, reproduce archivos multimedia sin usar el flash feo.
En este momento, la mayoría de los front-end web están construidos por CSS + HTML + JS. Estas tecnologías a menudo se consideran tecnologías con puntos de entrada bajos en comparación con los lenguajes de programación tradicionales como C / C ++ / Java (aunque después de aprender y trabajar con Javascript por un tiempo descubrí que en realidad es muy potente y destacado). Esta característica del desarrollo y diseño web es en realidad otro impulso para llevar la web a construir aplicaciones porque cada vez más personas pueden desarrollar aplicaciones ahora sin aprender Objective-C o Java.
Pero antes de arremangarnos y estar listos para poner nuestras manos en toda la web, pensemos más a fondo. A diferencia de las PC / Mac, los dispositivos móviles de hoy en día ofrecen características mucho más ricas que incluyen Gestos / Ubicaciones geográficas / Cámara / Acelerómetros / Huellas digitales, etc. Uno puede construir aplicaciones muy interesantes a partir de diferentes combinaciones de todas estas características nativas de dispositivos móviles. Eso significa que necesitamos encontrar una manera de acceder a estas características nativas. Tenga en cuenta que los técnicos web de los que hablamos, HTML + CSS + JS, solo son interfaces de usuario interactivas prometedoras, pero no la capacidad de acceder a funciones nativas. Eso significa que la interfaz de usuario no puede no comunicarse con las características nativas del dispositivo en las rutinas de desarrollo web habituales. Necesitamos algo más, un puente tal vez.
Ahora podemos continuar hablando sobre las tecnologías enumeradas al principio de esta publicación. Como ya sabemos, una aplicación basada en la web requiere una interfaz de usuario optimizada para el tacto y la capacidad de acceder a las funciones nativas. De la lista de breves introducciones, ya sabemos que los servidores de JQuery Mobile para crear interfaces de usuario en nuestra aplicación. De hecho, hay muchas otras opciones además de JQuery Mobile, por ejemplo, Sencha Touch , JQtouch , Jo , Zepto , ya que todas proporcionan una forma de producir UI hermosas o reproducir UI similares a las UI nativas optimizadas para dispositivos móviles . Uno puede ingresar a sus sitios web e ir a la página de demos y fregadero de la cocina para elegir el que más le guste.
Y luego, ya sabes, el resto de los elementos de la lista servirá como una solución que une las interfaces de usuario con las características nativas. El más famoso es Phonegap, que expone las características nativas a través de una API de Javascript. Uno puede integrar los códigos que pueden acceder a las funciones nativas utilizando la API proporcionada en sus códigos HTML + CSS + JS regulares. Y Appcelerator’s Titanium es otro marco famoso que proporciona SDK para construir aplicaciones por Javascript con soporte de HTML5 + CSS.
Ha habido muchas preguntas sobre las diferencias, los pros y los contras entre Titanium y Phonegap, sobre cuál es mejor. Pero sin sorpresa, estos dos marcos son en realidad muy diferentes entre sí. La versión corta es que Titanium es como una versión mejorada de Phonegap, que proporciona no solo una vista web y un SDK JS que expone la característica nativa, sino también la capacidad de ‘ compilar ‘ sus códigos Javascript en .class (Java) o .o nativos (Objetivo C) y, por lo tanto, proporciona una apariencia nativa para su aplicación [3] [4]. Al decir ‘ compilar ‘, en mi opinión, en realidad compiló la parte de Javascripts que tiene acceso a las características nativas y los componentes nativos de la interfaz de usuario. Otras partes de la aplicación, por ejemplo, las lógicas permanecerán como Javascript y un intérprete de Javascript seguirá funcionando para la interpretación. Por lo tanto, es más como un marco híbrido que intenta proporcionar aplicaciones con sentimientos nativos (tenga en cuenta que el rendimiento de Phonegap es realmente pobre). Con Appcelerator y Titanium, la compañía también proporciona una manera fácil de acceder a sus servicios en la nube, lo que hace que sea aún más fácil crear una aplicación que realmente se mueva en la nube.
Entonces, ¿qué está haciendo Phonegap aquí ya que Titanium ya está libre para usar? Si bien proporciona tantas funciones potentes, la curva de aprendizaje del desarrollo con Titanium es realmente muy empinada. Es muy probable que noobs como yo en Javascript pasen meses para aprender Titanium. Es más como una herramienta para personas que ya están familiarizadas con la programación Javascript. La segunda preocupación cuando se usa Titanium es que la capacidad multiplataforma en realidad no está funcionando tan bien como lo ha hecho Phonegap porque Titanium solo es compatible con Android / iOS / Blackberry. Lo último es que necesitaría usar su propia llamada IDE Titanium Studio para desarrollar y compilar, mientras que uno solo necesita tener un editor de texto Eclipse / XCode + SDK + para desarrollar aplicaciones Phonegap.
Sencha Touch 2 sirve principalmente como un marco de interfaz de usuario y le permite desarrollar interfaces de usuario muy suaves y táctiles de forma programática al igual que su predecesor Ext JS . Sencha es diferente de otras bibliotecas Javascript UI en la forma en que funciona Sencha y es más que solo una UI Js Lib. En primer lugar, Sencha Touch es un marco MVC, proporciona una forma fácil de programar para construir la interfaz de usuario. Además, Sencha Touch proporciona acceso limitado a funciones nativas como Geolocalizaciones, etc. En este momento, Sencha Touch también proporciona herramientas para optimizar sus códigos y empaquetar sus aplicaciones en aplicaciones estándar de Android o iOS. Aunque la curva de aprendizaje de Sencha Touch 2 también es empinada, no habrá ningún problema si ha trabajado con Ext Js antes. Incluso novatos como yo pueden crear una aplicación en minutos.
Aquí llegamos a la parte de resumen aquí, después de algunas introducciones detalladas para cada marco en nuestra lista. Personalmente prefiero Sencha Touch 2 + Phonegap. Una razón es que Sencha Touch nos proporcionó un marco de programación muy maduro y configuraciones de interfaz de usuario súper suaves y altamente personalizables. Y la parte más importante es que todos los contenidos están basados en la web, en realidad se presentan como páginas web. Y Phonegap compensa las limitaciones para acceder a las funciones nativas, proporcionando una vista web simple en su aplicación para mostrar la interfaz de usuario que creó con Sencha Touch. En cuanto a mí, no es razonable usar Appcelerator en nuestro proyecto, ya que ya conocemos los lenguajes de programación esenciales para crear aplicaciones de Android / iOS y no necesitamos temporalmente esos dulces servicios en la nube.
Refs:
[1] h ttp: //en.wikipedia.org/wiki/Multiple_phone_web_based_application_framework
[2] http://developer.appcelerator.co …
[3] http://developer.appcelerator.co …
[4] http://stackoverflow.com/questio …