¿Desarrollo web y móvil en simultaneo es posible?
Blog de opinión personal de temas relacionados con Diseño e interacción

¿Desarrollo web y móvil en simultaneo es posible?

Hola comunidad, hacer que un sitio o aplicación web y una app móvil tengan las mismas características y crezcan de forma simultánea fue un gran lío hasta hace poco, ya que era indispensable crear dos proyectos o hasta tres desde cero dado que las características de las aplicaciones web dependen más de la intervención entre HTML, CSS y JAVASCRIPT y para el desarrollo de la aplicación móvil (dependiendo si es para IOS o Android) requiere procesos muy distintos dado que requiere ser empaquetado para que funcione, eso sin mencionar la complejidad de su desarrollo en aspectos de Programación y diseño.

IOSObjetive C o Swift Android: Java y Kotlin.

Antecedentes

Si nos fijamos en estos dos ecosistemas existen dos alternativas donde Swift es para IOS como Kotlin para Android lenguajes con curvas de aprendizaje mas cortas en comparación a Objetive c y Java respectivamente, lo que demuestra una clara intención de hacer mas fácil el desarrollo pero aun es necesario el aprendizaje de nuevas herramientas y entornos de trabajo radicalmente distintos, que en aspectos de costo son elevados para una empresa o producto digital que desee abarcar la totalidad de mercado digital, tanto para su creación como para su escalabilidad y mantenimiento.

Para esto surgieron interesantes opciones derivadas del ecosistema web y la versatilidad de JAVASCRIPT ya que tiene la capacidad de trabajar del lado del cliente y del servidor, aspecto que desde el surgimiento de NODEJS estableció interesantes posibilidades de integrarlo en desarrollo compilados. el primer proyecto que se adentró en este objetivo fue Apache Cordova cuya premisa es integrar el navegador web y compilar interfaces diseñadas en HTML, CSS, Javascript como nativas y sin necesidad de conexión a Internet para su funcionamiento. aspecto que en un principio significó la posibilidad de llevar un hilo de desarrollo que conectando funcionalidades del móvil como (cámara, GPS, Almacenamiento interno, brújula, directorio, vibración, giroscopio) mediante librerías creadas en Javascript facilitando su uso. La única limitante es el rendimiento de estas en comparación de las desarrolladas en nativo.


Este rendimiento se veía afectado principalmente por el contenedor o capa adicional “Motor de renderizado” del navegador que intermedia peticiones y ralentiza la respuesta aspecto que en aplicaciones con una gran cantidad de procesos que vinculan el uso latente de hardware y requiere gran despliegue visual. Este proyecto actualmente sigue vigente y su propietario es Adobe y si deseas mas información puedes entrar a https://phonegap.com/ y explora las características mas recientes de su versión 8.0.0.

Posterior a este proyecto se derivaron desarrollos independientes como Titanium Appcelerator que mediante un IDE propio propone una alternativa con mayor rendimiento respecto a Phonegap y características adicionales como la integración a su plataforma de administración que facilita al desarrollador un entrono de analíticas de desempeño posterior al despliegue de la app.

En simultaneo las grandes compañías del ecosistema de aplicaciones y servicios basados en Web, propiamente me refiero a Google, Microsoft Facebook, plantean una estructura de trabajo que permitiera a la comunidad desarrollar de forma mas eficiente sus aplicaciones. Microsoft desarrolla un lenguaje llamado Typescriptbasado en Javascript que busca nutrir y mejorar sus prestaciones tipificando mejor la arquitectura de desarrollo, esto causa un interes particular en Google tras su apoyo a proyectos como Polymer y Angular enfoca sus esfuerzos a que este segundo brindando mayor soporte y la integración de sistemas con lo creado por la empresa de Redmond, posteriormente integran el empaquetado de aplicaciones con proyectos como IONIC o NativeScript que junto a Angular brinda al desarrollador la oportunidad de desarrollar en nativo aspecto que antes no era posible con otras soluciones, asi mismo Facebook hace publico su framework de desarrollo Reactjsque constituye un paso adelante respecto al desarrollo planteando el concepto de reactividad que modulariza el comportamiento de la interface muy similar a lo que hacía en ese momento las apps nativas. Poco tiempo después del éxito y acogida de su framework, deciden adicionar su propia arquitectura para el empaquetado de apps nativas llamada ReactNative que utiliza para su mismo producto: Facebook y cuyo rendimiento es similar al nativo, dando gran confianza a la comunidad de desarrolladores y diseñadores de aplicaciones.

Dando como resultado un panorama donde Javascript y Typescript generan posibilidades muy proliferas en torno al desarrollo de apps híbridas, sin mencionar que en este momento están en desarrollo múltiples mejoras en todas las ya mencionadas dado que la base: HTML, CSS y Javascript está integrando nuevas características para brindar una experiencia mas completa desde el móvil.

Y como siempre doy mi punto de vista desde la experiencia, donde he realizado algunas cosas con Ionic y Phonegap, teniendo claro que el desempeño empaquetando con Ionic es mucho mas fluida. la base la conecto con Vuejs dado que su curva de aprendizaje es muy corta en comparación a Angular y React, sin intentar dar veredictos, solo que anteriormente trabaje con Angular pero la experiencia de aprendizaje fue algo compleja, sobretodo por que en ese entonces el equipo de desarrollo de Google estuvo realizando muchos cambios de la versión 1 a la 2 y de ahí a la 4, yo en lo personal me quede en la 1 y medio pues tuve que aprender todo de nuevo, cosa que me desencantó y respecto a ReactNative no lo he ni mirado, pero he hablado con amigos desarrolladores y dan muy buenas referencias, sobre todo en lo prolijo al integrarse con múltiples arquitecturas Backend.

Mi veredicto en este tema tiene un enfoque de alguien que quiere procesos de aprendizaje puntuales y de fácil implementación, lo recomendable es empezar con Vuejs y luego añadir librearías para unificar UI (Interface de usuario) con alternativas como Vuetify que tengo en especial estima por su apartado visual de controles que como algunos que me conocen saben bien mi gusto por el Material Design que encuentro bastante completo y agradable. Paso al apartado de empaquetado pero no sin antes sugerir darse una pasada por proyectos como WEEX Quassar su apartado UI es muy bien logrado. Para empaquetado sugiero Ionic por sus prestaciones al integrarse con aplicaciones tanto para IOS o Android. Una vez desplegado el proyecto es increíblemente fluido.

Espero sirva para dar una referencia que ayude a cambiar la visión general en torno al desarrollo en paralelo de Proyectos para web y móvil, como siempre desde mi punto de vista sincero y Neutral.

Un Saludo, comunidad.

Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas