2011-02-04 11 views
11

Con las actualizaciones recientes de Sencha Touch, se parece cada vez más a una aplicación nativa para iPhone e incluso iPad. Todavía hay muchas diferencias y la documentación es un poco escasa en este momento.¿Debo escribir mi aplicación con Sencha Touch o nativo?

Mi pregunta es, dado que ya soy completamente capaz de crear aplicaciones nativas en Objective C, ¿debería cambiar a Sencha Touch y PhoneGap, o comenzar a integrar esas herramientas?

¿Cuáles son los pros y los contras?

EDIT:

Gracias por los puntos interesantes. Uno de mis socios redactó su opinión sobre el fin de semana con algunas ideas que no se han mencionado aquí: Web vs Native: How Should You Write Your App?

+0

¿Por qué recibo un voto negativo sobre esto? Tal vez alguien es un verdadero acérrimo nativo ... –

Respuesta

13

Pros:

  • más fáciles de portar a otras plataformas.
  • Puede distribuir fuera de la App Store si la aplicación no requiere ninguna API nativa.

Contras:

  • Desplazamiento todavía no se siente del todo bien con cualquiera de los marcos táctiles basados ​​en la web.
  • Más lento (las animaciones CSS aceleradas por hardware ayudan, pero no es tan flexible como Core Animation).
  • Carece de acceso completo al hardware nativo y la integración del sistema operativo (PhoneGap proporciona algunos, pero no todo), como:
    • notificaciones de inserción.
    • Notificaciones locales.
    • Actualizaciones de ubicación de fondo (incluida la supervisión de ubicación significativa).
  • Esto es discutible, pero en mi opinión es más fácil desarrollar Cocoa Touch que JavaScript + Sencha/XUI/etc.
3
  • Pros: Ninguno
  • Contras: Nunca será tan nativa como una aplicación nativa . Y depende de una API que no es suya, por ejemplo. todas sus aplicaciones serán inútiles una vez que detengan manteniendo su API.

Sin embargo, si no tiene experiencia y solo necesita hacer una aplicación para un evento corto (próxima promoción de película, etc.), esto sería perfecto ya que le ahorraría tiempo. Pero bueno, si quieres una aplicación con un ciclo de vida más largo, ve a ser nativo.

+2

Claro, la capacidad de ejecutar su aplicación de iPhone en un dispositivo Android no es una pro ... –

+0

@ckuetbach: No, no es así. Ambos sistemas operativos tienen una filosofía diferente. Es como decir que pro Qt sería la posibilidad de tener programas de Windows ejecutándose en una Mac. Claro que lo hacen, pero querer vomitar no es una buena sensación. – JustSid

+0

@ckuetbach: Brechreiz wäre das passende Wort, was auch immer das jetzt auf Englisch ist. – JustSid

5

Preguntas que conducen a su propia respuesta:

¿Necesita el rendimiento bruto de una aplicación nativa ARM? ¿O necesitas una API que solo esté disponible para Objective C? (Por ejemplo, para síntesis de audio en tiempo real, etc.) ¿Desea utilizar las últimas API de Apple sin esperar a alguna herramienta o proveedor de biblioteca?

¿Le importa que su código fuente de JavaScript esté visible sin cifrar dentro del archivo .ipa de cada cliente?

¿O desea trasladar fácilmente una aplicación más simple multiplataforma?

3

Olvídese de los detalles de comparar estos marcos con aplicaciones nativas, el nativo siempre ganará. Si su aplicación necesita ejecutarse en plataformas "múltiples", entonces es mejor que use PhoneGap y un marco de JavaScript. Estos marcos tardarán un tiempo en madurar, por lo que tendrá que averiguar si puede salir adelante con lo que ofrecen ahora. PhoneGap también es de código abierto, por lo que si hay algo nativo que desea exponer, contribuya al proyecto.