Siguiendo con el análisis de las alternativas para el desarrollo de aplicaciones móviles, hoy es el turno de las aplicaciones móviles nativas.
Las aplicaciones móviles nativas son el tipo de aplicación más común, están diseñados para plataformas específicas y están escritos en los lenguajes que la plataforma acepta, Objetive C y Swift para iOS y Java para las aplicaciones nativas de Android. Las aplicaciones nativas también se desarrollan utilizando su IDE (entordo de desarrollo integrado) específico, XCode en en iOS y Android Studio en el caso de Android.
Tanto Apple como Google proporcionan a los desarrolladores sus propias herramientas de desarrollo, y SDK´s. La mayor parte de las compañias invierten en desarrollo de aplicaciones nativas debido a la gran cantidad de ventajas ofrecidas en comparación con otros tipos de aplicaciones (por ejemplo las Web Apps, analizadas en una entrada de este blog). A continuación analizamos las ventajas e inconvenientes de este tipo de desarrollo móvil.
Ventajas
- Son más rápidas y están mejor adaptadas al estar realizadas especificamente para la plataforma.
- Ofrecen el mejor rendimiento.
- Son distribuidas en la tienda de aplicaciones de la plataforma. (App Store en iOS y Google Play en Android).
- Son más intuitivas e interactivas.
- Desarrollar en entorno nativo ofrece al desarrollador la totalidad de funciones de la plataforma.
- No requiere conexión a Internet, dependiendo de la funcionalidad de la app.
- En general ofrecen mejor experiencia de usuario, ya que la interfaz de usuario se adapta más a los estándares específicos de cada plataforma.
Inconvenientes
- Desarrollo con mayor curva de aprendizaje.
- Desarrollo más caros, al decantarse por un un desarrollo nativo habría que realizar un desarrollo para Android y otro para IOS si queremos tener la App presente en las 2 plataformas.
- No es una buena opción para aplicaciones sencillas.
Sin comparamos las aplicaciones nativas con las Web Apps, estan no pueden acceder al hardware del dispositivo lo que puede ser una desventaja en ocasiones, por el contrario tienen la ventaja de ser fácilmente actualizables sin requerir la intervención del usuario ni tener que realizar descargas de actualizaciones desde las tiendas de aplicaciones.
Como conclusión, el desarrollo de aplicaciones nativas proporciona a los desarrolladores mayor control sobre la experiencia de usuario. Es conveniente usar los elementos nativos para no sacrificar los patrones de diseño de cada plataforma. Sin embargo , si no nos preocupa la experiencia de usuario y queremos comercializar algo de una forma rápida y barata, la mejor opción puede ser una Web App.