Miért szeretik az alkalmazásgyártók a Fluttert? Mert a Flutter csodálatos.
A csapongás mind a vállalkozásoknak (elfogadható fejlesztési költségek felajánlásával), mind a fejlesztőknek gondoskodik (nagyszerű használhatóságot és sebességet kínálva). Ezért váltott néhány nagyvállalat a Flutterre, mint például a Google Ads, az Alibaba, a Reflectly és még sok más.
A Google nagyszerű munkát végzett a Flutter felépítésében, és tovább fejlesztik ezt a keretet.
Ebben a bejegyzésben gyors áttekintést adok a Flutterről és vadonatúj jutalmairól, és beszélek arról, hogy miért érdemes ezzel a keretrendszerrel dolgozni. Ráadásul megvitatom, mi hátráltathatja a nagyvállalatokat a Flutter alkalmazásában.
De először az első.
Mi a csapongás lényege?
Itt vannak olyan dolgok a Flutterről, amelyeket már ismerhet:
- ez egy nyílt forráskódú, többplatformos eszközkészlet
- az alkalmazások a Dart programozási nyelven íródnak
- saját grafikus motorja van (Skia)
- három platformot támogat hivatalosan: iOS, Android és web (béta)
- nem hivatalosan - az asztalt is támogatja
A Google 2018. február végén mutatta be a Flutter első verzióját. 2020 áprilisától elérhető az 1.12 kiadás.
Mi olyan különleges a Flutterben?
A Flutter ötvözi a natív alkalmazások minőségét a platformok közötti fejlesztés rugalmasságával.
Valójában számos platformon átívelő eszköz lehetővé teszi a kód egyszeri megírását, és mind iOS, mind Android rendszeren történő használatát. Mégsem mindegyik képes ugyanazt kinézni, mint egy natív alkalmazás.
De a Flutter pontosan ezt teszi: ahelyett, hogy burkoló lenne a natív felhasználói felület összetevői (például a React Native és a Xamarin) tetején, a Flutter a semmiből húzza a felhasználói felületet.
A Flutter fenntartja az alkalmazás natív élményét és hangulatát, és egyetlen platformon sem kell aggódnia a teljesítménye miatt.

Ezenkívül, mivel a Flutter egy nyílt forráskódú keretrendszer, bármely fejlesztő módosíthatja a GitHubon, és egyesítési kéréseket küldhet. És ha egy pillantást vet a Flutter népszerűségére - 90,4 ezer GitHub csillag , 12 ezer villa és 18 445 elkötelezettség -, akkor megkapja azt az ötletet, amely szereti a Fluttert, és hozzájárul a jobbá tételéhez .
Hogyan működik a csapkodás?
A csapkodást nem közvetlenül iOS vagy Android alkalmazásokba fordítják . Az alkalmazások a renderelő motor (C ++ -ra épített) és a Flutter (Dart-ra épített) kombinációján alapulnak. Az így létrehozott összes fájl minden alkalmazáshoz csatolódik, és az SDK egy adott platform szoftverét állítja össze.

Olyan, mint a játék fejlesztése: egy játék nem osztja ki a keretrendszerét, és a funkcionalitást a játék motorjával hajtják végre. Ugyanez a Flutter szoftver esetében is - a Flutter SDK-n alapuló összes alkalmazás a natív keretrendszer egyes részeit Flutter elemekkel helyettesíti.

Bár hatással lehet a végalkalmazás méretére, a teljesítmény még mindig nagyon jó - a renderelés akár 120 kép / mp sebességgel történik .
Az ARM processzorok natív fordítása, az egyszerű megjelenítés, valamint az integrált kütyü és eszközök együttese miatt a Flutter egyszerűbbé teszi a fejlesztési folyamatot.
Ráadásul néhány nagyon finom funkciót kínál, mint például a Hot Reload .
Így működik:
Ha rákattint a Forró újratöltés gombra, akkor a kód minden változása azonnal megjelenik a modulokban, az emulátorokban és a szimulátorokban. Az alkalmazás ott folytatja a munkát, ahol a gyors újratöltés előtt elérte: a kód frissül, de a végrehajtás folytatódik.

