Google Flutter Review - Miért szeretik a mobilalkalmazások fejlesztői a fluttert?

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.