Las empresas Google y Canonical una iniciativa conjunta para asegurar el soporte en el desarrollo de aplicaciones gráficas basadas en el framework para sistemas Linux de escritorio. El framework de interfaz de usuario Flutter en el lenguaje Dart (motor de ejecución para aplicaciones en C++), permite crear aplicaciones universales que funcionan en diferentes plataformas y se considera una alternativa a React Native.
A pesar de contar con Flutter SDK para Linux, hasta ahora solo se había utilizado para el desarrollo de aplicaciones móviles y no soportaba la creación de aplicaciones de escritorio para Linux. El año pasado, Google anunció su intención de añadir a Flutter la capacidad de desarrollar programas de escritorio completos y presentó una versión alfa para el desarrollo de tales programas para macOS. Ahora Flutter con la posibilidad de desarrollar aplicaciones de escritorio para Linux. El soporte para el desarrollo de aplicaciones para Windows aún está en fase de prototipo inicial.
Para dibujar la interfaz en Linux se utiliza un envoltorio basado en la biblioteca GTK (el soporte para Qt y otros entornos de desarrollo se anunciará más adelante). Además del lenguaje Dart, nativo de Flutter, en el que se crean los widgets, las aplicaciones pueden utilizar la interfaz Dart Foreign Function para invocar código en C/C++ y acceder a todas las capacidades de la plataforma Linux.
El soporte para el desarrollo de aplicaciones para Linux se ha ofrecido en la reciente versión alfa del , que también implementa la posibilidad de publicar aplicaciones para Linux en el catálogo Snap Store. En formato snap, también se puede encontrar la propia . Para desarrollar aplicaciones basadas en Flutter, se sugiere utilizar el editor de código Visual Studio Code o los entornos de desarrollo IntelliJ y Android Studio.
Como ejemplo de aplicaciones de Linux basadas en Flutter, se ha propuesto la aplicación para gestionar la libreta de direcciones de Google Contacts. En el catálogo se han publicado tres plugins Flutter con soporte para Linux: para abrir URL en el navegador por defecto, para guardar configuraciones entre sesiones y para determinar los directorios típicos (descargas, imágenes, vídeos, etc.)
Fuente: opennet.ru
