„Google Flutter“ apžvalga - kodėl mobiliųjų programų kūrėjai mėgsta plazdėjimą

Kodėl programų kūrėjai mėgsta plazdėjimą? Nes Flutter yra nuostabi.

Plazdėjimas rūpinasi tiek verslu (siūlydamas pagrįstas kūrimo išlaidas), tiek kūrėjams (siūlydamas puikų patogumą ir greitį). Štai kodėl kai kurios didžiosios įmonės perėjo prie „Flutter“, tokių kaip „Google Ads“, „Alibaba“, „Reflectly“ ir daugelis kitų.

„Google“ atliko puikų darbą kurdama „Flutter“, ir jie ir toliau tobulina šią sistemą.

Šiame įraše pateiksiu greitą „Flutter“ ir jos naujų privilegijų apžvalgą ir pakalbėsiu, kodėl verta naudoti šią sistemą. Be to, aptarsiu, kas gali trukdyti didelėms įmonėms priimti „Flutter“.

Bet pirmiausia svarbu.

Kas yra plazdėjimo esmė?

Štai keletas dalykų apie „Flutter“, kuriuos galbūt jau žinote:

  • tai atviro kodo, kelių platformų įrankių rinkinys
  • programos yra parašytos „Dart“ programavimo kalba
  • jis turi savo grafikos variklį („Skia“)
  • jis oficialiai palaiko tris platformas: „iOS“, „Android“ ir internetą (beta versijoje)
  • neoficialiai - jis taip pat palaiko darbalaukį

„Google“ pristatė pirmąją „Flutter“ versiją 2018 m. Vasario pabaigoje. Nuo 2020 m. Balandžio mėn. Galima įsigyti 1.12 versiją.

Kuo ypatingas plazdėjimas?

„Flutter“ sujungia savųjų programų kokybę su įvairių platformų kūrimo lankstumu.

Tiesą sakant, daugelis skirtingų platformų įrankių leidžia jums vieną kartą parašyti kodą ir naudoti jį tiek „iOS“, tiek „Android“. Vis dėlto ne visi gali pateikti tą pačią išvaizdą kaip savoji programa.

Bet būtent tai ir daro „Flutter“: „Flutter“ vietoj to, kad būtų natūralių vartotojo sąsajos komponentų (pvz., „React Native“ ir „Xamarin“) viršuje, atkreipia vartotojo sąsają nuo nulio.

„Flutter“ palaiko įprastą programos patirtį ir jausmą, ir jums nereikia jaudintis dėl jos našumo bet kurioje platformoje.

Be to, kadangi „Flutter“ yra atviro kodo sistema, bet kuris kūrėjas gali ją pakeisti „GitHub“ ir siųsti sujungimo užklausas. Pažvelgus į „ Flutter “ populiarumą - 90,4 tūkst. „ GitHub“ žvaigždžių , 12 tūkst. Šakių ir 18 445 įsipareigojimai - gausite idėją, kad „devs“ mėgsta „Flutter“ ir prisidės prie jos tobulinimo .

Kaip veikia plazdėjimas?

Plazdėjimas nėra kompiliuojamas tiesiai į „iOS“ ar „Android“ programas . Programos paleidžiamos remiantis atvaizdavimo variklio (sukurto C ++) ir „Flutter“ (sukurto „Dart“) deriniu. Visi tokiu būdu sugeneruoti failai pridedami prie kiekvienos programos, o SDK surenka konkrečios platformos programinę įrangą.

Tai panašu į žaidimo kūrimą: žaidimas neskirsto savo sistemos, o funkcionalumas atliekamas su žaidimo varikliu. Tas pats „Flutter“ programinei įrangai - visos programos, pagrįstos „Flutter SDK“, vietinių rėmų dalis pakeičia „Flutter“ elementais.

Nors tai gali turėti įtakos galutinės programos dydžiui, našumas vis tiek yra gana geras - perteikimas atliekamas iki 120 kadrų per sekundę greičiu .

Dėl „ARM“ procesorių kompiliavimo, paprasto atvaizdavimo ir integruotų valdiklių bei įrankių rinkinio „Flutter“ palengvina kūrimo procesą.

Be to, jis siūlo keletą labai skanių funkcijų, tokių kaip „ Hot Reload“ .

Štai kaip tai veikia:

Spustelėjus mygtuką „Perkrauti iš naujo“, visi kodo pakeitimai iškart rodomi programėlėse, emuliatoriuose ir treniruokliuose. Programa tęsia darbą iš ten, kur ji buvo prieš paspaudžiant karštą perkėlimą: kodas atnaujinamas, tačiau vykdymas tęsiasi.

Kodėl verta rinktis „Flutter“ įvairioms platformoms skirtose programose?

Naujos „Flutter“ versijos ir toliau pasirodys su pažangesnėmis funkcijomis. Tačiau jau yra daugybė patobulintų funkcijų, kurios puikiai paaiškina, kodėl „Flutter“ yra taip mylimas.

Pirma , kryžminis platformų kūrimas naudojant „Flutter“, priešingai nei manoma, nepablogina programinės įrangos.

