Menudo lío habéis montado aquí.
#1 solo había preguntado por donde empezar, no empezar la tercera guerra mundial.
A ver, creo que lo de adoptar posturas irreconciliables no es la solución y mucho menos en un mundo como el nuestro en que precisamente nos dedicamos a solucionar problemas.
¿Todas las aplicaciones son nativas?
Si y no.
Comparten la base sobre la que funcionan, en el caso de las escritas en cordova, estas poseen una capa de abstracción escrita en el lenguaje nativo de cada plataforma para la que son compiladas, mientras que la lógica e interfaz de la app corre sobre un navegador, que normalmente no va incluído en el paquete de la app, si no que se tira del propio navegador del sistema operativo, con sus pros y sus contras.
Por el otro lado tenemos las totalmente nativas, cuya lógica e interfaz está escrita por completo en el lenguaje soportado por su plataforma y el código no es reutilizable en el caso de querer portarla a otra.
Dicho esto ¿Qué usar?. Como buen gallego respondo: Depende
Las aplicaciones híbridas han mejorado exponencialmente en los últimos años y su progreso se acelera, no obstante, sigue habiendo ligeras diferencias de rendimiento con respecto a las aplicaciones totalmente nativas.
La decisión sobre que usar y que no recae en si estás dispuesto a sacrificar una porción de tu rendimiento a cambio de tener un código que funciona en cualquier cacharro con un navegador web (Por el amor de dios, se podrían hacer funcionar las apps ionic hasta en las nuevas neveras de Samsung).
En caso de que el rendimiento sea un factor clave, necesario para tu app y no sacrificable, tira por el desarrollo nativo.
Si tienes poco o ningún presupuesto, desarrollas en solitario o puedes permitirte sacrificar un poco de tu rendimiento, usa híbrido.
Señores, creo que enfrentar puntos de vista minusvalorando las aportaciones de los demás, descalificando y tachando de cuasi ineptos a los que tienen puntos de vista y experiencias distintas a la nuestra nos hace un flaco favor, no solo como usuarios, también como personas.
Una vez respondido al tema general del hilo diré que yo me dedico a desarrollar aplicaciones para una empresa que no flaquea en presupuesto, con un buen equipo de multimedia y desde el primer día, casi cada línea de código que he tirado, ha sido para desarrollar apps híbridas.
Tal y como he comentado antes si, las apps nativas tienen un rendimiento ligeramente menor, pero cuentan con algunas desventajas en ciertos aspectos y con la gran ventaja de ser multiplataforma.
Alguno ha comentado por ahí que ha trabajado con Ionic y Angular1, y otro que el "cool kid" de turno la lió con el desarrollo híbrido.
Ionic1 y Angular1 son otro mundo con respecto a Ionic y Angular2, en rendimiento, arquitectura, mejoras... se han reconstruido de 0 y su rendimiento es impresionante cuando son bien usados
Como apuntaba Zerokk por ahí, y aquí ya vamos con el tema "cool kid": Son aplicaciones, no juguetes. Si te están pagando por ello, es tu responsabilidad como desarrollador tomarte en serio el proyecto, implicarte con tu cliente y entregar el mejor producto posible. Y para ello debes emplear más tiempo en optimizar, tener en cuenta las diferencias que existen entre los navegadores de las distintas plataformas, usar los recursos con los que te provee el framework y las herramientas que usas y reflexionar sobre si tu enfoque para un determinado problema es el correcto desde el punto de vista del rendimiento.
¿Eso amplia el tiempo de desarrollo? Si
¿Requiere de un mayor presupuesto? Si
Y aun así, seguirá saliendo mucho más barato y flexible que un desarrollo puramente nativo.