Google lanserer Flutter 1.17 og Dart 2.8 SDK-er for apputvikling

Google har gitt ut oppdateringer til Flutter- og Dart-SDK-er, og bringer med seg en rekke forbedringer for enhetlig utvikling på tvers av plattformer. Les videre for mer!

Flutter er en programmeringsramme på tvers av plattformer, med sikte på å løse problemene med å utvikle apper på tvers av plattformer uten rotet med ikke-innfødt kode. Med kunnskap om programmeringsspråket Dart kan en utvikler bygge apper for Android, iOS, web og skrivebord med et enhetlig brukergrensesnitt på tvers av alle. Flutter 1.9 brakte støtte for macOS og Catalina i en alfatilstand, mens v1.12-utgivelsen modnet deres støtte forbi pre-alfa-tilstanden. Nå er Google ute med en ny versjon 1.17 av Flutter og versjon 2.8 av Dart, og markerer dem som de første stabile utgivelsene for Flutter og Dart i 2020.

Flutter 1.17

Forrige måned hadde Google annonserte endringer i utgivelsesprosessen. Selskapets tidligere prosess manglet klarhet om når utgivelser ville bli bygget, hvilken kode som ville være i den, og så videre. Nå planlegger Google å sende stabile utgivelser på en omtrentlig kvartalsvis syklus. Dette i seg selv ga noen utfordringer, ettersom utgivelsesinfrastrukturen måtte verktøyes på nytt for den nye utgivelsesprosessen. Nå slippes Flutter 1.17 til den stabile kanalen for utviklere. Google har lukket 6 339 utgaver siden deres forrige Flutter 1.12-utgivelse, og de har lukket flere feil enn det som har blitt åpnet i år, noe som har ført til en netto nedgang på ~800 utgaver.

I tillegg til feilrettinger, gir Flutter 1.17 betydelige ytelsesforbedringer, forbedret støtte for Metal på iOS, og inkluderer nye Material-widgets.

Ytelsesforbedringer

Apper bygget med Flutter 1.17 versus eldre utgivelser vil ha en hastighet på 20–37 % for standard navigasjonstilfelle der det er ugjennomsiktige ruter uten gjennomsiktighet. Det er også en betydelig forbedring i appstørrelser bygget med Flutter 1.17. Eksempelvis er Flutter Gallery-eksemplet nå 8,1 MB i 2020 mot 9,6 MB ved slutten av 2019. For minnebruk gir 1.17-utgivelsen 70 % minnereduksjon ved rask rulling gjennom store bilder.

Metall er Apples lavnivå grafikk API som gir nesten direkte tilgang til den underliggende GPUen til iOS-enheter. Flutter bruker nå Metal som standard når den bygger for støttede iOS-enheter, noe som gjør at Flutter-apper kjører raskere. Den forbedrede Metal-støtten forbedrer gjengivelseshastighetene til iOS-apper med omtrent 50 % i gjennomsnitt. På iOS-enheter som ikke fullt ut støtter Metal, nemlig enheter med iOS-versjoner lavere enn 10 og utgitt før A7-prosessoren, faller Flutter tilbake til OpenGL.

Flutter 1.17 legger til støtte for nye Material-widgets. Det er også oppdateringer til eksisterende widgets. NavigationRail hjelper for eksempel utviklere med å legge til responsive appnavigasjonsmodeller til apper og er flott for apper som kan bytte mellom mobil- og skrivebordsformfaktorer. DatePicker- og TextSelection-overløpswidgetene er også oppdatert: DatePickers nye grafikk samsvarer med de oppdaterte materialretningslinjene og legger til en ny tekstinntastingsmodus, mens TextSelection nå har forbedret troskap for iOS og Android når knappene er lengre enn det som kan vises uten overfylte. Til slutt sender Google også den nye animasjonspakken som gir forhåndsbygde animasjoner som implementerer den nye Materialbevegelse spesifikasjon.

Andre endringer i Flutter 1.17

  • Google har fullført implementeringen av Type Skaladel av 2018 Material Design-spesifikasjonen uten å ødelegge eksisterende Flutter-apper.
  • Google Fonts for Flutter v1.0 er også tilgjengelig nå. Dette lar utviklere eksperimentere med og bruke hvilken som helst font fra fonts.google.com i appen deres. Utvikleren kan bestemme om fonten skal pakkes sammen med APK-en eller om brukeren mottar skriften ved å laste den ned fra API-en.
  • Google har forbedret tilgjengeligheten til Flutter-apper med rettelser for rulling, tekstfelt og andre inndatamoduler.
  • Google forbereder seg også på å bytte ut den nåværende versjonen av Dart DevTools med den nye Flutter-versjonen. Utviklere kan teste denne nye versjonen ved å starte DevTools og deretter klikke på "breaker"-ikonet øverst til høyre i DevTools. Den største forbedringen i den nye Flutter-versjonen av Dart DevTools er den nye Network-fanen som viser nettverkstrafikken for Flutter-appen når du trykker på "Record"-knappen.
  • En annen forbedring er et eksperimentelt "hurtigstart"-alternativ som lar deg starte Flutter-appens feilsøking opptil 70 % raskere når du bygger en app for Android.

Google gir også en shoutout til Superformula-teamet for å gjenskape hele MGM Resorts Android-app i Flutter.


Dart 2.8

Dart er programmeringsspråket som brukes til å bygge apper i Flutter. Med utgivelsen av Dart 2.8 SDK introduserer Google et par endringer:

  • Forbedringer av pub klientverktøy, som brukes til å administrere pakker lastet ned fra pub.dev pakkelager.
    • Google har forbedret ytelsen til pub få ved å legge til støtte for parallell henting av pakker og utsettelse pub kjøre forhåndskompilering.
    • Google har også lagt til et nytt verktøy (pub utdatert) for å sikre at pakkeavhengigheter holdes oppdatert.
  • Forberedelse for lyd nullsikkerhet, siden nullreferanser er en vanlig kilde til programkrasj som skjer når kode forsøker å lese en variabel som har en nullverdi.
    • Google forbereder seg på å legge til støtte for god nullsikkerhet i Dart, som vil sikre at alle uttrykte variabler har ikke-nullverdier.
    • Implementering av lyd null-sikkerhet er en stor oppgave som i utgangspunktet vil føre til brudd i Dart-språket og bibliotekene. Google vil at utviklere skal være oppmerksomme på disse brytende endringene og arkiver eventuelle problemer på deres problemsporer.

Du kan lese mer om disse og andre endringer i detalj i kunngjøringsinnleggene for Flutter 1.17 og Dart 2.8.