Interesante información. Buen debate.
@smota tiene razón:
Esa forma de pensar es la correcta… sin embargo… las palabras clave acá (entre varias) son: nativo, robusto, multiplataforma, experiencia de usuario y asequibilidad.
Martin Fowler le da una mirada conceptual y con argumento a las diferencias entre el mundo de aplicaciones nativas y de multiplataforma. En definitiva indica que la experiencia de usuario y la asequibilidad son los factores diferenciadores para elegir una u otra forma de desarrollar.
Lo malo, es que esa visión, como todo lo relacionado a la informática, ya está medio obsoleta consideremos que, poco tiempo después de esa presentación, aparecen desarrollos interesantes como meteor, o cordova. Si se fijan en el slide número 24, indica que con sólo una pequeña parte de programación nativa, se resuelven las diferencias que menciona en los slide 16-18. Diferencias que siguen siendo, básicamente, experiencia de usuario y asequibilidad.
Yo creo que la pregunta fundamental acá, es ¿vale la pena hacer aplicaciones nativas para dispositivos móviles?. Siguiendo el consejo de @smota la respuesta debería ser “depende”, sin embargo, yo me atrevo a responder simplemente que no.
Desde esa presentación, el mundo de las aplicaciones Web ha sufrido tantas evoluciones, que cada vez se hace menos sostenible dedicarse de lleno a la programación nativa de un mundo tan volátil como lo es el de los dispositivos móviles (y sus sistemas operativos en constante actualización).
Pensemos como programadores. Estamos sentados frente al PC, y nos piden construir una aplicación X. Podemos hacerlo en un lenguaje que nos permita transformarlo de Android a iOS, porque hacerlo para sólo uno no tiene sentido. O es para ambos, o es para ninguno. Y ya que estamos en eso ¿por qué no lo hacemos compatible también para la Web? Y ya que estamos en eso, ¿por qué mejor no lo hacemos Web compatible con todo en HTML5 y JavaScript? Siento que todo converge a que esa será la forma de desarrollar.
Piensen en cosas tan cotidianas como GMail… Spotify… Google Play… Netflix… facebook… son aplicaciones Web, aplicaciones que usan esa tecnología. Es código que se descarga a tu dispositivo, que el navegador Web interpreta y que hace consultas pequeñas a los servidores para ir rellenando los campos con datos. Usan esa lógica y lo hacen sostenible para toda plataforma.
Creo que las desventajas que expone Martin Fowler poco a poco se fueron resolviendo. Y seguramente en un par de meses más, durante este año, desaparezcan por completo, y ya no haya ventaja sobre la programación nativa sobre la programación Web, lo que acabará por reemplazar los desarrollos futuros orientados a la multiplataforma.
DP-S