Clasificacion de las aplicaciones
Aplicaciones
nativas
Una app
nativa, en principio (y solo en principio), es una aplicación que se
desarrolla directamente en el lenguaje nativo de cada terminal. Por eso,
si vamos desarrollar una App nativa tendremos que utilizar un lenguaje
diferente para cada Sistema Operativo. Los lenguajes de programación serán por
tanto los siguientes:
iOS: Objective
C
Android: Java
Windows: C#
y Visual Basic .NET.
BlackBerry
10
Obviamente
todo depende del nivel y experiencia del equipo de desarrollo y de que el
código resultante de su trabajo sea el correcto, pero en principio, una App
nativa es la opción cuyo resultado es el más robusto y fluido ya que se
desarrolla directamente para integrarse en el Sistema Operativo. Si tu App
surge de una buena idea y un diseño bien trabajado a todos los niveles, la
experiencia de usuario será completa ya que su funcionamiento, rendimiento y
respuesta será el más inmediato de todas las opciones de desarrollo incluso en
los diseños más complejos y personalizados.
Desarrollar
Apps nativas te permitirán:
· Tener
acceso a todo el hardware del móvil como puede ser el GPS, la cámara y demás
accesorios.
· Acceso a
todas las librerías gráficas del SO (botones, etc).
· Envío de
notificaciones push, una de las herramientas de comunicación más potentes de
las Apps.
· Modular
todas las ventajas que ofrece estar las diferentes stores de aplicaciones como
puede ser integrar contenidos de pago para modelos de negocio Freemium mediante
In-App Purchasing.
·
Sincronizar o cachear datos para funcionar sin conexión a internet.
Las
desventajas son fundamentalmente del tipo económico ya que, como decíamos
antes, para hacer apps nativas debemos conocer los diferentes lenguajes de
programación de cada Sistema Operativo. No será posible reutilizar el código de
un SO en otro y no solo eso, debes tener en cuenta que las Apps necesitan
actualizaciones a nuevas versiones del SO, mantenimiento y/o aumento y mejoras
de las funcionalidades… y todas estas cosas deberás hacerlas directamente en el
código nativo de cada plataforma.
Por lo
tanto, realizar tu proyecto en nativo te obligará a contar con una plantilla de
técnicos con alta preparación y experiencia en lenguajes mucho menos utilizados
entre los desarrolladores (comparado por ejemplo con lenguajes web). Los
programadores expertos en estos lenguajes están muy solicitados y a mayor nivel
y experiencia, mayores serán sus expectativas económicas. Factores sin duda
determinantes en el precio final de todo desarrollo.
Aplicaciones
híbridas
Generalmente consisten en
Apps que contiene en su interior el navegador web del dispositivo. Para su
desarrollo se utilizan frameworks de desarrollo basados en lenguajes de
programación web (HTML, CSS y JS). Actualmente Phonegap es el más
conocido (aunque no el único) y el que concentra mayor número de
desarrolladores a su alrededor.
En este tipo de Apps el
nivel de integración con el SO dependerá del framework de desarrollo utilizado
y como de abierto sea el SO (BlackBerry 10 es todo un ejemplo), teniendo cada
uno de ellos sus ventajas e inconvenientes. Actualmente con esta opción tendrás
bastante acceso al hardware del teléfono e incluso en algunos casos a las
librerías del SO, pero lo cierto es que aunque de momento no se ha conseguido
igualar la respuesta y la experiencia de usuario de una App nativa, hay que
reconocer que va camino de hacerlo.
De todas maneras, la cosa
ha ido evolucionando a desarrollos más complejos en los que ciertas
funcionalidades se ejecutan como una web y otras en nativo, como por ejemplo
Instagram que utiliza nativo para hacer y publicar la fotografía, pero web para
desplegar las fotografías y perfil.
Su uso es una opción muy
económica y muy interesante para llegar al mayor número de usuarios repartidos
en las diferentes plataformas y dispositivos aunque por el momento sus
limitaciones son claras.
Aplicaciones Web
Pues una Aplicación
Web o Web App es precisamente eso, una web a la que se accede
a través de una URL en el navegador del dispositivo (Safari, Chrome o
el que sea) y se adapta al formato de tu pantalla para que tenga
aspecto de navegación App. Los navegadores de los móviles permiten
crear un acceso directo en nuestro escritorio de esta web, así que esa será la
manera de “instalarla” (si se le puede llamar así) en nuestro dispositivo.
En función de como sea
nuestro proyecto tecnológico quizá solo nos interese adaptar nuestra web a
formato móvil con lo que hacer una Web App se convierte en una solución
estupenda. O quizá consideremos necesario que además de tener nuestra App en
las diferentes tiendas, tener una versión web a la que se acceda desde un
navegador, en ese caso es importante que tengas en cuenta que muchos de los
diferentes frameworks de desarrollo híbridos que existen (y también Titanium
Appcelerator) te permitirán un desarrollo multiplataforma completo que incluirá
también la web.
A nivel de lenguajes de
programación pues efectivamente es lo que estás suponiendo: al ser una web
deberás usar lenguajes de programación web (HTML, CSS y Javascript).
Sus inconvenientes
principales son:
Están altamente limitadas
en el acceso al hardware del dispositivo.
Tiempos de respuesta y
experiencia de usuario propios de una navegación web.
No se encuentran en las
Stores, siendo este el lugar donde la gente está acostumbrada a buscar apps.
Comentarios
Publicar un comentario