„Flutter“ komplekte yra visi vietiniai „Android“ ir „iOS“ sąsajų valdikliai, pvz., „Material Design“ ir „Cupertino“. Be to, sistema gali pakeisti atskirų elementų elgseną, kad sukurtų panašią vartotojo sąsają programos vartotojams.

Antra , „Flutter“ leidžia įgyvendinti atskirą failų kompiliaciją „dev“ režimu. „JiT“ kompiliacija paspartina kūrimą ir programinės įrangos derinimą.

Trečia , „Flutter“ suteikia galimybę naudoti lanksčią ir keičiamą programinę įrangą.

Jis palaiko tokius įskiepius kaip „Firebase“, „SQLite“ ir pan. („Pub.dev“ padės jums rasti reikalingą). „Firebase“ daro programos infrastruktūrą keičiamą, be serverio ir nereikalingą.

Taigi, jei dirbate su programomis, kurioms reikalingos duomenų bazės realiuoju laiku ar debesų funkcijos, „Flutter“ atsigavo.

Ir paskutinis: plazdėjimą labai lengva išmokti .

Nuo pat pradžių „Google“ kūrėjai nustatė tikslą sumažinti įėjimo barjerą. Jie kruopščiai parengė dokumentus ir išteklius, kuriuos kūrėjai gali naudoti. Jame netgi yra specialių skyrių, kuriuos galite naudoti, kad pradėtumėte mokytis sistemos, atsižvelgiant į jūsų specializaciją:

  • Plazdėjimas „Android“ kūrėjams
  • Plazdėjimas „iOS“ kūrėjams
  • „React Native devs“ plazdėjimas
  • Xamarino plazdėjimas. Formos devs
  • Tinklo kūrėjų plazdėjimas

Dėl išsamios „Flutter“ dokumentacijos jūs sužinosite, kaip rašyti kodą „Dart“, net jei turite tik „Unity“ grafinių įrankių, skirtų „Android“ žaidimams kurti, patirtį.

„Flutter 1.12“ (naujausia versija) ir jos privilegijos

Pažiūrėkime, kokias populiariausias „Flutter“ funkcijas pristatė naujausia 1.12 versija:

„iOS Dark“ režimas

Nuo šiol „Flutter“ palaiko „iOS 13“ išvaizdą ir jausmus, įskaitant „Cupertino“ valdikliuose visišką tamsiojo režimo palaikymą. Tai ne tik fono keitimas, bet ir likusių spalvų pritaikymas, kad jie būtų tinkami.

Priedas prie programos palaikymas

Kitas didelis patobulinimas yra „Add-to-App“ atnaujinimas, skirtas „Flutter“ integruoti į jau esamas „iOS“ / „Android“ programas.

Nauja „Flutter“ versija palaiko vieno viso ekrano „Flutter“ egzemplioriaus pridėjimą prie programos kartu su:

  • Stabilizuota API integracija „Java“, „Kotlin“, „Objective-C“ ir „Swift“
  • Palaikymas naudoti papildinius „Flutter“ moduliuose
  • Papildomi integravimo mechanizmai per „Android AAR“ ir „iOS“ sistemas

Beta žiniatinklio palaikymas

Nauji „Flutter master“, „dev“ ir „beta“ kanalai teikia patobulintą žiniatinklio palaikymą. Norite pavyzdžių?

Štai „ Rivet“ - švietimo projektas, kuriame „Flutter“ ir „Firebase“ buvo sukurta internetinė jų programos versija.

Smiginis 2.7

Nauja sistemos versija pristato „Dart 2.7“.

Šis naujinimas pagerina darbo su „Dart 2.5“ patirtį, kaip saugios stygos tvarko sugebėjimus ir pratęsimo procesus. Tai padeda kūrėjams išvengti klaidų, kai kintamieji gauna nulinę vertę ir išanalizuoja sveikus skaičius eilutėje.

Štai keletas kitų naujausios „Flutter“ versijos savybių:

  • „MacOS“ darbalaukio palaikymas (alfa)
  • derinimas keliuose įrenginiuose
  • auksinio vaizdo testavimas
  • „Android“ versijos patobulinimai
  • atnaujinta „DartPad“

Tai gerai, bet ne be problemų: kas sulaiko „Devs“?

Plazdėjimas yra tikrai šaunus: lengvai užvedamas, paprastas dirbti ir pristatomas didžiulės technologijų kompanijos. Tačiau čia pateikiamos priežastys, kodėl jūsų vyresnysis kūrėjas gali nepritarti jūsų optimizmui.

Smiginio (žemas) populiarumas

Skirtingai nuo „Java“ / „Kotlin“, skirtos „Android“, ar „Swift“ / „Objective-C“, skirtos „iOS“, „Dart“ kol kas neturi didelio populiarumo. Ir mažai tikėtina, kad taip bus.

Smiginio išmokti nėra per sunku ir yra daugybė pamokymų (tokių kaip šis), tačiau kai kurie kūrėjai vis laikosi „Java“ ir kitų žinomų priemonių.

Tuo pačiu metu jūs negalite naudoti „Flutter“ ir nenaudoti „Dart“: net „Flutter“ žudiko funkcija - „Hot Reload“ - neveiks be „Dart“.

