Google har presenterat ramverket för anvÀndargrÀnssnittsbyggande Flutter 2, vilket markerade en transformation av projektet frÄn ett ramverk för mobilapputveckling till ett universellt ramverk för skapande av alla typer av program, inklusive program för stationÀra system och webbapplikationer.
Flutter betraktas som ett alternativ till React Native och gör det möjligt att lansera appar för olika plattformar baserat pÄ en enda kodbas, inklusive iOS, Android, Windows, macOS och Linux, samt appar som körs i webblÀsare. Tidigare skrivna mobilappar med Flutter 1 kan efter övergÄngen till Flutter 2 anpassas för att fungera pÄ skrivbordet och i webben utan att koden skrivs om.
Större delen av Flutter-koden Ă€r skriven i programmeringssprĂ„ket Dart, och runtime-motorn för att köra applikationer Ă€r skriven i C++. Vid apputveckling kan man förutom det inhemska sprĂ„ket Dart ocksĂ„ anvĂ€nda Dart Foreign Function Interface för att anropa C/C++-kod. Hög körprestanda uppnĂ„s genom att applikationer kompileras till maskinkod för de mĂ„lplattformar som anvĂ€nds. Programmet behöver inte kompileras om efter varje Ă€ndring â Dart erbjuder en funktion för snabb omstart som gör det möjligt att göra Ă€ndringar i en aktiv applikation och omedelbart se resultatet.
Flutter 2 erbjuder fullstÀndig support för skapande av webbappar, lÀmpliga för arbetsimplementeringar. Tre huvudscenarier för Flutter för webben nÀmns: utveckling av fristÄende webbapplikationer (PWA, Progressiva Webbappar), skapande av ensidiga webbapplikationer (SPA, Ensidiga appar) och omvandling av mobilappar till webbapplikationer. Bland de utvecklingsverktyg för webben nÀmns anvÀndning av mekanismer för att accelerera rendering av 2D- och 3D-grafik, flexibel layout av element pÄ skÀrmen och en WebAssembly-kompilerad renderingsmotor, CanvasKit.
Stödet för stationÀra appar Àr för nÀrvarande i beta-testning och förvÀntas stabiliseras i Är i en av de kommande utgÄvorna. Företagen Canonical, Microsoft och Toyota har meddelat stöd för utveckling med Flutter. Canonical har valt Flutter som sitt primÀra ramverk för sina applikationer och anvÀnder Àven Flutter i utvecklingen av sin nya installerare för Ubuntu. Microsoft har anpassat Flutter för vikbara enheter med flera skÀrmar, sÄsom Surface Duo. Toyota planerar att anvÀnda Flutter för bilarnas infotainment-system. AnvÀndargrÀnssnittet för Googles mikro-kÀrnbaserade operativsystem Fuchsia Àr ocksÄ baserat pÄ Flutter.

Samtidigt publicerades version 2.12 av programmeringssprÄket Dart, dÀr utvecklingen av den grundligt omarbetade Dart 2-ramen fortsatte. Dart 2 skiljer sig frÄn den ursprungliga versionen av Dart genom anvÀndningen av stark statisk typning (typer kan hÀrledas automatiskt, sÄ typangivelse Àr inte obligatorisk, men dynamisk typning anvÀnds inte lÀngre och den typ som ursprungligen berÀknats knyts till variabeln vilket gör att strikt typkontroll tillÀmpas framöver).
Denna version Àr anmÀrkningsvÀrd för stabiliseringen av sÀkert anvÀndande av vÀrdet "Null" (null safety), vilket förhindrar krascher som orsakas av att försöka anvÀnda variabler vars vÀrde inte Àr definierat och sÀtts till "Null". LÀge innebÀr att variabler inte kan ha odefinierade vÀrden om de inte tilldelas vÀrdet null explicit. I detta lÀge beaktas variabeltyper strikt, vilket gör att kompilatorn kan tillÀmpa ytterligare optimeringar. TypöverensstÀmmelse kontrolleras vid kompilering, exempelvis om man försöker tilldela vÀrdet "Null" till en variabel vars typ inte tillÄter odefinierat tillstÄnd, sÄsom "int", kommer ett felmeddelande att ges.
En annan viktig förbÀttring i Dart 2.12 var stabil implementering av FFI-biblioteket, vilket möjliggör skapande av högpresterande kod för att anropa API:er pÄ C-sprÄket. Prestanda- och storleksoptimeringar har införts. Verktyg för utvecklare och system för kodprofilering har lagts till, skrivna med Flutter, samt nya plugins för utveckling av applikationer i Dart och Flutter för Android Studio/IntelliJ och VS Code.

KĂ€lla: opennet.ru
