Quiero compilar una aplicación que funcione bien en todas las plataformas. ¿Cómo sé qué lenguajes, frameworks y herramientas son adecuados para mí?
Esta es una pregunta común que escuchamos de los desarrolladores de la comunidad, a veces seguida de una sutil insinuación de que, con todas las opciones de Google, puede ser difícil decidir, ¡y te escuchamos!
Tomar la decisión correcta para tu aplicación depende de una variedad de factores, incluidos los objetivos del equipo y del producto. Hemos estado trabajando para simplificarte las cosas a través de las ofertas de Google. En esta entrada del blog, ofreceremos algunas pautas para ayudarte a elegir la pila tecnológica adecuada para tu proyecto.
Kotlin es el lenguaje de programación recomendado si quieres aprovechar las capacidades más recientes y singulares de Android para tu aplicación. El uso de Kotlin con Jetpack Compose, el moderno kit de herramientas de IU de Android desarrollado en Kotlin, te permite acceder a las funciones y los servicios más recientes y completos específicos de Android para crear aplicaciones prémium y de alta calidad. Además, obtienes acceso al mejor rendimiento de la aplicación en todos los tipos de dispositivos y pantallas en los que se ejecuta Android, incluidos teléfonos, tabletas, dispositivos plegables, computadoras portátiles, relojes, televisores, automóviles y más. Una aplicación de Kotlin para Android también es la mejor opción para las aplicaciones que requieren acceso a una integración profunda con el hardware y la plataforma Android. El uso de Kotlin y Jetpack Compose simplifica y acelera el desarrollo de la IU en Android con la edición de código con Ediciones en vivo, la compatibilidad con la herramienta de vista previa de la IU de Compose en Android Studio y las API intuitivas de Kotlin. Más detalles sobre cómo comenzar con Compose.
Kotlin Multiplatform (KMP) es nuestra forma recomendada de compartir la lógica empresarial en tus aplicaciones. Este año, en Google I/O, anunciamos que Android es compatible con Kotlin Multiplatform para compartir la lógica empresarial en dispositivos móviles, computadoras de escritorio, la Web y servidores. El uso de KMP te permite compilar el código de Kotlin en binarios específicos de la plataforma (por ejemplo, Android, iOS, JVM, WASM), para que puedas llamar a las API específicas de la plataforma con una sobrecarga mínima. KMP ayuda a reducir la duplicación de código y facilita el mantenimiento de la lógica empresarial compartida, y continuarás creando tu IU utilizando API específicas de la plataforma. Más detalles sobre las últimas actualizaciones de Kotlin Multiplatform para Android.
Flutter es el SDK recomendado por Google para cuando quieres compartir la lógica empresarial y el código de la IU en todas las plataformas para ofrecer una experiencia de usuario consistente y confiable. Con Flutter, puedes crear experiencias de aplicación enriquecidas en Android, iOS, la Web y el escritorio (Windows, macOS, Linux), todo desde una único código base de aplicación compartida. Las aplicaciones Flutter se programan utilizando el lenguaje de programación Dart, que se compila directamente en código de máquina (por ejemplo, ARM, x86, RISC-V) en la mayoría de las plataformas (por ejemplo, iOS, Android). Dart también se utiliza en la Web, donde se compila en JavaScript, y como se anunció hoy en Google I/O, también en WebAssembly. Dart también ofrece una recarga directa con reconocimiento del estado durante el desarrollo, que los desarrolladores de Flutter utilizan para iterar rápidamente en los cambios visuales. Más detalles sobre cómo comenzar con Flutter.
Como queremos seguir ofreciéndote opciones, estamos trabajando activamente para mejorar tanto Flutter como Kotlin en términos de interoperabilidad en todas las plataformas.
Puedes elegir el enfoque que mejor se adapte a tu empresa, ya sea que compartas la IU y la lógica empresarial en múltiples plataformas con Flutter o el desarrollo con Kotlin Multiplatform para la lógica empresarial compartida. Esperamos que estas tecnologías te permitan crear excelentes aplicaciones de manera más rápida y eficiente.