Nepalaiko visų įrenginių

Negalite kurti programų 32 bitų „iOS“ įrenginiams, pvz., Vyresniems nei „iPhone 5s“. Tas pats ir „Windows“ staliniams kompiuteriams: negalite paleisti „Flutter“ savo 32 bitų nešiojamajame kompiuteryje.

Ir „Flutter“ kūrėjai neketina jos taisyti, nes „tai reikalautų labai daug darbo“.

Taigi, jei norite koduoti naudodami „Flutter“, turėsite turėti x64 bitų įrenginį arba atnaujinti dabar naudojamą įrenginį.

Ribotas bibliotekų skaičius

Nors yra daugybė „ Flutter“ libų, tokių kaip „ fl_chart“ (grafikai piešti „ Flutter“ programoje), path_provider (naudojama norint rasti failą „Android“ / „iOS“ sistemose), „ flutter_sliding_tutorial“ ir daug daugiau, skaičius vis dar ribotas.

Tai nėra sunku paaiškinti: „Flutter“ yra gana nauja sistema, o kūrėjai neturėjo pakankamai laiko sukurti tiek libų, kiek siūlo gimtoji kalba.

Vis tik svarbiausios bibliotekos jau yra, o naujos vis atsiranda.

„Flutter“ programos yra didesnio dydžio

... palyginti su vietinėmis sukurtomis programomis. „Flutter“ komanda nustatė, kad minimalus programos dydis (be jokių materialių komponentų, tik vienas centro valdiklis, sukurtas su plazdenimo sukūrimo apk - „plit-per-abi “) yra 4,3 MB ARM ir 4,6 MB ARM 64. .

Pagrindinė programa dabar yra ~ 4 MB „Android“ ir ~ 10 MB „iOS“.

Mažai įrodytos patirties

Kūrėjai gali pamėgti plazdėjimą, tačiau didelės įmonės neskubėjo nebegaminti vietinių (arba „React Native“) programų ir kreiptis į „Flutter“.

Daugumai kompanijų didžiausia problema yra „Flutter“ naujovė. „Dart“ yra naujesnė nei „Java“ ar „C #“, o pati „Flutter“ yra visiškai nauja.

Žinoma, yra daug „Flutter“ atvirojo kodo programų, įskaitant tokias dideles kaip „Google Ads“ ar „Hamilton“ (visą sąrašą rasite čia), tačiau ne per daug.

Niekas nenori būti tas žmogus, kuris priima visiškai naują sistemą, kad tik po kelių mėnesių turėtų pereiti prie vietinės plėtros.

Bet dar svarbiau yra tai, kad plazdėjimas yra kelias, kuriuo eini vienas:

  • nėra daug patvirtintų geriausios praktikos pavyzdžių (bent jau didelio masto projektuose)
  • visada yra tikimybė, kad esate pirmasis, susiduriantis su šia konkrečia problema
  • mažai vilties, kad kažkas jums padės - turėsite žengti kiekvieną žingsnį atsargiai ir būti pasirengęs susidoroti su pasekmėmis

Kur naudoti plazdėjimą

Visų pirma, geriau naudoti „Flutter“ MVP pradedantiesiems, kai turite mažai laiko ir dažnai pinigų verslo modeliui patvirtinti.

„Flutter“ programa yra pigesnė *:

  • * palyginti su dviejų savųjų programų kaina
  • kūrėjų komanda yra 40% mažesnė
  • linijiniai procesai
  • galite praleisti daugiau laiko dirbdami su programos funkcijomis

Pasirinkdami „Flutter“ projektą, sumažinsite kūrimo valandų skaičių. Plazdimo vystymasis neužima tiek laiko, palyginti su vietiniu.

Štai pavyzdys. Tarkime, kad kuriate „Instagram“ tipo programą dviem platformoms. "iOS" plėtrą ketina imtis, maždaug apie 700 valandų, "Android" - Taip pat 700H .

Naudodami „Flutter“ apimsite abi platformas ir sutaupysite laiko: 700 val. „Android“ ir 700 val. „IOS“, palyginti su 700 val. Pliūpsniu.

Sutaupote daug laiko, kurį galite skirti kažkam kitam, pavyzdžiui, poliruoti funkcijas.

Apvyniojimas

Jei kuriate programas ribotą laiką su ribotu biudžetu, „Flutter“ tikrai verta išbandyti.

Tai lygiai taip pat gerai, kaip atrodo, ir su kiekvienu nauju atnaujinimu „Google“ kūrėjai prideda tolygesnių įvairių platformų kūrimo įrankių.

Žinoma, ši sistema gali atrodyti neįprasta C # ir „Java“ mėgėjams, tačiau tai nereiškia, kad ji jus išstums iš komforto zonos. Įvaldę mažus sintaksės skirtumus, netrukus pamatysite, kad vartotojo sąsajos kūrimas vyksta kelis kartus greičiau, palyginti su vietiniu.

Ir jei jums pasiseks, o jei „Flutter“ laikysis, tai gali suteikti jums įdomių mobiliųjų programų kūrimo patirties ir galimybių ateityje.