La pregunta que hizo es algo que debo responder de manera regular. Lo siguiente es de mi experiencia trabajando en ambos lados del mundo del desarrollo de aplicaciones.
Comencemos definiendo cada uno de estos tipos de aplicaciones. Las aplicaciones que se desarrollan utilizando PhoneGap, Titanium o Worklight utilizan HTML / CSS / JS y se denominan aplicaciones híbridas . Cuando una aplicación se desarrolla utilizando el lenguaje de programación nativo de la plataforma, como Java para Android u Objective-C para iOS, se llama aplicaciones nativas .
Ahora, volverse nativo o híbrido depende de su nivel de habilidad para cada plataforma móvil, la cantidad de tiempo que tiene o está listo para invertir y las plataformas a las que desea apuntar .
- Desarrollo web móvil: ¿Qué significa que un sitio web esté "optimizado para iPad" (u otras tabletas)?
- ¿Cuál es el mejor enfoque para probar su aplicación Rails con RSpec?
- Cómo ganar desarrollando aplicaciones y sitios web
- ¿Cuáles son las desventajas relativas de crear una aplicación nativa frente a HTML5 para dispositivos móviles?
- ¿Qué tan fácil sería crear un botón de pánico personal que pueda proporcionar información de ubicación a un sitio web o aplicación de inmediato?
La mayoría de las aplicaciones que desarrollo están fuera de hobby. Mi elección de plataforma es Android porque es la plataforma con la que me siento más cómodo y es bastante fácil de desarrollar (los costos incidentales para iOS y WP8 son más y mi nivel de habilidad en esas plataformas es intermedio. Ni siquiera voy para hablar de Blackberry). Entonces mi modo de desarrollo sería principalmente nativo. Pero si tuviera todos los recursos disponibles, definitivamente elegiría una aplicación híbrida. Porque sé que soy bueno en HTML-CSS-JS y que puedo dirigirme a muchos usuarios más allá de Android.
Pero como organización, digamos un banco, desearía dirigirse a todos sus clientes y no sabe qué tipo de sistema operativo móvil utilizarían. Desea llegar a todos sus clientes al mismo tiempo y quiere que tengan la misma experiencia en todas las plataformas. Esto debe hacerse teniendo en cuenta el tiempo de desarrollo , el costo , el mantenimiento , etc.
El desarrollo nativo en este caso podría ser posible si la organización logra obtener buenos desarrolladores para todas las plataformas a las que desean apuntar. Pero eso está lejos de la realidad. Sé de un caso en el que la compañía comenzó con una aplicación de Android nativa para sus clientes, pero se enfrentó a este problema cuando decidieron incluir ios y wp8. En tal caso, las aplicaciones híbridas serían tu candidato ideal.
Desarrolla sus aplicaciones en HTML-CSS-JS, especifica qué plataformas desea cubrir y deja que el constructor genere el código por usted. Todo lo que tiene que hacer es generar la aplicación binaria y distribuirla. La capacidad de mantenimiento del código, el costo y el tiempo son menores en este caso.
Tengo que estar en desacuerdo con lo que Narayanan Hariharan ha mencionado. El uso de aplicaciones híbridas no siempre tiene que ser para una demostración rápida y sucia. De hecho, he visto algunas aplicaciones híbridas bien escritas (de hecho, hay aplicaciones buenas y malas en ambas). Estas aplicaciones han ahorrado mucho a las organizaciones en términos de tiempo de desarrollo y dinero. Sin embargo, ofrecen los mejores resultados.
Estas son algunas de las aplicaciones híbridas que conozco:
ING Vysya Mobile
TD Bank (EE. UU.)
Trip Advisor: https://play.google.com/store/ap…
Github – https://play.google.com/store/ap…
Espero haber respondido tu pregunta.