2012-02-02 16 views
8

Necesito crear una aplicación móvil para iOS y Android (así que 2 aplicaciones). La aplicación utilizará algunas funcionalidades móviles nativas, y mucha funcionalidad está relacionada con la visualización de información estática/dinámica. Estoy planeando mover la información en la aplicación web y simplemente insertar las páginas web (HTML5) en las aplicaciones móviles (básicamente llamar a las URL y mostrar información).Aplicación móvil híbrida vs nativa

¿Es esta una forma común de desarrollar aplicaciones móviles? ¿O puede haber problemas con el siguiente enfoque híbrido? ¿Hay ventajas de la aplicación nativa más de aplicación híbrida (o viceversa)

Gracias Kamal

+0

En el mundo móvil, los términos como aplicación nativa, aplicación web y aplicación híbrida son muy comunes, pero ¿cuál es la diferencia? Aquí hay una pequeña explicación. http://markupjavascript.blogspot.in/2013/11/native-apps-web-apps-hybrid-apps-what-is-the-difference.html –

Respuesta

6

He hecho principalmente desarrollo nativo de Android, pero también he ayudado a depurar algunas aplicaciones que se crearon utilizando las plataformas de "compilación cruzada" como PhoneGap y las aplicaciones compiladas cruzadas tienen algunas peculiaridades que es agradable simplemente dejar que la plataforma lo maneje si construye una aplicación nativa.

Por ejemplo, uno de los que depuré últimamente no implementó controladores para eventos de botón de retroceso, lo que fue una experiencia de usuario realmente incómoda. En una aplicación nativa de Android, y supongo que es la misma para iOS aunque nunca he intentado crear iOs, el sistema maneja las pulsaciones de los botones hacia atrás, porque sabe qué actividad se estaba ejecutando antes de la actual y puede reconstruir su interfaz de usuario. . En PhoneGap, es esencialmente un navegador webkit envuelto en una aplicación de Android, por lo que no tiene acceso a cosas como la backstack.

Si tiene en cuenta que el sistema no va a manejar ese tipo de eventos para usted, y no necesita acceder a todos los sensores del teléfono, entonces probablemente pueda usar uno de estos marcos

1

Se puede utilizar un marco de plataforma cruzada. Si quieres nativo, puedes ir al marco Titanium. O si quieres una aplicación web para móviles, puedes ir al marco PhoneGap, que proporciona el marco de plataforma cruzada. Y esta será una aplicación híbrida.

2

PhoneGap es muy maduro y bien soportado. Terminará desarrollando su aplicación en jQuery mobile y usará CSS para el diseño. Eche un vistazo al this jQuery Mobile gallery. Todos estos "sitios web" se pueden convertir en "aplicaciones" usando PhoneGap.

Aún necesitará una cuenta de Desarrollador de Apple para compilar e implementar su aplicación para iPhone y la AppStore.

25

Es gracioso con qué frecuencia me preguntan o me hablan sobre esta pregunta específica. Aquí está mi sensación básica sobre el asunto:

HTML 5, HTML híbrido 5/Las aplicaciones nativas y nativas son todas buenas opciones, casi comparables, pero a elegir es una historia diferente.

He aquí algunas razones por las que podría elegir una de ellas, y ya que me están ayudando a entender el mundo de la programación, voy a ver cómo el producto (lo que principalmente hago) piensa en el posicionamiento del mercado y el lado comercial de cosas.

HTML 5 razonamiento técnico: Necesito esta aplicación para funcionar en casi cualquier dispositivo que un usuario pueda tener, esta aplicación no aprovechará ninguna función exclusiva o compleja del dispositivo (cargar fotos, activar notificaciones push ...).

HTML 5 Razonamiento del producto: HTML 5 puede reducir drásticamente el costo de desarrollo de dos maneras.(1) Existe un mayor grupo de talentos (por lo tanto, menor costo) que compite por proyectos de ingeniería de front-end estándar como desarrolladores de HTML 5, mientras que los desarrolladores de iOS y Android tienen una prima seria y son difíciles de obtener y (2) solo tiene que construirlo una vez y es mucho más fácil de mantener, qa y configurar copias de ensayo.

Además, no tiene que lidiar con tiendas de aplicaciones que forman parte de sus ingresos. El ejemplo clásico de esto es lo que el Financial Times (FT) hizo recientemente. El FT gana su dinero con suscripciones caras que la mayoría de los banqueros son comprados por sus respectivos bancos. Como tales, tienen una audiencia leal, cautiva e insensible a los precios, y su principal fuente de ingresos proviene casi por completo de las suscripciones. Cuando tenían su aplicación en la tienda de aplicaciones de Apple, no podían justificar el reparto del 30% de cualquier nuevo suscriptor a Apple. Dejaron la tienda de aplicaciones y crearon una de las aplicaciones más completas e impresionantes que se parece mucho a una aplicación, funciona en casi todos los teléfonos habilitados para Java y les permite mantener el dinero de los suscriptores. En la comunidad de desarrollo, han recibido muchos elogios por este sitio (puede verificarlo en su teléfono, creo que es www.ft.com) y han aumentado su conocimiento de la marca al ser innovadores. Juego, set, partido.

