Le aziende Google e Canonical con un'iniziativa congiunta per garantire un supporto allo sviluppo di applicazioni grafiche basate sul framework per i sistemi desktop Linux. Il framework per la costruzione dell'interfaccia utente Flutter è scritto in Dart (motore runtime per l'esecuzione di applicazioni in C++), consente di creare applicazioni universali che funzionano su diverse piattaforme ed è considerato un'alternativa a React Native.
Nonostante esista un Flutter SDK per Linux, è stato utilizzato finora solo per lo sviluppo di applicazioni mobili e non ha supportato la creazione di applicazioni desktop per Linux. Lo scorso anno, Google ha annunciato l'intenzione di aggiungere a Flutter la capacità di sviluppare programmi desktop completi e ha presentato una versione alpha per lo sviluppo di tali programmi per macOS. Ora Flutter con la possibilità di sviluppare applicazioni desktop per Linux. Il supporto per lo sviluppo di applicazioni per Windows è ancora in fase di prototipo iniziale.
Per il rendering dell'interfaccia in Linux un'interfaccia basata sulla libreria GTK (il supporto per Qt e altri toolkit è previsto per in seguito). Oltre al linguaggio Dart nativo di Flutter, utilizzato per creare i widget, le applicazioni possono utilizzare l'interfaccia Dart Foreign Function per chiamare codice in C/C++ e accedere a tutte le funzionalità della piattaforma Linux.
Il supporto per lo sviluppo di applicazioni Linux è offerto nella recente versione alpha. , che include anche la possibilità di pubblicare applicazioni Linux nel catalogo Snap Store. È disponibile in formato snap anche la build stessa. Per sviluppare applicazioni basate su Flutter, si consiglia di utilizzare l'editor di codice Visual Studio Code o gli ambienti di sviluppo IntelliJ e Android Studio.
Come esempio di programmi Linux basati su Flutter, è stata proposta l'applicazione per gestire la rubrica di Google Contacts. Nel catalogo sono stati pubblicati tre plugin Flutter con supporto per Linux: per aprire URL nel browser predefinito, per salvare le impostazioni tra le sessioni e per determinare le directory comuni (download, immagini, video, ecc.)
Fonte: opennet.ru
