¿Apps nativas o Apps híbridas o Progressive Web Apps?
Android + iOS = React Native. Futurible PWA (Progressive Web Apps)
¡¡Hola!! ¿Cómo va todo? ?
Ahora que casi seguro estás leyendo este post desde tu móvil, probablemente nunca te has planteado cuál es el desarrollo que hay detrás de la mayoría de las Apps que tienes instaladas en tu dispositivo, tanto tablet como móvil.
Te garantizo que es un mundo apasionante que seguro, nos da para escribir un post o más de uno. De momento empezamos con este para conocer los básicos del universo App. Cómo ya sabes en BAB cualquier tema tecnológico nos apasiona, pero este especialmente porque nos afecta directamente por el hecho que la velocidad y fluidez en la entrega de los contenidos, es un factor clave para nuestros clientes.
Mayoritariamente tienen proyectos editoriales digitales dónde el reconocimiento y recurrencia por parte de los usuarios se fundamenta en el consumo de la información desde dispositivos móviles y por lo tanto de una manera u otra, están sujetas al hecho que este patrón de conducta sea a partir de una App nativa o una App híbrida, independientemente de la plataforma iOS / Android o la tipología de dispositivo desde el que se conecten.
Además, en los últimos tiempos ha aparecido una nueva tecnología llamada PWA (Progressive Web Apps) que marcará un antes y un después en el sector de las Apps, aunque en BAB no hemos adoptado esta tecnología puesto que Apple todavía no las acepta.
Empezamos por entender que es una App nativa desarrollada por iOS, es decir el sistema operativo nativo para los dispositivos de Apple y una App nativa desarrollada para Android el sistema operativo creado por Google, que utilizan el resto de dispositivos del mercado independientemente del fabricante, a excepción de otros sistemas más residuales como Windows Phone, desarrollado por Microsoft y actualmente sólo instalado de serie en dispositivos Nokia y Microsoft.
Entender las diferencias básicas entre estas dos plataformas mobile, nos ayudará a comprender el porque de la evolución natural y lógica de las Apps nativas hacia las Apps híbridas y su exponente más avanzado que es React Native, framework de programación 100% móvil, liberado en 2015 por Facebook que es quien lo creó y desarrolló para aplicar a su propia App y también a Instagram. Esta tecnología representa un ahorro sustancial en el tiempo de desarrollo y costes y por lo tanto una reducción en el TTM (Time To Market) y la implementación de versiones MVP (Minimum Viable Product).
¿Cuáles son las principales características, pros y contras de las Apps nativas para iOS y Android?
Las Apps nativas desarrolladas para iOS:
- Lenguaje de programación orientado a objetos: Objetive-C
- Se trabaja con editores de código que incluyen todas las necesidades para iOS: Xcode
- Una vez el desarrollador finaliza su trabajo lo compila en un archivo: Build
- El desarrollador decide publicar en la App Store: Build
- Una vez la sube decide en que estado: Pruebas (Beta Testing) o Terminada (Release)
- Su trabajo tiene que ser validado por Apple: iTunes Connect
- Criterios de validación de Apple: Patrones de diseño, usabilidad, contenido
- Una vez validada por Apple ya se publica: Beta (Test Flight) o App Store (Release)
Las Apps nativas desarrolladas para Android:
- Lenguaje de programación orientado a objetos: Java
- Se trabaja con editores de código que incluyen todas las necesidades para Android: Android Studio
- Una vez el desarrollador finaliza su trabajo la compila en un archivo: Apk
- El desarrollador decide publicar la App en Google Play Console: Pruebas (Alfa / Beta) Terminada (Release)
- Su trabajo debe ser validado por: Google Play Console
- Criterios de validación de Google: Contenido
- Una vez validada por Google ya se publica: Play Store
Pros de las Apps nativas iOS / Android:
- Máximo rendimiento del dispositivo sin restricciones (cámara, altímetro, GPS..)
- Se incrementa la experiencia del usuario y mejor respuesta de las acciones
- Disponibilidad en las stores App Store / Play Store
- Notificaciones push
- Constantes actualizaciones disponibles
Contras de las Apps nativas iOS / Android:
- Conocer dos lenguajes de programación diferentes: Objetive-C / Java
- Curva de aprendizaje lenta en constante reciclaje de los conocimientos
- Requiere dos perfiles diferentes iOS / Android
- Tiempo de desarrollo más elevado
- Incrementa el TTM (Time to Market) y la producción de versiones MVP (Minimum Viable Product)
- Diferentes funcionalidades para cada plataforma
¿Y cuáles son las principales características de las Apps híbridas?
Principales características de las Apps híbridas:
- Tecnología que permite convertir código JavaScript en código nativo
- Desarrolladas con lenguajes de programacio web: HTML5 / CSS / JavaScript
- Hacen funcionar el mismo código independientemente de la plataforma iOS / Android
- Aceptan la inyección o integración de código nativo iOS / Android
- Pueden acceder a los recursos de hardware de los dispositivos móviles: cámara, GPS, altímetro…
Las Apps híbridas están construidas sobre frameworks o estructuras diseñadas para la implementación y desarrollo de una aplicación, con la finalidad de gestionar por separado datos, acciones, y cómo se muestra finalmente. Estos frameworks son los encargados de convertir lenguajes web HTML5 / CSS / JavaScript en código nativo iOS / Android.
¿Y cuáles son los frameworks más populares para desarrollar Apps híbridas?
Apache Cordova (2011)
Framework 100% mobile
Utiliza lenguajes web y puede encapsular HTML5 / CSS / JavaScript en función de la palataforma iOS / Android
Puede utilizar todo el hardware del dispositivo (cámara, GPS, altímetro…)
Ionic (2013)
Construido sobre Angular propiedad de Google
Permite hacer test de desarrollo de la App en Chrome
Gracias a PhoneGap y Cordova puede acceder a todo el hardware del dispositivo (cámara, GPS, altímetro…)
Apps de Diesel y McDonald's están desarrolladas con Ionic
React Native (2015)
Construido sobre React y directamente sobre JavaScript
Creado por Facebook y liberado como Open Source con política de uso, ofrece componentes diferentes y adaptados para iOS / Android
Permite hacer test de desarrollo desde un dispositivo móvil y un emulador
Apps de Facebook e Instagram están desarrolladas con React Native
¿Y cuál es el mejor framework para desarrollar Apps para diarios digitales?
Hoy en día el mejor framework para desarrollar Apps híbridas de alto rendimiento para diarios digitales es React Native. La optimización del código y la respuesta del dispositivo al tiempo de descarga del contenido tiene que ser instantánea, de aquí la perfecta integración con las AMP (Accelerated Mobile Pages) de Google para la entrega de los contenidos a máxima velocidad.
En BAB desarrollamos Apps híbridas iOS / Android para nuestros clientes con esta tecnología, porque pensamos que es versátil, robusta y nos permite hacer cambios y actualizaciones en las Apps de forma ágil, pues no hace falta compilar el código después de cada cambio según las necesidades del momento y tipología de cada proyecto editorial. Al no ser propiamente un WebView, es decir un componente del sistema con tecnología que permite a las Apps híbridas mostrar contenido web incrustado, sino un código que se ejecuta con el motor de JavaScript, el rendimiento de React Native es muy superior al de una App hibrida desarrollada con Apache Cordova o Ionic.
Una ventaja añadida es el hecho que podemos inyectar código nativo para añadir funcionalidades extra, como por ejemplo One Signal, un servicio avanzado de notificaciones push imprescindibles para comunicar a tus usuarios las últimas novedades y que te permite tener control de las métricas de envío, apertura… básicas para cualquier medio digital que necesita conocer el rendimiento de las estrategias de fidelización con los usuarios.
Por otro lado al ser un código liberado por Facebook, dispone de una enorme comunidad desarrolladora detrás y ante cualquier duda o actualización sabemos donde consultar.
En las tiendas iOS / Android podéis consultar ejemplos de Apps que en BAB hemos desarrollado con React Native.
Si tu proyecto editorial necesita una App no dudes en contactar con nosotros y encontraremos una solución a la medida de tus necesidades.
Si te ha gustado el contenido, puedes compartir este post en redes sociales y 1 me gusta también nos animará a continuar... es gratis y ya sabes que las mejores cosas de la vida siempre lo son... ?
Si nos quieres sugerir algún tema que aporte valor al día a día de tu proyecto editorial puedes hacerlo aquí y si te quieres suscribir a nuestro boletín, sólo tienes que dejar un nombre y un correo en el campo de aquí debajo, y recibirás las novedades de nuestro blog antes que nadie.
Nosotros seguiremos hablando de lo que más nos gusta. ¿Estarás?
¡Hasta pronto!
Y para terminar, sabías que...
El futuro de las Apps orientadas a la entrega y consumo de contenidos, son las WPA (Progressive Web Apps) de Google, que pretenden mejorar la experiencia de los usuarios combinando lo mejor de la web y las Apps, pues estarán disponibles para los usuarios a partir de la primera visita en una pestaña del navegador y no requieren instalación y a medida que el usuario navega, compila en caché las páginas visitadas y la entrega de los contenidos siempre será a toda velocidad incluso sin conexión... esperamos que Apple las acepte.