Miért válassza a Flutter lehetőséget a platformok közötti alkalmazásokhoz?
Az új Flutter verziók fejlettebb funkciókkal fognak megjelenni az ujjaikon. De már sok olyan továbbfejlesztett funkció létezik, amelyek tökéletesen megmagyarázzák, hogy a Flutter miért olyan szeretett.
Először is , a Flutterrel végzett, platformokon átívelő fejlesztés a közhiedelemmel ellentétben nem rontja a szoftvereket.
A Flutter minden natív widgetet tartalmaz az Android és az iOS interfészekhez, például az Anyagtervezés és a Cupertino. Ezenkívül a keretrendszer megváltoztathatja a különálló elemek viselkedését, és hasonló UX-t hozhat létre az alkalmazás felhasználói számára.
Másodszor , a Flutter lehetővé teszi a diszkrét fájlfordítás megvalósítását a dev módban. A JiT-fordítás felgyorsítja a fejlesztést és a szoftver hibakeresését.
Harmadszor , a Flutter rugalmas és méretezhető háttérprogramot tesz lehetővé.
Támogatja a beépülő modulokat, mint például a Firebase, az SQLite és így tovább (a pub.dev segít megtalálni a szükségeset). A Firebase az alkalmazás infrastruktúráját skálázhatóvá, szerver nélkülivé és feleslegessé teszi.
Tehát, ha olyan alkalmazásokon dolgozik, amelyek valós idejű adatbázisokat vagy felhőfunkciókat igényelnek, a Flutter megkapta a hátát.
És az utolsó: A csapkodást nagyon könnyű megtanulni .
A Google fejlesztői kezdettől fogva célul tűzték ki a belépési korlát csökkentését. Gondosan kidolgozták a fejlesztők által felhasználható dokumentációt és forrásokat. Még speciális szakaszai is vannak, amelyek segítségével szakterületétől függően elkezdheti a keretrendszer elsajátítását:
- Flutter androidos fejlesztők számára
- Flutter iOS fejlesztőknek
- A React Native devs csapkodása
- Xamarin csapkodása. Formák devs
- Hebegés a webes fejlesztők számára
A Flutter részletes dokumentációja miatt megtudhatja, hogyan kell kódot írni a Dart-ba, még akkor is, ha csak Android-játékok készítéséhez van tapasztalata a Unity grafikus eszközeivel.
Flutter 1.12 (legújabb verzió) és előnyei
Nézzük meg, hogy a Flutter milyen újdonságokat mutatott be a legújabb 1.12-es verziójában:
iOS Sötét mód
Mostantól a Flutter támogatja az iOS 13 megjelenését és hangulatát, beleértve a Cupertino widgetek teljes sötét mód támogatását. És ez nem csak a háttér felcseréléséről szól, hanem a többi szín adaptálásáról is.
Add-to-app támogatás
Egy másik nagy fejlesztés az Add-to-App frissítés, amely a Flutter integrálását szolgálja a már meglévő iOS / Android alkalmazásokba.
A Flutter új verziója támogatja az egy teljes képernyős Flutter-példány hozzáadását az alkalmazáshoz a következőkkel együtt:
- Stabilizált API integráció Java, Kotlin, Objective-C és Swift
- Támogatás a bővítmények használatához a Flutter modulokban
- További integrációs mechanizmusok Android AAR-okon és iOS keretrendszereken keresztül
Béta webes támogatás
Az új Flutter master, dev és béta csatornák jobb támogatást nyújtanak az internet számára. Szeretne néhány példát?
Itt van a Rivet oktatási projekt, amely a Flutter és a Firebase segítségével hozta létre alkalmazásuk webes változatát.

Dart 2.7
A keretrendszer új verziója bevezeti a Dart 2.7-et.
Ez a frissítés javítja a Dart 2.5 működésének tapasztalatait abban, hogy a biztonságos húrok hogyan kezelik a képességeket és a kiterjesztési folyamatokat. Ez segít a fejlesztőknek megakadályozni a hibákat, amikor a változók nulla értéket kapnak, és egész számokat elemeznek egy karakterláncban.
És itt van a Flutter legújabb verziójának néhány további jellemzője:
- macOS asztali támogatás (alfa)
- több eszköz hibakeresése
- arany kép tesztelése
- Android-fejlesztések
- frissítette a DartPad-ot
Ez jó, de nem probléma nélkül: Mi tartja vissza a Dev-eket?
A flutter nagyon klassz: könnyen beindítható, egyszerűen kezelhető, és egy hatalmas techcég mutatja be. Mégis itt vannak azok az okok, amelyek miatt vezető fejlesztője nem biztos, hogy osztja optimizmusát.
Dart (alacsony) népszerűsége
Ellentétben a Java / Kotlin for Android vagy a Swift / Objective-C iOS rendszerrel, a Dart még nem rendelkezik nagy népszerűséggel. És nagyon valószínűtlen, hogy így lesz.
A Dartot nem túl nehéz megtanulni, és rengeteg oktatóanyag van (mint ez), de néhány fejlesztő folyamatosan ragaszkodik a Java-hoz és más ismert eszközökhöz.
Ugyanakkor nem használhatja a Flutter-t, és nem használhatja a Dart-ot: még a Flutter gyilkos funkciója - a Hot Reload - sem fog működni Dart nélkül.
Nem támogatja az összes eszközt
Nem készíthet alkalmazásokat olyan 32 bites iOS-eszközökhöz, mint az iPhone 5-nél régebbi. Ugyanez vonatkozik a Windows asztali számítógépekre is: a 32 bites laptopon nem futtatható a Flutter.
És a Flutter fejlesztői nem tervezik a javítását, mivel "ez nagyon jelentős munkával járna".
Tehát, ha a Flutterrel szeretne kódolni, akkor rendelkeznie kell egy x64 bites eszközzel, vagy frissítenie kell a most használt eszközt.
Korlátozott számú könyvtár
Bár sok Flutter lib van, például fl_chart (grafikák rajzolásához a Flutterben ), path_provider (fájlok keresésére használják Android / iOS rendszeren), flutter_sliding_tutorial és még sok más, a szám még mindig korlátozott.

