Snart kan du använda Flutter för att bygga program till Linuxskrivbordet. I alla fall om Google och Ubuntu får som de vill.
Att köra samma kod på flera plattformar är något av en helig Graal som många arbetat med genom åren. Nu slår Ubuntu och Google sina påsar ihop, och vi kanske äntligen får se en lösning som fungerar bra och får brett genomslag.
Sedan Google lanserade ramverket Flutter för att utveckla mobilappar har populariteten ständigt ökat. Idag uppges mer än en halv miljon utvecklare använda Flutter och dess programmeringsspråk Dart. En del av populariteten kommer sig av att ramverket stöder flera plattformar, och nu ska det bli än fler.
Google och Ubuntu har nämligen startat ett samarbete där man arbetar för att Flutter även ska kunna användas för att bygga program för Linuxskrivbordet. Google har lagt ned mycket jobb på att anpassa systemet för datorer, och Ubuntu å sin sida har ett team som arbetar med att förbättra Linuxstödet.
Så installerar du alfaversionen i ditt Linuxsystem
I nuläget finns en alfaversion tillgänglig som Snap, https://snapcraft.io/flutter. Vill du prova installerar du den (“sudo snap install flutter –classic”), och sedan ett plugin för Dart i utvecklingsmiljön VS Code. Därefter måste funktionaliteten för Linux Desktop aktiveras:
flutter channel dev flutter upgrade flutter config --enable-linux-desktop
Det rekommenderas även att ett paket kallat flutter-gallery installeras. Detta hämtas enklast från https://github.com/flutter/gallery/releases och packas sedan upp på lämplig plats på hårddisken. Android Studio används sedan för att öppna “bundle” som återfinns i den katalog som skapades när paketet packades upp (“flutter-gallery”).
Glöm inte Ninja
Kommandona ovan anger att stöder för Linux Desktop ska aktiveras, och detta märks bland annat genom att Linux (Desktop) finns som val för “maskin” att köra på i valrutan där man annars väljer mellan fysiska Androidenheter och/eller virtuella dito. I vårt fall gick det ändå inte att bygga programmet, vårt system saknade något som kallas Ninja. Detta är en del av Cmake, och ett enkelt “apt install ninja-build” avhjälpte byggproblemen.
Detta paket fungerar som ett show-case för de widgets och andra gränssnittskomponenter som görs tillgängliga när Flutter/Dart används för att skapa skrivbordsprogam.