Kadangi „iOS“ ir „Android“ tapo pagrindinėmis mobilių aplikacijų kūrimo platformomis, kelių platformų produktų kūrimas buvo patrauklus tiek kūrėjams, tiek programų savininkams. Dėl to atsirado įvairių technologijų, skirtų pritaikyti įvairias platformas mobiliosioms aplikacijoms. Vienas iš naujausių mišinio priedų yra „Flutter“. Kas yra „Flutter“ mobiliųjų įrenginių kūrimas ir kokie yra jo privalumai ir trūkumai? Ar jis pakeis Native aplikacijas?
Kas yra Flutter?
Įdomu tai, kad „Google“ pradėjo kurti „Flutter“ dar 2015 m., Tačiau ji liko beta stadijoje, kol nebuvo oficialiai paleista 2018 m. Pabaigoje. Nuo tada jos populiarumas ir galimybės neabejotinai didėjo. Ir tam yra keletas gerų priežasčių.
Jis prasidėjo kaip atvirojo kodo mobiliųjų įrenginių vartotojo sąsajos (UI) sistema, padėjusi kūrėjams kurti Native išvaizdos „Android“ ir „iOS“ aplikacijas. Tačiau ne taip seniai „Flutter“ pradėjo remti desktopinių, įterptųjų, mobiliųjų ir žiniatinklio programų kūrimą iš tos pačios kodų bazės. O kur mažiau kodo, turėtų būti mažiau klaidų.
Taip pat verta paminėti, kad „Flutter“ programos sukurtos naudojant „Google“ programavimo kalbą „Dart“. Išleidimo režimu jis sudarytas iš pradžių (AOT) į vietinį kelių platformų kodą, leidžiantį „Flutter“ bendrauti su platforma nereikalaujant „JavaScript“ tilto (pvz., „React Native“). Tai pagerina aplikacijų paleidimo laiką ir bendrą jų našumą. Tačiau kūrimo režimu „Flutter“ yra surinktas „Just-in-Time“- tai leidžia greitai įkrauti/iš naujo paleisti. Bet mes prie to prieisime.
Nėra jokių abejonių, kad pati kalba yra greita, orientuota į objektus ir gana galinga, tačiau ji dažnai pralaimi, palyginti su labiau subrendusiomis technologijomis, tokiomis kaip „JavaScript“ ar „C#“, kurios įgalina atitinkamai „React Native“ arba „Xamarin“.
Kalbant apie konkurenciją: nepaisant to, kad „React Native“ ir „Xamarin“ vis dar naudojami plačiau, „Flutter“ daugėja programuotojų. Anot „Google“ Tim Sneath, dabar šia vartotojo sąsajos sistema naudojasi beveik pusė milijono kūrėjų, kurie teigia, kad ja naudojasi kas mėnesį. Naudodamas integruotą atvaizdavimo variklį, testavimo ir integravimo API bei paruoštus valdiklius, jis yra konkurentas kitoms technologijoms, leidžiančioms kurti įvairias platformas mobiliesiems. Kuo tada „Flutter“ skiriasi?
Privalumai ir trūkumai kuriant su Flutter mobilias aplikacijas
Ne paslaptis, kad kiekvienas sprendimas turi savo privalumų ir trūkumų, kurie tam tikru mastu palengvina arba stabdo mobilių aplikacijų kūrimą. „Flutter“ turi daug privalumų, kurie vis pritraukia kūrėjus ir programų savininkus, įskaitant:
- Santykinai greitas vystymasis, kuris taupo jūsų laiką, pastangas ir pinigus (bent jau pačioje pradžioje, bet mes to pasieksime). Kaip ir bet kuri kita kelių platformų technologija, ji leidžia naudoti tą pačią kodų bazę kuriant atskiras „iOS“ ir „Android“ programas. Tai savo ruožtu pagreitina visą kūrimo procesą ir reiškia, kad jums nereikia dviejų komandų, dirbančių su vienos platformos kodu.
- „Flutter“ „karštas perkrovimas“ leidžia keisti kodą ir iš karto matyti rezultatus programos peržiūroje, nereikia iš naujo sukompiliuoti kodo. Tokiu būdu galite lengvai ištaisyti klaidas ir eksperimentuoti su skirtingais vartotojo sąsajos elementais ir funkcijomis.
- Visiškas pritaikymas ir greitas atvaizdavimas – dėka sluoksniuotos „Flutter“ architektūros. Sakoma, kad „suteikia jums galimybę kontroliuoti kiekvieną ekrano tašką“ ir leidžia neribotai perdengti ir animuoti grafiką, vaizdo įrašus, tekstą ir valdiklius.
- „Flutter“ taip pat veikia žiniatinklyje ir siūlo tinkamą dokumentaciją, leidžiančią patikrinti, kaip veikia Native valdikliai,
- Be to, jis taip pat atskiria vartotojo sąsają nuo Native valdiklių, o tai pašalina daugybę niuansų ir klaidų, kurias daro išmaniųjų telefonų gamintojai. Tai gali nutikti ne per dažnai, tačiau juos sunku praleisti vystantis. Atskira vartotojo sąsaja taip pat reiškia vieningą požiūrį į visas sistemos versijas be pastangų.
Tačiau ar „Flutter“ yra tik apie privalumus paremta sistema? Tikrai ne ir dar reikės jai 5 – 7 metų, kad pakeistu Native aplikacijas. Mes tai išbandėme praktikoje, norėdami išsiaiškinti, ar taip yra. Štai kokius kelis iš daugelių trūkumų radome:
- „Flutter“ vis dar yra nesubrendusi sistema. Ji egzistuoja labai trumpą laiką, todėl ji vis dar nėra visiškai stabili. Išlieka nemažai daugiau ar mažiau probleminių problemų, taip pat trūksta pažangesnių funkcijų, kurios išnaudotų operacinių sistemų galimybes. Daugelis šių funkcijų dar nepalaikomos, nes daugelis bibliotekų yra prieš alfa stadiją ir rodo apribojimus, lyginant jas su Native atitikmenimis (t. Y. „Google“ žemėlapiais).
- Dart programavimo kalba taip pat yra gana nesubrendęusi Lyginant su „Swift“ ir „Kotlin“, tai iš esmės yra tarsi žingsnis atgal – ji turi arba mažiau funkcijų, arba esamos nėra tiksliai ištobulintos.
- „Flutter“ aplikacijos yra gana didelės ir „sunkios“. Jos užima daug vietos, o atsisiųsti ar atnaujinti užtrunka ilgiau.
- Išvaizda ir jausmas nėra 100% toks pat kaip Native aplikacijų sprendimų. Iš esmės „Flutter“ nesukuria Native komponentų. Jis šiek tiek atkartoja „Android“ medžiagos dizainą ir „iOS“ būdingus komponentus su savo „Cupertino“ biblioteka, tačiau tai nėra visiškai tas pats. Tai ypač matoma naudojant skirtingas sistemos versijas, kai teksto laukai ar mygtukai skiriasi vienas nuo kito, tačiau „Flutter“ lieka tokie patys.
- Kuriant „Flutter“ aplikacijas, nėra vieningų „gairių“, kurios gali būti sudėtingos kuriant sudėtingesnę programinę įrangą.
- Sistema ir Dart kalba kartais keičiasi greitai, todėl ilgainiui gali būti sunku išlaikyti kodą. Be to, atsižvelgiant į liūdnai pagarsėjusių „Google nužudytų projektų“ patirtį, „Flutter“ ateitis vis dar gali būti neaiški.
- Flutter priklauso nuo bendruomenės Native programuotojų. Visi komponentai sukurti Native programuotojų, tarsi pluginai WordPress ar kitai sistemai. Keičiantis sistemos versijoms ar Native komponentams, didelė tikimybė, kad bus sunku atnaujinti aplikaciją.
Kada reikėtų rinktis Flutter sistemą?
Akivaizdu, kad „Flutter“ bent jau kol kas nėra pakankamai subrendęs valdyti sudėtingesnius projektus. Tačiau tuo pat metu tai yra geras MVP sprendimas (ypač pradedantiesiems). Tiesą sakant, tai yra įprastas modelis su visomis palyginti naujomis technologijomis.
Iš esmės, kai tik turite idėją mobiliai aplikaicjai, bet nesate tikri, ar tai gera: sukurkite savo MVP naudodami „Flutter“, kad sumažintumėte išlaidas ir pamatytumėte savo idėją. Jei MVP bus sėkmingas, turėtumėte pradėti galvoti apie „pavertimą“ į Native mobilią aplikaciją.
Pripažinkime: dviejų atskirų programų kūrimas nuo pat pradžių užtruktų daug daugiau laiko ir pinigų. Tai taip pat yra viena iš priežasčių, kodėl startuoliai, turintys ribotus išteklius, kreipiasi į kelių platformų sprendimus, tokius kaip „Flutter“. Pakartotinis kodo naudojimas padeda jiems įgyvendinti savo idėjas be didelių investicijų.
Labiau įsitvirtinusios įmonės taip pat vertina „Flutter“ gebėjimą kurti labai firminę patirtį, palaikančią kelias platformas. Jei tai gali jus sudominti, turėtumėte pabandyti išbandyti šią kelių platformų technologiją.
Naudojimo gairės:
- MVP versijai
- Aplikacijoms su paprastu dizainu
- Aplikacijoms, kurios veikia su OS lygio funkcijomis
- OS pluginams su paprasta logika
- Aukštos kokybės aplikacijoms su „Skia“ atvaizdavimo varikliu
- Lanksti vartotojo sąsaja su aukšto lygio valdikliais
Kas yra geriau: Flutter ar Reack Native
Sakoma, kad „Flutter“ yra stiprus „React Native“ pretendentas. Tačiau kol kas „React Native“ yra labiau subrendęs ir stabilesnis – jau nekalbant apie tai, kad jis naudoja populiariausios programavimo kalbos „JavaScript“ pranašumus ir jau turi didelę naudotojų ir rėmėjų bendruomenę.
Tačiau tuo pat metu atrodo, kad „Flutter“ auga precedento neturinčiu tempu. Taip pat atsitinka, kad jis yra greitesnis nei „React Native“ – nereikia eiti per „JavaScript“ tiltą, o naudojant „Dagger“ lengva parašyti ir surinkti kodą greitai. Gali būti tik laiko klausimas, kada jis bus plačiau naudojamas.
Tačiau tai nereiškia, kad kitos kelių platformų technologijos pasensta. Galų gale, tiek „Flutter“, tiek „React Native“ pobūdis leidžia sutrumpinti pateikimo rinkai laiką ir daro programėlių mobiliesiems kūrimą efektyvesnį, o tai pritraukia vis daugiau kūrėjų ir programų savininkų.
Štai trumpas „Flutter“ ir „React Native“ palyginimas:
Flutter | React Native | |
Aprašymas | „Google“ vartotojo sąsajos įrankių rinkinys, skirtas iš vienos kodų bazės kurti aplikacijas mobiliesiems, žiniatinkliui ir darbalaukiui | Sistema, skirta kurti „iOS“ ir „Android“ hibridines aplikacijas su „JavaScript“ |
Kūrėjai | ||
Išleidimas | 2018 m. 12 mėn, | 2015 m. 03 mėn. |
Programavimo kalba | Dart | JavaScript |
Atviro kodo | Taip | Taip |
Kada rinktis | –Jei norite kiek įmanoma sutrumpinti paleidimą į eterį –Jei planuojate išplėsti aplikacijos mastelį skirtingose platformose ir operacinėse sistemose –Jei jums patinka eksperimentuoti su naujovėmis, o ne visiškai subrendusiomis technologijomis | –Jei jūsų programuotojai jau pilnai išmano JavaScript –Jei norite savo aplikaciją sukurti su UI Native komponentais |
Nuosprendis? Tiek „Flutter“, tiek „React Native“ turi savo privalumų ir trūkumų, susijusių su kelių platformų mobiliųjų aplikacijų kūrimu. „Flutter“ neabejotinai turi savo apribojimų, tačiau konkrečiais naudojimo atvejais sunku nepaisyti naudos. Iš esmės, jei norite sumažinti kūrimo išlaidas ir laiką bei išleisti aplikaciją visose prieinamose platformose vienu metu – „Flutter“ gali būti geras pasirinkimas.
Tačiau kiekviena programa yra skirtinga, todėl visada turėtumėte ieškoti sprendimo, kuris ilgainiui galėtų paremti jūsų tikslus ir strategiją. Jei nesate tikri, kokią technologiją pasirinkti savo projektui – tai galime lengvai atsakyti. Nei vieną, nei kitą. Jei apsisprendėte kurti aplikaciją, turite tam turėti investicijų. Turint pakankamai investicijų rekomenduojame rinktis tik tais Native aplikaciją. Mes jums padėsime pasiekti užsibrėžtų tikslų.