Flutter vs Kotlin Karla Delgado Balderas Praxis, Gerencia de Soluciones Móviles México, Ciudad de México
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
Flutter vs Kotlin Karla Delgado Balderas Praxis, Gerencia de Soluciones Móviles México, Ciudad de México
RESUMEN utilizando tecnologías y plataformas que permitan su portabilidad entre las Considerando la tendencia creciente dos grandes familias de dispositivos que ha existido por años de desarrollo móviles en el mercado. A raíz de la de apps dentro de las plataformas aceleración en transformación digital móviles (Android, IOS) dominantes en resultante del gran confinamiento de el mercado, es relevante analizar dos 2020, el incremento en el uso de de las plataformas de desarrollo que herramientas, lenguajes y tecnologías enfocan sus fortalezas en maximizar multiplataforma ha sido dramático y se la portabilidad de los aplicativos, estima que siga a la alza [1]. particularmente en una clara segmentación de la GUI y la lógica de El mercado está dominado desde el negocio. Este ejercicio de punto de vista de volumen por comparación sirve como referencia Android, con un 71.93% [2] del share, desde un punto de vista cualitativo no pero nivelado desde el punto de vista puramente técnico sino enfocado a de las compras que realizan los beneficios y puede usarse para usuarios de iOS, las organizaciones alimentar criterios de selección entre siguen generando estrategias para una y otra. llegar a través de sus apps a todas las audiencias y cubrir casi el 100% de los PALABRAS CLAVE: usuarios de dispositivos móviles. La evolución de los frameworks cross- Kotlin, Flutter, Android, iOS, app, platform o multiplataforma ha llegado compilación. a un punto de madurez en donde se reconoce que, en muchos casos hay INTRODUCCIÓN porciones del desarrollo que debe realizarse utilizando opciones nativas. Existe una tendencia desde hace años Por consecuencia frameworks como de incrementar el desarrollo de apps React, Xamarin, Flutter y Kotlin han
trabajado, desde perspectivas Google extendió la funcionalidad de diferentes esta interacción compuesta Android Studio desde su versión 3.0 entre lo multiplataforma y lo nativo. El para incluir la capacidad de procesar centrarse en Flutter y Kotlin tiene una código de Kotlin y a partir de 2019 se explicación: son las dos opciones que convirtió en el lenguaje preferido para están respaldadas por Google, quien desarrollo nativo en Android [5]. está detrás de Android. ¿Qué es Flutter? DESARROLLO Flutter es un SDK creado por Google para desarrollo de aplicaciones ¿Qué es Kotlin? móviles y centradas en facilitar el desarrollo de UI de apps, cuidando Kotlin es el nombre tanto de un que se mantenga una misma base de lenguaje de programación código para diferentes plataformas. “pragmático” creado originalmente por JetBrains y adoptado oficialmente por Flutter utiliza un lenguaje propietario Google para la plataforma Android en denominado “Dart”. Cuenta con una 2017[3] así como de una plataforma de serie de herramientas de pruebas y de desarrollo para soluciones cross- widgets que reducen drásticamente la platform. Para efectos de este curva de entrada en el desarrollo de la comparativo, nos centraremos en el interfaz gráfica de una app nueva [6]. lenguaje de programación. Desarrollo con Kotlin La promesa de Kotlin es ser un lenguaje de programación que permita Kotlin funciona de manera nativa con tener un mismo código fuente, Android Studio y es una de dos principalmente para la lógica de opciones de lenguaje de negocio en aplicaciones destinadas a programación. Desde el punto de vista ejecutarse en dispositivos móviles de desarrollo para Android, Kotlin Android y iOS [4].
funge en todo sentido como tecnología - La UI debe utilizar aspectos nativa. Está soportado el uso de Kotlin nativos complejos que no son con Java para Android con solventables con tecnologías interoperabilidad transparente [7]. que no son nativas. En el caso de iOS el IDE de xCode Desarrollo con Flutter soporta plugins para Kotlin que permiten compilar el código Kotlin de El SDK de Flutter se puede integrar a forma nativa. En todo lo que diferentes editores e IDEs. Las corresponda backend, es posible opciones de Android Studio y Visual utilizar Kotlin y es común utilizar Studio Code son particularmente Swift/Objective-C para elementos de sencillas de utilizar. Está pensado UI, los cuales pueden interactuar con también para utilizarse con xCode Kotlin. [8] para iOS [9]. Bajo estas premisas, es claro que el Tanto para Android como iOS cuenta desarrollo con Kotlin es un camino con una amplia gama de herramientas natural cuando: y elementos para una UI muy rica y de alto desempeño. - La estrategia de despliegue de la app incluye dispositivos El enfoque de desarrollo está basado Android o debe ser en elementos declarativos, lo cual multiplataforma. puede ser un cambio en paradigma - La app está centrada en respecto a programadores habituados funcionalidad compleja y reglas a lenguajes imperativos [10]. Existe de negocio robustas. también un manejo de estados - La UI no es uno de los puntos embebido que facilita la interacción focales con relación a lo que se entre componentes internos de la app. espera entregar a los usuarios finales.
Es igualmente posible integrar criterios, basados en escenarios, que plataformas nativas para sugiere este análisis como básicos complementar la funcionalidad, para selección entre una de estas particularmente en el manejo de datos tecnologías: y el backend. Flutter Kotlin App X Bajo estas premisas, es claro que el exclusivamente desarrollo con Flutter es un camino Características de la app Android natural cuando: App X multiplataforma enfocada en UI 1. La estrategia de despliegue de App X la app debe ser multiplataforma multiplataforma 2. La app está centrada en una enfocada interfaz de usuario enriquecida, funcionalidad eficiente y visualmente Experiencia en X impresionante. desarrollo nativo Experiencia en X Dev Team 3. La lógica y reglas de negocio no desarrollo son complejas, así como el frontend manejo de los datos Curva de X 4. No hay lógica de negocio aprendizaje significativa residiendo en la app y se utilizan módulos CONCLUSIÓN: centrales (web core) y/o distribuidos (microservices) En todos los procesos de selección de donde residen esas reglas. un camino de implementación o tecnología no hay una respuesta Comparativa. booleana, ni una receta que abarque todos los escenarios. Cada evaluación Tomando en cuenta lo anteriormente corresponde a un contexto y análisis expuesto, la siguiente matriz ilustra los caso por caso.
En cuanto a la utilización de Kotlin y REFERENCIAS Flutter parece relativamente evidente que las fortalezas de Kotlin se centran [1] Bussines of apps, 2021, App en garantizar una portabilidad simple y development trends 2021, recuperado consistente del backend. Mientras que de: Flutter es una alternativa cuando el https://www.businessofapps.com/app- foco se tiene en la UI. developers/research/app- development-trends/#tabs- Ahora en el caso de Android la directory:~:text=Cross%2Dplatform% decisión de una u otra parecería 20app%20development%20will%20c reducirse a un tema de preferencia, ontinue%20provide,on%20developme pues el soporte nativo de Android para nt%20for%20multiple%20mobile%20 Kotlin permite que se puedan utilizar platforms. ambas tecnologías aprovechando sus [2] Statcounter Global Stat, 2021, fortalezas. Si bien en la teoría esto es Mobile Operating System Market cierto, en la práctica no hay aún una Share Worldwide, recuperado de: difusión masiva de esta aproximación, https://gs.statcounter.com/os-market- si bien es completamente válida. share/mobile/worldwide [3]Kotlin, 2021, Kotlin, recuperado de: En esta misma línea, no es imposible https://kotlinlang.org/docs/kotlin- hacerlo para apps en iOS, pero la foundation.html combinación de estas tecnologías [4] Kotlin, 2021, Multiplatform haría, irónicamente, más compleja su programming, recuperado de: manutención y actualización pues la https://kotlinlang.org/lp/mobile/ oferta de especialistas sería [5] Developers, Desarrolla apps para extremadamente escasa por el know Android con Kotlin, recuperado de : how tan específico. https://developer.android.com/kotlin [6] Flutter, Flutter 2.2 is here., recuperado de : https://flutter.dev/docs/resources/faq
[7] Kotlin, 2021, Kotlin for Android, recuperado de: https://kotlinlang.org/docs/android- overview.html [8] Kotlin, 2021, Kotlin/Native as an Apple framework – tutorial recuperado de: https://kotlinlang.org/docs/apple- framework.html [9] Flutter, Flutter 2.2 is here, Set up an editor, recuperado de: https://flutter.dev/docs/get- started/editor?tab=emacs [10] Flutter, Flutter 2.2 is here, Start thinking declaratively, recuperado de: https://flutter.dev/docs/development/d ata-and-backend/state- mgmt/declarative Claudia Castilla Bello Gerente de Soluciones Móviles Tel. 55 5080 0048 c.castilla@praxisglobe.com Claudia Castillo Bello
También puede leer