Aprende sobre Desarrollo Mobile Low-No Code

Sofka Blog
Por Jorge Luis Rodriguez Carreño y Rodrigo Gallego Arboleda
Comparte

El desarrollo de aplicaciones siempre ha sido un proceso artesanal donde se requieren sólidos conocimientos en programación, lo que genera que la creación de apps sea un proceso tedioso, extenso y costoso. Sin embargo, en los últimos años con el constante y progresivo cambio de las tecnologías ha emergido el “Low Code – No Code”, que busca simplificar y acelerar el proceso de desarrollo, minimizando la escritura de código.

Las herramientas de Low-No code cuentan con interfaces intuitivas donde se arrastran y sueltan componentes predefinidos, además con sencillas configuraciones, que ayudan a crear aplicaciones personalizadas y con muy poco esfuerzo; sin embargo, existen limitaciones donde las aplicaciones son poco flexibles al momento de modificar el código o en la implementación de interfaces complejas, por tal razón se debe evaluar con sumo cuidado el uso de dichas herramientas y evitar errores en el desarrollo del producto. 

<LOW-NO CODE/>

En Sofka, con el fin de siempre brindar las mejores experiencias a nuestros clientes, hemos tenido acercamientos con diferentes herramientas y así mantenernos a la vanguardia. En esta ocasión ensayamos plataformas mBaaS para potenciar el backend de las apps y Low-No code para el front.

En primera instancia encontramos las plataformas de Mobile Backend as a Service (mBaaS), las cuales proporcionan una plataforma en la nube que simplifica el desarrollo y la gestión del backend de una aplicación móvil, liberando a los desarrolladores de la complejidad de crear y mantener una infraestructura backend desde cero.

Back4app

Back4app es uno de los backend de código abierto más sorprendentes como proveedor de servicios que está ayudando a los desarrolladores a crear aplicaciones web y móviles extensibles y escalables a un ritmo rápido.

 Esta solución de back-end como servicio completamente administrado, presenta escalado y aprovisionamiento automático de aplicaciones basadas en servidor de análisis. Sorprendentemente, esta solución puede ayudar a optimizar y personalizar cada una de sus aplicaciones de manera diferente.

 Este aspecto distintivo de esta solución está convirtiendo a back4app en una de las opciones preferidas entre los desarrolladores de aplicaciones.”

 Dentro de los servicios y características que encontramos en back4app podemos resaltar los siguientes:

  • API Rest.
  • Base de datos con almacenamiento de archivos incluido.
  • Servicio de subdominio (web-hosting).
  • Verificación por Email.
  • Registros con Apple, Instagram, Google, LinkedIn, Github, VKontakte.
  • Gran ahorro en el tiempo de desarrollo en vista de que solo se requiere ajustar la base de datos para tener un backend listo para consultar.
  • Suministra documentación descriptiva para cada funcionalidad y servicio que prestan.
  • Login con Apple y Google.
  • Se puede activar live-query y real-time database (base de datos reactiva).
  • Se puede crear una base de datos usando la propia interfaz de Back4app.
  • Se pueden importar y exportar los registros de la base de datos.
  • Suministra documentación detallada de cada clase creada en la BD y como realizar las consultas.
  • Cuenta con dos opciones para consumir los datos,  API Rest o el SDK de Back4app  llamado “Parse”.
  • Cuenta con una versión “Free” para realizar pruebas y con versiones pagas que prestan excelentes funcionalidades.

Desde el contexto de Frontend realizamos ejercicios con Flutter Flow.

FlutterFlow

FlutterFlow es un entorno de desarrollo visual que permite a los desarrolladores y no desarrolladores crear aplicaciones móviles nativas utilizando el framework Flutter de Google. Con FlutterFlow se abre una puerta de oportunidades para el desarrollo de aplicaciones sin la necesidad de escribir largas líneas de código.Dentro de los servicios y características que encontramos en FlutterFlow podemos resaltar los siguientes:
  • La integración con Stripe, Github, Algolia, Google Analytics, Firebase, Google Maps y otros.
  • Push Notifications.
  • El despliegue de aplicaciones en tiendas.
  • Al ser desarrollo, Flutter permite el soporte para múltiples plataformas (Android, iOS, Web, Linux, Windows).
  • Apps Multilenguaje.
  • El ahorro en el tiempo de desarrollo es más notable si se usan los templates que tiene la aplicación o los que han sido desarrollados por otros usuarios, en vista a que hay que configurar los llamados a la API y definir ubicación de widgets, variables globales y algunas partes del diseño de los componentes.
  • La optimización de tiempo requiere de práctica y consulta de una documentación que es bastante detallada.
  • Permite guardar el estado de las variables de la aplicación.
  • Permite pasar variables a las API Calls.
  • Permite adicionar funciones personalizadas o código adicional a la aplicación.
  • Contiene gran cantidad de templates creados por la comunidad, los cuales pueden ser clonados gratuitamente.
  • Se puede acceder al código fuente de la aplicación.
  • Permite conectar con GitHub.
  • Permite descargar el código de la aplicación.
  • Permite descargar el archivo APK.
  • La versión gratuita solo permite 2 llamadas a la API.

Nuestro Ejercicio

Decidimos probar y combinar el gran poder de estas dos herramientas para generar una pequeña aplicación de prueba, y de esta forma, evaluar los beneficios que estas dos plataformas brindan.

No Code
No Code
No Code
Mobile development
Desarrollo mobile

En las imágenes anteriores observamos 4 vistas:

  1. Inicio de sesión
  2. Registro de usuario
  3. Lista de categorías
  4. Lista de productos

La creación de vistas mediante “drag and drop” permite una rápida implementación de interfaces y manejo de la navegación. Para el inicio de sesión y registro de usuario usamos la integración con Firebase, otra herramienta poderosa mBaaS, con el objetivo de resaltar las cualidades de Flutter Flow y su fácil e intuitiva integración con múltiples plataformas. Para la implementación de categorías y productos, se implementa una base de datos relacional con dos tablas en Back4app, la implementación de las tablas expone automáticamente los endpoints para el consumo de las mismas, lo cual permite una  integración fácil con flutter flow para el consumo de las mismas.

No Code
No Code

Apuntes Finales

Durante el ejercicio evidenciamos una corta curva de aprendizaje para las dos herramientas, lo cual permite habilitar el conocimiento en muy poco tiempo y ser productivos rápidamente. Cabe destacar que si bien son poderosos instrumentos, concluimos que para aplicaciones demasiado complejas no suelen ser la mejor opción, puesto que dichas apps pueden requerir  integraciones con terceros o vistas demasiado dinámicas, que lleven a modificar el código que proveen las plataformas, aumentando el nivel de complejidad drásticamente. Se recomienda estudiar muy bien la necesidad para no tomar decisiones erradas, sin recargar la responsabilidad sobre las herramientas en mención.



Últimos artículos