En los últimos años, ha habido un gran impulso para el desarrollo de programas multiplataforma. Se crearon marcos como React y Flutter para permitir que los desarrolladores compartan una única base de código en Android, iOS, escritorio e incluso la web. Incluso JetBrains, la empresa detrás de algunos de los IDE más populares y del lenguaje de programación Kotlin, ha estado trabajando en el desarrollo multiplataforma. Primero con Kotlin Multiplatform, pero más recientemente con Jetpack Compose.
Hace un tiempo, JetBrains adaptó Jetpack Compose, el marco de diseño declarativo de Google para Android,al escritorio. Esto permitió el desarrollo de escritorio multiplataforma basado en la JVM de Java. Con Jetpack Compose, puedes crear una aplicación para Android, macOS, Windows e incluso Linux, todo desde una base de código. Pero además de iOS, hay una plataforma bastante grande que falta en Compose: la web.
Pero eso está a punto de cambiar. JetBrains halanzadolo que ellos llaman una Vista Previa de Tecnología de Jetpack Compose para Web.
Ahora bien, Technology Preview es básicamente un nombre elegante para la versión pre-alfa. Compose for Web está lejos de estar listo para usarse en producción. No hay tutoriales, hay muy poca documentación y las API están lejos de estar completas. Dicho esto, veamos qué ofrece Compose for Web hasta ahora.
En la versión actual, hay dos formas de desarrollar en Compose for Web: usando la API DOM o usando los widgets de Compose existentes, como Columna o Texto.
Si utiliza la API DOM, tendrá nombres de API que representan los diferentes elementos HTML, como p, a, etc. Sin embargo, la gran diferencia entre Compose y el Kotlin JS clásico es que puede utilizar el diseño declarativo basado en estados. Esta opción parece un puente entre el desarrollo web clásico y el desarrollo de interfaz de usuario declarativo completo. Además de crear un diseño, Compose for Web también le permite crear hojas de estilo dinámicas basadas en estados.
La segunda opción es la que les resultará más familiar a los desarrolladores de Android y Compose. Hay componentes predefinidos, como Column, Row y Slider, que se pueden usar para crear una interfaz de usuario web. En este momento, no están muy completos y los estilos y las opciones no están completamente implementados. Pero al menos nos da una idea de lo que JetBrains tiene reservado para Compose for Web.
En general, por el momento, Compose for Web no tiene mucho que ofrecer. Aún está en susprimerasetapas, pero podría significar mucho para el futuro. Personalmente, como desarrollador de Android, he tenido problemas para adentrarme en los marcos de diseño basados en navegador. El HTML y el CSS básicos pueden ser complicados, y las sintaxis de React y Flutter todavía se basan en el diseño HTML.
Un lenguaje de diseño multiplataforma con todas las funciones que no se base en principios de diseño web es bastante interesante. Si bien Jetpack Compose aún tiene un largo camino por recorrer, lo que JetBrains tiene planeado podría significar mucho para el futuro del diseño de UI.
Si desea obtener más información sobre Compose for Web,consulte el anuncio de JetBrains. Si le interesa experimentar con la implementación actual,diríjase al repositorio de GitHub.