December 17, 2012

APLICACIONES NATIVAS vs HTML5

¿En qué lenguaje programar nuestra aplicación?



Esta pregunta cada vez empieza a ser más común entre desarrolladores y empresas que desean crear sus propias aplicaciones. Y es que a pesar de que HTML5 nos proporciona una aplicación multiplataforma  que funcione en cualquier sistema operativo y cualquier versión nos encontramos unas cuantas limitaciones que hacen que nuestra aplicación no consiga rendir al 100%. Podríamos decir que HTML5 esta perdiendo terreno respecto a las apps nativas. El más reciente ejemplo es el caso de Facebook.   

Declaraciones de Marc Zuckerberg, creador y CEO de Facebook:
“El mayor error que hicimos como empresa fue apostar demasiado por las aplicaciones en HTML5 en lugar de las nativas…desperdiciamos dos años. (…) Apostaremos completamente a las aplicaciones nativas en iOS y Android.”

Para responder a nuestra pregunta vamos a mostrar una comparativa entre las ventajas de una app nativa y una app en HTML5.



Aplicaciones nativas:


- En primer lugar debemos destacar que permiten explotar al máximo las prestaciones integradas en los dispositivos ya sea GPS, acelerómetro, imágenes, audio, vídeo, 3D... Aprovechamos nuestro dispositivo al 100% .

- Podemos beneficiarnos de los canales de distribución de los stores de cada plataforma. Desde el punto de vista de marketing es una característica muy importante pues nos permite difundir y promocionar mśs nuestra app, dandole opción a mucha más gente de acceder a ella. Con lo que conlleva también la actualización de la app y el uso de notificaciones push, podemos tener informado al usuario de cualquier noticia, promoción... Además contamos con que la app a pasado un control y unos requisitos impuestos por cada plataforma por lo que nos aseguramos que es compatible con nuestro dispositivo.

- Una app nativa puede funcionar sin estar conectada a la red, el modo off-line es una gran ventaja y esque permite la sincronización y el cacheo de datos para conseguir que la aplicación funcione en modo off-line. También hay que decir que HTML5 dispone de este modo pero los resultados no son del todo buenos.

- Las compras son una ventaja ya que las realizamos desde el usuario del dispositivo y no necesitamos facilitar datos de nuestra tarjeta de crédito. Es una manera de comprar mucho más fácil y más segura.

- Y por último una de las características más importante es la experiencia de usuario que se consigue con una app nativa. El rendimiento de la app es mucho más rápido y genera un menor número de basura pues se a conseguido separar la carga de datos de la de interfaz. Este es un punto fundamental para aplicaciones con mucho contenido como es el caso de Facebook, permite cargar imágenes, vídeos y cualquier tipo de contenido con mucha más velocidad que una app web. La navegación es mucho más cómoda e intuitiva. En general la aplicación aprovecha al máximo las capacidades del dispositivo.

Aplicaciones HTML5:


- La principal ventaja de desarrollar aplicaciones web es que son multiplataforma. Pueden ser visualizadas desde cualquier dispositivo móvil. Pero nos encontramos con un problema y esque el unificar todas las plataformas hace que la aplicación contenga un número elevado de limitaciones, esto hace que la usabilidad y las prestaciones de la app disminuyan.

- La programación en HTML es mucho más sencilla y se necesitan menos recursos, en cambio programar en nativo requiere mayores recursos y para cada una de las plataformas en particular.

- Estas apps no se someten a ningún control ya que no pertenecen a la plataforma, al contrario que en Android, IOS..., además las actualizaciones se establecerán automáticamente a todos los usuarios a la vez.

- La interfaz de la aplicación es completamente distinta a una nativa, esto hace que la aplicación no parezca integrada a la plataforma o dispositivo, es posible disimularlo pero los resultados no llegan a ser iguales. Por otro lado, del rendimiento tenemos que decir que que es menor y a medida que los contenidos de la app van aumentando el rendimiento de la app es menor.


Para contestar a la pregunta del principio, podemos decir que depende de las necesidades que tengamos. Si buscamos una app sencilla, rápida y económica, que sea fácil de utilizar por el mayor número de personas, nos decantaremos por una web móvil. Si lo que buscamos es una app de calidad, profesional,que ofrezca un gran rendimiento, que busque explotar al máximo el potencial y las prestaciones de nuestro dispositivo y que además este disponible en los markets para una mayor difusión necesitaremos crear un app nativa. Últimamente esta última opción es la más utilizada por las grandes empresas ya que buscan de su empresa la mejor imagen posible hacia el usuario.

En eMobc consideramos que todas las posibilidades son buenas dependiendo de la necesidad de cada uno, por lo que ofrecemos ambos servicios, web móvil y app nativa. Contacta con nosotros y solicita un proyecto

eMobc mobile for everyone

Aitor García 
Equipo eMobc


2 comments:

  1. Buenas,

    Tengo una duda sobre la licencia del Framework, al ser Affero GPL es claramente incompatible con la Apple Store

    http://michelf.ca/blog/2011/gpl-ios-app-store/

    Cualquier persona puede presentar una reclamación en la store de apple y directamente esa aplicación desaparecerá.


    Obviamente sólo los creadores del framework o poseedores de otra licencia diferente a la Affero GPL podrán utilizarlo con toda seguridad.

    Siendo así, sólo la versión comercial del framework es la que se puede utilizar para subir elementos al apple store sin peligro de que en cualquier momento la quiten por una queja de terceros, independientemente de que esta tenga el código fuente visible y descargable o no.

    Esto le resta completamente cualquier utilidad, más allá de la "didáctica" en el uso de este framework para desarrollos "indie".

    ¿ Se han planteado una licencia menos restrictiva con la Apple store ?

    ReplyDelete
  2. Hola Jose Antonio,

    No conozco al dedillo todos los términos de uso del servicio de la AppStore, pero si la incompatibilidad se reduce a lo que dice ahí, me parece (y no soy abogado) no carecer de importancia.

    En un iPhone/iPad se pueden instalar aplicaciones desde la store y ad-hoc, por lo que la distribución no va ligado. Aparte sólo dice que tienes que pagar anualmente la suscripción, no es que no puedas publicar tu app, es que tu app deja de estar visible y cualquier otra porque dejas de pagar un servicio.

    Si quien obtenga el Software recibe un acceso a los fuentes, en este caso ya están disponibles en github, y todos los derechos intactos no hay problema por parte de GNU (he sido desarrollador de GNU).

    Por parte de Apple ya no sabría decirte exactamente pero no debería de haber problema. Sino no podrías usar la GPL para desarrollo de aplicaciones en IOS y el charge afecta a quien distribuye, pero puede optar por otros mecanismos de distribución y dejar el IPA en otro servicio o quien quiera usar el software podría descargarse el framework y seguir con el proyecto y distribuirlo por otros cauces (en caso de que fueran posibles). Me parece aparte que es mezclar el tema de DRM por dispositivo con software libre, porque ese problema es más de IOS y la ejecución de un binario.

    Espero eso aclare nuestra postura. Y como dices, siempre se puede contratar una licencia para uso comercial, igualmente si haces derivados y no liberas el código fuente desarrollado.

    Por el momento no nos planteamos cambiar la licencia a otra menos libre.

    Saludos.

    ReplyDelete