Companiile Google și Canonical cu inițiativa comună de a asigura suportul pentru dezvoltarea aplicațiilor grafice pe baza framework-ului pentru sistemele Linux desktop. Framework-ul pentru construirea interfeței utilizatorului Flutter în limbajul Dart (motorul runtime pentru executarea aplicațiilor în C++), permite crearea de aplicații universale care funcționează pe diferite platforme și este văzut ca o alternativă la React Native.
În ciuda faptului că există Flutter SDK pentru Linux, acesta a fost folosit doar pentru dezvoltarea aplicațiilor mobile și nu a suportat compilarea aplicațiilor desktop pentru Linux. Anul trecut, compania Google a anunțat intenția de a adăuga în Flutter capacitatea de a dezvolta programe desktop complete și a prezentat o versiune alfa pentru dezvoltarea acestor programe pentru macOS. Acum Flutter oferă posibilitatea de a dezvolta aplicații desktop pentru Linux. Suportul pentru dezvoltarea aplicațiilor pentru Windows este încă în stadiul de prototip inițial.
Pentru redarea interfeței în Linux se utilizează o învăluire bazată pe biblioteca GTK (suportul pentru Qt și alte toolkituri urmează a fi adăugat ulterior). Pe lângă limbajul nativ al Flutter, Dart, pe care se creează widgeturi, aplicațiile pot folosi interfața Dart Foreign Function pentru a apela cod scris în C/C++ și a accesa toate funcționalitățile platformei Linux.
Suportul pentru dezvoltarea aplicațiilor pentru Linux este oferit în ultima versiune alfa , în care este implementată și posibilitatea de publicare a aplicațiilor Linux în catalogul Snap Store. În format snap poate fi găsită și versiunea . Pentru dezvoltarea aplicațiilor bazate pe Flutter se propune utilizarea editorului de cod Visual Studio Code sau a mediilor de dezvoltare IntelliJ și Android Studio.
Ca exemplu de programe Linux bazate pe Flutter este propusă aplicația pentru gestionarea agendei Google Contacts. În catalogul au fost publicate trei pluginuri Flutter cu suport pentru Linux: pentru deschiderea URL-urilor în browserul implicit, pentru salvarea setărilor între sesiuni și pentru determinarea căilor tipice (descărcări, imagini, video etc.)
Sursa: opennet.ro
