A Google frissítéseket adott ki a Flutter és Dart SDK-khoz, amelyek egy sor fejlesztést hoznak a platformok közötti egységes fejlesztéshez. Olvasson tovább!
Flutter a keresztplatformos programozási keretrendszer, amelynek célja, hogy megoldja a többplatformos alkalmazások fejlesztésének gondjait a nem natív kód zűrzavara nélkül. A Dart programozási nyelv ismeretében a fejlesztők Androidra, iOS-re, webre és asztali számítógépekre készíthetnek alkalmazásokat egységes felhasználói felülettel. Flutter 1.9 alfa állapotba hozta a macOS és a Catalina támogatást, míg A v1.12-es kiadás az alfa előtti állapotot meghaladó támogatást nyújtott. A Google most megjelent a Flutter új v1.17-es kiadásával és a Dart v2.8-as kiadásával, amelyek a Flutter és a Dart első stabil kiadásaiként jelölik meg őket 2020-ban.
Lebegés 1.17
A múlt hónapban a Google-nak volt bejelentette a kiadási folyamat változásait. A cég korábbi folyamataiból hiányzott az egyértelműség, hogy mikor készülnek a kiadások, milyen kód lesz benne stb. A Google most azt tervezi, hogy nagyjából negyedéves ciklusban szállít stabil kiadásokat. Ez önmagában is jelentett néhány kihívást, mivel a kiadási infrastruktúrát át kellett alakítani az új kiadási folyamathoz. A Flutter 1.17 most megjelenik a fejlesztők számára készült stabil csatornán. A Google 6339 kiadást zárt le az előző Flutter 1.12-es kiadása óta, és több hibát zárt le, mint amennyit idén kinyitottak, ami körülbelül 800-as nettó csökkenést jelent.
A hibajavítások mellett a Flutter 1.17 jelentős teljesítményjavításokat, a Metal jobb támogatását az iOS rendszeren, valamint új Material widgeteket tartalmaz.
Teljesítményjavítások
A Flutter 1.17-tel épített alkalmazások a régebbi kiadásokhoz képest 20-37%-os gyorsulást fognak tapasztalni az alapértelmezett navigációs eset esetében, amelyben átláthatatlan útvonalak vannak, amelyekben nincs átlátszóság. Jelentős fejlődés tapasztalható a Flutter 1.17-tel épített alkalmazások méretében is. Például a Flutter Gallery minta 2020-ban 8,1 MB, szemben a 2019 végi 9,6 MB-tal. A memóriahasználat szempontjából az 1.17-es kiadás 70%-kal csökkenti a memória mennyiségét a nagy képek közötti gyors görgetés során.
Fém az Apple alacsony szintű grafikus API-ja, amely szinte közvetlen hozzáférést biztosít az iOS-eszközök mögöttes GPU-jához. A Flutter alapértelmezés szerint a Metalt használja, amikor támogatott iOS-eszközökre épít, így gyorsabban futnak a Flutter-alkalmazások. A továbbfejlesztett Metal támogatás átlagosan körülbelül 50%-kal javítja az iOS-alkalmazások renderelési sebességét. Azokon az iOS-eszközökön, amelyek nem támogatják teljes mértékben a Metalt, azaz a 10-nél alacsonyabb iOS-verziójú és az A7 processzor előtt megjelent iOS-eszközökön a Flutter visszakerül az OpenGL-be.
A Flutter 1.17 támogatja az új Material widgeteket. A meglévő widgetekhez is vannak frissítések. A NavigationRail például segít a fejlesztőknek reszponzív alkalmazásnavigációs modelleket hozzáadni az alkalmazásokhoz, és kiválóan alkalmas olyan alkalmazások számára, amelyek képesek váltani a mobil és az asztali formátum között. A DatePicker és TextSelection túlcsordulás widgetek is frissültek: a DatePicker új vizualitása megfelel a frissített anyagirányelveknek, és újat ad hozzá Szövegbeviteli mód, míg a TextSelection javított hűséggel rendelkezik iOS és Android rendszeren, ha a gombok hosszabbak, mint amennyit anélkül meg lehet jeleníteni túláradó. Végül a Google az új animációs csomagot is szállítja, amely előre elkészített animációkat tartalmaz az új Anyagmozgás leírás.
Egyéb változások a Flutter 1.17-ben
- A Google befejezte a megvalósítást Típus A 2018-as Material Design specifikáció léptékű része a meglévő Flutter alkalmazások feltörése nélkül.
- Google Fonts for Flutter v1.0 most is elérhető. Ez lehetővé teszi a fejlesztők számára, hogy bármilyen betűtípussal kísérletezzenek és használhassanak fonts.google.com az alkalmazásukban. A fejlesztő eldöntheti, hogy kötegelje-e a fontot az APK-val, vagy a felhasználó az API-ból letöltve kapja meg a betűtípust.
- A Google javította a Flutter alkalmazások hozzáférhetőségét a görgetés, a szövegmezők és egyéb beviteli modulok javításával.
- A Google arra is készül, hogy a Dart DevTools jelenlegi verzióját lecserélje az új Flutter verzióra. A fejlesztők úgy tesztelhetik ezt az új verziót, hogy elindítják a DevTools programot, majd a DevTools jobb felső sarkában lévő "megszakító" ikonra kattintanak. A Dart DevTools új Flutter verziójának legnagyobb fejlesztése az új Hálózat lap, amely megmutatja a Flutter alkalmazás hálózati forgalmát, amikor megnyomja a „Rögzítés” gombot.
- Egy másik fejlesztés a kísérleti „gyorsindítás” opció, amely lehetővé teszi a Flutter alkalmazás hibakeresésének akár 70%-kal gyorsabb elindítását, amikor Android-alkalmazást készít.
A Google is felkiált a Superformula csapatának, hogy újrakészítsék az egészet MGM Resorts Android alkalmazás a Flutterben.
Dart 2.8
A Dart az a programozási nyelv, amelyet alkalmazások készítésére használnak a Flutterben. A Dart 2.8 SDK kiadásával a Google néhány változtatást vezet be:
- Fejlesztések a kocsma kliens eszköz, amely a webhelyről letöltött csomagok kezelésére szolgál pub.dev csomagtároló.
- A Google javította a teljesítményét kocsma kap a csomagok párhuzamos lekérésének és halasztásának támogatásával kocsmafutás előösszeállítás.
- A Google egy új eszközt is hozzáadott (kocsma elavult) a csomagfüggőségek naprakészen tartása érdekében.
- Felkészülés a Sound null biztonságra, mivel a null hivatkozások az alkalmazás összeomlásának gyakori forrásai, amelyek akkor fordulnak elő, amikor a kód olyan változót próbál meg olvasni, amelynek null értéke van.
- A Google arra készül, hogy hozzáadja a hang nulla biztonságának támogatását a Dartban, amely biztosítja, hogy minden kifejezett változó nem null értéket tartalmazzon.
- A sound null safety megvalósítása hatalmas vállalkozás, amely kezdetben töréseket okoz a Dart nyelvben és a könyvtárakban. A Google szeretné, ha a fejlesztők tisztában legyenek ezzel ezek az átütő változások és bejelentik az esetleges problémáikat problémakövető.
Ezekről és más változásokról részletesebben a Flutter 1.17 és a Dart 2.8 hirdetményi bejegyzéseiben olvashat.