Ezt nem nehéz megmagyarázni: A Flutter egy viszonylag új keretrendszer, és a fejlesztőknek nem volt elég idejük annyi lib kifejlesztésére, amennyit az anyanyelv kínál.
Ennek ellenére a legfontosabb könyvtárak már ott vannak, és folyamatosan újak jelennek meg.
A csapkodó alkalmazások mérete nagyobb
... összehasonlítva a natív fejlesztésű alkalmazásokkal. A Flutter csapata az alkalmazás minimális méretét (Anyagösszetevők nélkül, csak egyetlen Center widgetet épített, amely flutter build apk --split-per-abi-re épült) kötegelve és tömörítve 4,3 MB-ra ARM-re és 4,6 MB-ra ARM 64-re .
Az alapalkalmazás most ~ 4 MB az Android-on és ~ 10 MB az iOS-n.
Kevés bizonyított szakértelem
Lehet, hogy a fejlesztők szeretik a csapkodást, de a nagyvállalatok nem siettek abbahagyni a natív (vagy a React Native) alkalmazások készítését, és a Flutterhez fordultak.
A legtöbb vállalat számára a legnagyobb probléma a Flutter újdonsága. A Dart újabb, mint a Java vagy a C #, és maga a Flutter is vadonatúj.
Természetesen sok Flutter nyílt forráskódú alkalmazás létezik, köztük olyan nagyok is, mint a Google Ads vagy a Hamilton (itt ellenőrizheti a teljes listát), mégsem túl sok.
És senki sem akar az a személy lenni, aki vadonatúj keretet fogad el, csak néhány hónappal később át kell térnie a natív fejlesztésre.

De ami még fontosabb, hogy a csapongás az az út, amelyet egyedül jársz:
- nincs sok megerősített bevált gyakorlat (legalábbis nagyszabású projekteknél)
- mindig esélye van Önnek, aki szembesül ezzel a problémával
- kevés remény, hogy valaki segít rajtad - gondosan meg kell tenned minden lépést, és készen kell állnod a következmények kezelésére
Hol kell használni a csapkodást
Először is jobb, ha a Flutter-t használja az MVP induló vállalkozások számára, ha korlátozott idő áll rendelkezésére, és gyakran van pénze az üzleti modell ellenőrzésére.
A Flutter alkalmazás olcsóbb *:
- * két natív alkalmazás költségéhez képest
- a fejlesztő csapat 40% -kal kisebb
- lineáris folyamatok
- több időt tölthet az alkalmazás funkcióinak kidolgozásával
Ha a Flutter projektet választja, csökkenti a fejlesztési órák számát. A csapkodó fejlődés nem igényel annyi időt a natívhoz képest.
Itt egy példa. Tegyük fel, hogy Instagram-szerű alkalmazást készít két platformra. iOS fejlesztés fog tartani, nagyjából mintegy 700 óra, Android - szintén 700H .
A Flutter segítségével mindkét platformot lefedheti és időt takaríthat meg: 700 óra Android + 700 óra iOS és 700 óra Flutter.
Rengeteg időt spórol meg, amit másra fordíthat, például a funkciók csiszolására.
Csomagolás
Ha korlátozott idő alatt, korlátozott költségkerettel építesz alkalmazásokat, mindenképpen érdemes kipróbálni a Fluttert.
Pont olyan jó, mint amilyennek látszik, és minden új frissítéssel a Google fejlesztői még egyenletesebb eszközöket adnak a platformok közötti fejlesztéshez.
Természetesen ez a keretrendszer szokatlannak tűnhet a C # és a Java szerelmeseinek, de ez nem jelenti azt, hogy kiszorít a kényelmi zónából. Miután elsajátította a kis szintaktikai különbségeket, hamarosan látni fogja, hogy a felhasználói felület fejlesztése néhányszor gyorsabb a natív fejlesztéshez képest.
És ha sikeres vagy, és ha a Flutter ragaszkodik hozzá, az izgalmas mobilfejlesztési tapasztalatokat és lehetőségeket kínálhat a jövőben.