El último gran beneficio para HTML 5 solo es que no necesita lidiar con las tiendas de aplicaciones. Eso significa que sus manos no están atadas y también puede cambiar las cosas sobre la marcha, lo que permite una mayor iteración y un mejor producto formando mucho más rápido que tener que enviarlo a Apple y esperar dos semanas por cada mejora que desee (esto es mitigado en el enfoque Híbrido también). Después de haber administrado el sitio de la tableta HTML 5 en ABC News, era vital que pudiéramos solucionar las cosas MUY rápido en la industria de las noticias, lo que hace que este enfoque sea perfecto para ese tipo de aplicaciones.

híbrido HTML 5/razonamiento técnico Nativo: Quiero que esta aplicación se ejecute en tantas plataformas como sea posible, pero voy a operar algunos de ellos con el fin de obtener acceso a las funciones del dispositivo de propiedad y complejas en unos de los más populares . También me siento cómodo con el hecho de que el diseño puede no ser siempre perfecto en píxeles y existe la posibilidad de lentitud ocasional.

híbrido HTML 5/razonamiento producto nativo: Si tengo una aplicación que tiene que ser por lo menos en iOS/Android, no es una experiencia que tiene que ser completamente personalizado y tiene que ser una aplicación en la aplicación tienda, porque francamente, los anunciantes se entusiasman con la compra de aplicaciones, mientras que la web móvil apenas está en su radar, el enfoque híbrido sería probablemente mi mejor candidato. Como HTML 5 solo, es mucho más barato crear un sitio web para móviles y luego contratar a un desarrollador nativo para crear un contenedor de aplicaciones rápido para usted en iOS/Android/Windows. Además de esto, todo lo que necesita hacer es modificar la parte HTML, crear una nueva instancia y ¡tiene un sitio web móvil como una bonificación!

Uno de los peligros aquí es que si el HTML 5 no responde un poco o está bloqueado en 320x480 y 1028x768, cuando salgan tabletas de diferentes tamaños, tendrá que hacer muchas instancias del sitio y detectar el agente de uso, que consume mucho tiempo y una pesadilla de mantenimiento. Cuando esto sucede, generalmente se reconstruye como un sitio receptivo, lo que debería haber sido en primer lugar.

Razonamiento técnico nativo: Quiero que esta aplicación se ejecute en una plataforma exactamente de la manera que quiero, necesito obtener acceso a funciones propietarias y complejas del dispositivo. Esta aplicación necesita realizar operaciones muy complejas, usa mucha memoria y es una aplicación muy personalizada con muchos controladores de IU personalizados. (Algunas categorías incluyen: juegos en 3D, aplicaciones UGC pesados ​​como CNN iReport y muchas utilidades)

Razonamiento Producto Nativo: tener en cuenta, como una persona producto que lidiar con los presupuestos y los recursos son casi siempre limitados en el mejor.Cuando digo más arriba que Native solo es bueno para juegos tridimensionales, entiendo perfectamente que también podrías usarlo para aplicaciones más simples, pero es mucho más costoso, menos escalable y cuando se trata de presupuestos pequeños en una COMPAÑÍA a menudo no lo hace sentido. Si eres bueno en la codificación de aplicaciones, entonces debes ser nativo en lo que elijas, que es tu derecho, porque todo lo que cuesta es tu tiempo. Dicho eso, aquí están mis principales razones para usar una aplicación nativa:

Las aplicaciones nativas ganan más dinero. Mucho más dinero. Si usted es un gran editor o un pequeño desarrollador de compras integradas, el ecosistema de Apple le funciona de muchas maneras. Como editor grande, un anunciante aprovechará la oportunidad de crear la aplicación Coca Cola VH1 Music Awards y pagará por el desarrollo de la misma en la mayoría de los casos. Si intentas ofrecerles solo unos pocos millones de impresiones en un sitio web móvil personalizado, probablemente ni siquiera responderán (el enfoque híbrido suele ser un puente inteligente para este problema). Como un pequeño desarrollador, Apple maneja los pagos por ti, enseña a todos sus usuarios qué fácil es para ellos comprar cosas en aplicaciones (aquí es donde vendes y vende a los usuarios 10,000 puntos de Valor por $ 9.99) y sí, toma un corte por su problema, pero tiene distribución y está configurado para comenzar a recibir cheques con muy poco esfuerzo después de liberar su producto.

La aplicación debe ser perfecta para los píxeles y animarse como un sueño. Tal vez esta es una aplicación para una revista y no tolerarán ningún rezago de la página porque creen que la aplicación está rota y sus diseñadores te perseguirán por todos los píxeles que están fuera de lugar. Esto puede aplicarse a la mayoría de los proyectos que son para marcas premium que desean controlar todos los aspectos de la experiencia de los usuarios. Esto no es malo, pero rara vez se ve bien.

La aplicación necesita procesar gran cantidad de contenido del usuario y manejar muchos sistemas patentados de CMS o la aplicación es esencialmente una especie de plataforma.

La aplicación es una experiencia personalizada que exige una gran cantidad del procesador del teléfono y necesita conectarse al ecosistema del sistema operativo para realizar sus funciones básicas, por ejemplo, muchas utilidades (piense en appkillers en android).

No le importa la web móvil u otras plataformas que no sean las que está desarrollando. Es posible que un porcentaje de sus usuarios no pueda acceder a su aplicación y se sienta cómodo con eso.

TL: DR Los tres son muy útiles y si desea utilizarlos debe considerarse cuidadosamente desde una perspectiva técnica, de producto, comercial y de diseño.

Cuestiones relacionadas