¿Nativo o no?

Gords
Coloridad
Published in
3 min readAug 27, 2018
Desarrollar de forma nativa…

Cuando uno desarrolla aplicaciones de forma profesional, hay muchas cosas a tener en cuenta, contratar personal capacitado, hacer la correcta gestión del proyecto, tener los equipos necesarios, pero quizas una de las decisiones mas importantes hoy en dia al iniciar un nuevo desarrollo es si hacer la aplicacion de forma nativa o no.

Hay varios puntos a ser considerados, y se debe analizar esta pregunta caso por caso, pero en general los mas importantes a mi consideración son los siguientes:

Diseño

En lo que respecta al diseño depende de como se quiera abordar. Si tomamos en cuenta la facilidad y la versatilidad que permiten CSS3 o SASS, podríamos decantarnos por un desarrollo híbrido, pero si quisiéramos conseguir un diseño siguiendo los guidelines establecidos por apple o google lo mas seguro es que encontremos dificultades a la hora de adaptarlos si nuestra aplicación no es nativa. A la hora de usar elementos de la interface provistos por el SO como 3d touch en IOS o picture in picture en Android generalmente suele ser mas complicado si no es imposible en frameworks híbridos.

…versus desarrollar de forma híbrida.

Costo

El costo de desarrollar una app híbrida suele ser menor que el costo de desarrollarla nativamente, hay mayor cantidad de desarrolladores en lenguajes de mas alto nivel o que se especializan en frameworks como React Native que en lenguajes nativos o de bajo nivel, ademas en las apps híbridas el código suele ser compartido muchas veces entre plataformas. Los problemas suelen aparecer cuando hablamos de mantenimiento (las apps híbridas son mucho mas propensas a tener fallas con las actualizaciones de S.O) si la app debe usar alguna característica que salió en uno de los últimos SDK también suele ser un dolor de cabeza si la aplicación no es nativa, por que se debe esperar que el vendedor o desarrolle estos wrappers por si mismo, o llamar a una función nativa de todos modos.

Rendimiento

El rendimiento en casi un 100% de las veces es mejor en una aplicación nativa, esto puede no ser tan palpable en aplicaciones sencillas como una lista TO-DO, que no utilizan mucho poder de procesamiento, por lo cual depende del uso que se le quiera dar puede resultar un inconveniente o no.

Limitaciones

Generalmente los framework usados para hacer apps hibridas tienen como objetivo facilitar el uso de los mismos, no asi poseer todas las caracteristicas y capacidades de una app nativa.

Seguridad

Otro aspecto a tener en cuenta es la seguridad, Las aplicaciones nativas se consideran más seguras que las aplicaciones híbridas por varias razones, entre las que se incluyen el hecho de que pueden aprovechar las funciones de seguridad integradas específicas de la plataforma. El hecho de que las aplicaciones híbridas dependan de las vistas web en la mayoría de los casos significa que son propensas a ataques de inyección cuando utilizan ciertas API.

En Coloridad gana el nativo.

Conclusión

No hay una única solución a este problema, en Coloridad preferimos desarrollar de forma nativa, por los beneficios tanto de rendimiento, como de mantenimiento, posibilidad de usar todas las características de cada plataforma y seguridad. Pero no podemos dejar de reconocer el valor cada vez mayor que estos frameworks pueden otorgar y que en muchas situaciones pueden ser las soluciones mas convenientes para ciertos tipos de problema.

--

--