Po pandemijos labai išaugo mobiliųjų programų kūrimo banga, todėl vis dažniau buvo naudojami kelių platformų programų kūrimo įrankiai, pvz., „Flutter“.
Nepaisant populiarumo, „Flutter“ turi keletą trūkumų. Taigi kūrėjai ieško geresnių alternatyvų.
Prieš aptardami kai kurias iš geriausių „Flutter“ alternatyvų, sužinokime daugiau apie „Flutter“.
Kas yra Plazdėjimas?
2017 m. gegužės mėn. pristatyta „Flutter“ yra „Google“ vartotojo sąsajos įrankių rinkinys, skirtas sukurti patrauklias, savaime sukurtas programas mobiliesiems, žiniatinkliui ir darbalaukiams iš vienos kodų bazės.
Trumpai tariant, tai leidžia sukurti vietinę programą mobiliesiems naudojant vieną kodų bazę. Tai reiškia, kad galite sukurti dvi skirtingas programas naudodami vieną programavimo kalbą ir kodų bazę („iOS“ ir „Android“).
„Flutter“ programėlėms kurti naudojama „Dart“ – programavimo kalba. Kita vertus, pagrindinė „Flutter“ koncepcija sukasi apie valdiklius. Naudodami valdiklius, vartotojai gali sukurti visą vartotojo sąsają.
Valdikliai skirstomi į struktūrinius elementus, estetinius elementus, vartotojo sąsajos išdėstymo elementus ir pan.
„Flutter“ yra visas programinės įrangos kūrimo rinkinys, apimantis atvaizdavimo variklius, CLI (komandinės eilutės sąsajos įrankius), kūrėjo įrankius, visiškai keičiamus valdiklius, testavimą, platų derinimą su įskiepių palaikymu, valdiklių medžio tikrintuvą, API sąsajas ir daug daugiau.
„Flutter“ pagrindinės savybės
- Sparti plėtra: „Flutter“ turi daug funkcijų, padedančių kūrėjams greitai sukurti ir įdiegti programas, įskaitant neprisijungus pasiekiamą dokumentaciją. Daugelis svarbių programos išdėstymo ir elementų yra iš anksto sukurti kaip valdikliai, o svarbiausia funkcija – būsenos greitas įkėlimas, kuris leidžia sutaupyti daug laiko, nes programa gali būti atkurta greičiau nei per sekundę.
- Vietinis našumas: Vienas iš geriausių plazdėjimo aspektų yra tai, kad jis yra atvirojo kodo, leidžiantis kiekvienam, turinčiam pakankamą intelektą, prisidėti prie jo augimo. Dėl to flutter našumas dažnai yra toks pat puikus, kaip ir vietinės programos.
- Išraiškinga ir lanksti vartotojo sąsaja (UI): Gera vartotojo sąsaja (UI) turi būti gyvybiškai svarbus bet kurios rinkoje esančių programų kūrimo technologijos aspektas. Tačiau dėl greito laivo ypatybių, pvz., medžiagų dizaino, kuri padeda programai atrodyti puikiai be jokio darbo, plazdėjimas perkėlė ją į kitą lygį.
- Operacijos keliose platformose: Geriausia „Flutter“ savybė yra ta, kad kurdami programą mobiliesiems taip pat gausite žiniatinklio ir darbalaukio programą.
Flutter skausmo taškai
„Flutter“ turi keletą puikių savybių. Tačiau daugelis veiksnių neleidžia kūrėjams juo naudotis. Jie apima:
- Kūrėjai turi praleisti šiek tiek laiko mokydamiesi naujos programavimo kalbos, nes platforma sukurta remiantis Dart.
- Jei norite kurti programas su konkrečiam įrenginiui būdingomis galimybėmis, „Flutter“ ne jums.
- Be to, kai kurie kūrėjai teigia, kad „Flutter“ yra neveiksminga kuriant komerciškai sudėtingas programas.
Dėl visų šių priežasčių ieškoti geriausios „Flutter“ alternatyvos gali būti protingas sprendimas.
1. Reaguoti native
Reaguoti native leidžia kurti programas mobiliesiems vien tik JavaScript. Jo koncepcija yra tokia pati kaip „React“ ir leidžia sukurti sudėtingą mobiliąją vartotojo sąsają naudojant deklaratyvius komponentus.
Su React Native nesukuriate žiniatinklio programos mobiliesiems, HTML5 programos ar mišrios programos; sukuriate tikrą programą mobiliesiems, kuri nesiskiria nuo programos, sukurtos naudojant „Objective-C“ arba „Java“.
Pagrindiniai „React Native“ vartotojo sąsajos kūrimo komponentai yra tokie patys kaip standartinėse „iOS“ ir „Android“ programose. Jūs tiesiog sujunkite tuos gabalus naudodami „JavaScript“ ir „React“.
Naudodami šią sistemą galite sukurti geriausias programas daugeliui platformų naudodami vieną kodų bazę. 2015 m. buvo paskelbta „React Native Framework“, atvirojo kodo kelių platformų mobilioji sistema.
Dėl savo neįtikėtinų galimybių ir pranašumų jis greitai tapo viena didžiausių platformų, skirtų kelių platformų mobiliesiems programoms. Tačiau vis daugiau kūrėjų kreipiasi į „React Native“, kad sukurtų galingas kelių platformų programas.
Savybės
- Platforma, kuri yra atvirojo kodo.
- „Live React“ kodo pakartotinis naudojimas.
- Modulinė ir patogi vartotojui architektūra.
Argumentai "už"
- Greitesnis kūrimas – sutrumpintas kūrimo laikas yra pagrindinė „React Native“ pardavimo savybė. Sistema apima daugybę paruoštų naudoti komponentų, kurie gali padėti pagreitinti procesą.
- Viena sistema, kelios platformos – „React Native“ leidžia pakartotinai naudoti kodų bazę (arba jos dalį) tarp „iOS“ ir „Android“. Atsižvelgiant į jūsų programoje naudojamų vietinių modulių skaičių, tikras kelių platformų kūrimas tam tikru mastu yra įmanomas.
- Mažesnės komandos – vietiniam Android ir iOS kūrimui reikia sudaryti dvi nepriklausomas komandas. Tai gali slopinti kūrėjų bendradarbiavimą ir dėl to sulėtinti plėtrą. Jei pasirinksite „React Native“, pirmiausia norėsite a JavaScript kūrėjas kurie gali parašyti kodą abiem platformoms.
- Supaprastinta vartotojo sąsaja – „React Native“ yra tvirtai orientuota į mobiliojo vartotojo sąsajos kūrimą. Kurdami vietinę programą turėsite sukurti veiksmų seką programoje. Kadangi RN naudoja deklaratyvųjį programavimą, tokia įgyvendinimo užduočių seka nebereikalinga. Dėl to naudotojo keliuose esančius gedimus daug lengviau nustatyti.
Trūkumai
- Suderinamumo ir derinimo problemos – kūrėjai gali susidurti su įvairiomis problemomis dėl paketų suderinamumo ar derinimo įrankių. Jei jūsų kūrėjai nėra gerai susipažinę su „React Native“, tai gali turėti neigiamos įtakos jūsų plėtrai, nes jie skiria laiko trikčių šalinimui.
- Reikia vietinių kūrėjų – kai kurioms vietinėms funkcijoms ir moduliams reikia išsamių konkrečios platformos žinių. Daugelio vietinių programų funkcijų (pvz., stumti pranešimus) anksčiau buvo pagrindinis susirūpinimas kuriant „React Native“.
2. Joninis
Joninis yra an atvirojo kodo vartotojo sąsajos įrankių rinkinys kuriant didelio našumo, aukštos kokybės programas mobiliesiems, darbalaukio programėles ir progresyvias žiniatinklio programas naudojant žiniatinklio technologijas, tokias kaip HTML, CSS ir JavaScript.
Tai priekinė dalis SDK sistema, leidžianti kurti programas mobiliesiems iOS, Windows ir Android įrenginiams naudojant tą pačią kodų bazę.
Pasirodo, tai yra kelių platformų programavimo įrankis mobiliesiems įrenginiams. Tai leidžia programuotojams sukurti vieną kartą ir paleisti bet kur.
„Ionic“ iš tikrųjų yra HTML5 mobiliųjų programų kūrimo sistema, orientuota į hibridines programas. „Ionic“ pirmiausia yra susijusi su galutinio vartotojo patirtimi arba UI sąveika, kuri yra atsakinga už bendrą programos išvaizdą ir pojūtį.
Pradinė šios sistemos versija, pagrįsta Angular JS ir Apache Cordova, buvo išleista 2013 m. ir tai yra puikus sprendimas, tam tikra prasme panašus į „Flutter“.
Tai paprasta suprasti ir gali veikti su kitomis bibliotekomis ar sistemomis, tokiomis kaip Angular, Cordova ir kt. Jis taip pat gali būti naudojamas be priekinės sistemos, naudojant paprastą scenarijaus įtraukimą. Jame yra komandų eilutės sąsaja, leidžianti kurti programą, tuo pačiu sumažinant kodavimo laiką.
Savybės
- CSS komponentai – šie komponentai, turintys savo prigimtinę išvaizdą ir pojūtį, suteikia beveik visas dalis, kurių reikia mobiliajai programai. Komponentų numatytasis stilius gali būti lengvai modifikuojamas, kad atitiktų jūsų dizainą.
- Ionic CLI – tai NodeJS programa, kurioje yra komandos, skirtos paleisti, kurti, paleisti ir imituoti jonines programas.
- AngularJS – AngularJS Ionic kuria sudėtingas vieno puslapio programas, pritaikytas mobiliesiems įrenginiams, naudodamas AngularJS MVC architektūrą.
- „Cordova“ papildiniai – „Apache Cordova“ papildiniai suteikia API, reikalingą vietiniam įrenginio funkcionalumui panaudoti „JavaScript“ kodu.
Argumentai "už"
- Palyginti su vietinėmis iOS / Android programomis, tai leidžia greičiau kurti.
- Išskyrus kai kurių papildinių palaikymą, jis leidžia kurti programas kelioms operacinėms sistemoms naudojant tą pačią kodų bazę.
- Tai leidžia paprastai išbandyti modulius ir komponentus.
- Jame yra daug papildinių ir daugkartinio naudojimo komponentų.
- Ji apima įvairius vartotojo sąsajos komponentus ir leidžia greitai sukurti prototipus.
- Jame yra daugybė papildinių, skirtų dinamiškesnėms mobiliosioms programoms kurti.
- Gausite daug vartotojo sąsajos komponentų, kurie palengvins naudojimą ir valdymą.
Trūkumai
- Derinti naudojant joninę sistemą gali būti sudėtinga, o problemos sprendimas užtrunka ilgiau. Dėl to sunku nustatyti klaidos priežastį, o klaidos pranešimas kartais gali būti dviprasmiškas.
- Tai apima tam tikrus vietinius papildinius, kurie gali būti nepatikimi ir gali prieštarauti vienas kitam.
- Jei kuriate hibridines programas, galite susidurti su saugumo sunkumais ir jūsų kodas gali būti pažeidžiamas įsilaužėlių.
- Kuriant sudėtingas ir daug išteklių reikalaujančias mobiliąsias programas, gali kilti tam tikrų našumo problemų.
- Jei pradedate nuo joninės sistemos, norėdami pasiekti savąsias funkcijas, turite pasikliauti papildiniais.
3. Cordova
„Apache Cordova“ yra atvirojo kodo sistema, leidžianti žiniatinklio kūrėjams panaudoti esamą HTML, CSS ir „JavaScript“ turinį kurdami vietines programas įvairiems mobiliesiems įrenginiams.
„Cordova“ naudoja savąjį „WebView“, kad pateiktų jūsų žiniatinklio programą. „WebView“ yra programos komponentas (panašus į mygtuką arba skirtukų juostą), rodantis žiniatinklio turinį vietinėje programoje.
Laikykite „WebView“ žiniatinklio naršyklę be jokių įprastų vartotojo sąsajos funkcijų, pvz., URL lauko ar būsenos juostos.
„Nitobi“ taip pat sukūrė „Cordova“, kuri yra patogi programų kūrimo sistema.
Šiame konteineryje veikianti žiniatinklio programa veikia panašiai kaip bet kuri kita žiniatinklio programa, veikianti naršyklėje mobiliesiems – ji gali atidaryti papildomus HTML puslapius, atlikti JavaScript kodą, leisti medijos failus ir susisiekti su išoriniais serveriais.
Ši mobiliųjų programų forma kartais vadinama hibridine programa. „Cordova“ programos yra supakuotos kaip mobiliųjų įrenginių programos, turinčios prieigą prie vietinių įrenginių API. Ši sistema taip pat leidžia derinti savuosius ir hibridinius kodo fragmentus.
Savybės
- Pagrindiniai „Cordova“ komponentai: „Cordova“ apima įvairius pagrindinius komponentus, kurių reikia bet kuriai mobiliajai programai. Šie komponentai sudaro programos pagrindą, leidžiantį sutelkti dėmesį į savo logikos kūrimą.
- „Cordova“ papildiniai: suteikia API, skirtą vietinėms mobiliosioms funkcijoms integruoti į mūsų „JavaScript“ projektą. Šie papildiniai leidžia programai pasiekti įrenginio funkcijas, pvz., fotoaparatą, akumuliatorių, kontaktus ir pan.
- Komandinės eilutės sąsaja (CLI): ši programa yra atsakinga už procesų kūrimą ir įvairių platformų papildinių diegimą. Jis naudojamas iniciatyvoms pradėti ir kūrimo procesui užtikrinti sklandžiau.
Argumentai "už"
- Tai lengva išmokti ir gali būti naudojama kuriant kelių platformų programas.
- Tai nemokama ir atvira platforma.
- „Cordova“ programų kūrimas yra greitas, nes jis virsta programa, suderinama su įvairiomis platformomis.
- Tai leidžia kurti programas daugeliui platformų nemokant naujų programavimo kalbų.
- Tai iš anksto sukurtų įskiepių rinkinys, leidžiantis pasiekti įrenginio kamerą, GPS ir failų sistemą.
Trūkumai
- Jo greitis nukenčia dėl kodo paleidimo naršyklės rodinyje.
- Jis netinka didelėms programoms, nes hibridinės programos veikia lėčiau nei vietinės programos.
- Jis nėra idealus žaidimų programoms kurti, nes tam reikia kelių aukštesnės klasės įskiepių, kurie šiuo metu nepasiekiami.
4. Xamarinas
Xamarin yra atvirojo kodo platforma, skirta kurti šiuolaikines ir performact.net programas, skirtas iOS, Android ir Windows.
„Xamarin“ programos gali būti sukurtos asmeniniame arba „Mac“ kompiuteryje ir tada sukompiliuotos į vietinius programų paketus, pvz., an.apk failą, skirtą „Android“, arba an.ipa failą, skirtą „iOS“.
Jis skirtas kūrėjams, norintiems dalytis kodu, testavimu ir verslo logika įvairiose platformose ir kurti kelių platformų programas C# naudojant Visual Studio.
Galite sukurti programą mobiliesiems, kurios išvaizda ir pojūtis būtų visiškai natūrali. „Xamarin“ galite sukurti vieną C# kodų bazę, kuri turi prieigą prie visų vietinių SDK funkcijų.
Šis modelis leidžia kūrėjams parašyti visą savo verslo logiką viena kalba (arba pakartotinai naudoti esamą programos kodą), tuo pačiu užtikrinant savo našumą, išvaizdą ir pojūtį įvairiose platformose.
Savybės
- Visiškas SDK susiejimas – „Xamarin“ turi beveik visų pagrindinių platformos SDK sąsajų tiek „iOS“, tiek „Android“. Be to, šie radiniai yra labai spausdinami, o tai reiškia, kad juos lengva naršyti ir naudoti, be to, jie leidžia visapusiškai patikrinti tipą kūrimo metu ir kūrimo metu. Dėl stipriai įvestų surišimų atsiranda mažiau vykdymo klaidų ir aukštesnės kokybės programos.
- Šiuolaikinės kalbos konstrukcijos – „Xamarin“ programos yra parašytos C#, modernia kalba, turinčia daug pranašumų, palyginti su „Objective-C“ ir „Java“, pavyzdžiui, dinaminėmis kalbomis, funkcinėmis konstrukcijomis, tokiomis kaip lambdas, LINQ, lygiagretusis programavimas, bendrieji ir kt.
- Kelių platformų palaikymas mobiliesiems įrenginiams – „Xamarin“ suteikia visapusišką kelių platformų suderinamumą su trimis pagrindinėmis „iOS“, „Android“ ir „Windows“ platformomis. Naudojant „Xamarin“, gali būti sukurtos programos, leidžiančios dalytis iki 90 % savo kodo. „Essentials“ suteikia vienodą API, leidžiančią pasiekti bendrinamus išteklius visose trijose platformose. Mobiliųjų telefonų kūrėjams bendras kodas gali žymiai sumažinti kūrimo išlaidas ir laiką, kai jis patenka į rinką.
- Tvirta bazinių klasių biblioteka (BCL) – „Xamarin“ programos naudojasi .NET BCL – didžiuliu klasių rinkiniu su plačiomis ir supaprastintomis galimybėmis, įskaitant tvirtą XML, duomenų bazę, serializavimą, IO, stygų ir tinklo palaikymą ir kt. Esamas C# kodas gali būti sukompiliuotas naudoti programoje, leidžiantis pasiekti šimtus bibliotekų, kurios išplečia BCL galimybes.
Argumentai "už"
- Trumpesni kūrimo ciklai – Vienas reikšmingų Xamarin programėlių kūrimo pranašumų yra tas, kad 90 % kodo galima pakartotinai naudoti arba perdirbti kuriant programas daugeliui mobiliųjų platformų. „Bing“ sukurta naudojant C# ir vietinį kodą. Tinklo bibliotekos ir Xamarin programėlių kūrimas padeda sutaupyti daug laiko ir darbo. Jis sutrumpina kūrimo terminus, generuodamas programas kelioms platformoms.
- Visas įrenginio palaikymas (ty fotoaparatas, GPS) – kadangi „Xamarin“ teikia vietinio lygio programos funkcijas, išvengiama aparatinės įrangos suderinamumo problemų, papildinių ir API. Tai taip pat leidžia susieti su vietinėmis bibliotekomis. Kūrėjai gali kurti programas su įprastomis įrenginio funkcijomis ir tokios programos sklandžiai veiks visose pagrindinėse platformose. Geresnį pritaikymą ir vietinę „Xamarin“ programų kūrimo paslaugų patirtį galima gauti su mažesnėmis pridėtinėmis išlaidomis.
- Atviro kodo technologija su stipriu palaikymu- Microsoft įsigijus Xamarin, įvyko reikšmingų politikos pokyčių. Xamarin SDK tapo atviro kodo ir dabar prieinamas visiems pagal MIT licenciją. Platformos populiarumas išaugo, nes buvo pašalinta pagrindinė kliūtis – įsigyti licenciją. „Xamarin“ tapo patikima ir stipria kelių platformų programų kūrimo sprendimų technologijų rinkiniu.
Trūkumai
- UI kūrimas užtrunka – nors dauguma Xamarin programinės įrangos gali būti pakartotinai naudojama įvairiose platformose, pagrindinė vartotojo sąsajos konstrukcija dar nėra nešiojama. Kūrėjai gali reikalauti atlikti tam tikrą kodavimą arba dirbti įvairiose platformose, o tai užtrunka daug laiko.
- Gali reikėti koreguoti failo dydį – kūrėjams gali tekti pakeisti programos failo dydį. Pagrindinė to priežastis yra ta, kad naudojant pagrindines bibliotekas ir funkcionalumą, programų parduotuvė patiria didelį spaudimą. Prieš pateikdami „Xamarin“ programą į atitinkamą programų parduotuvę, įsitikinkite, kad jos failo dydis yra tinkamas. Dydžiai paprastai svyruoja nuo 3 MB iki 15 MB.
Išvada
Taigi, tai yra keletas geriausių „Flutter“ alternatyvų, į kurias reikia atsižvelgti kuriant paprastas ir puikias programas įvairiose platformose.
Tačiau prieš priimant sprendimą labai svarbu išanalizuoti programos ypatybes, nes tai parodys, kuri sistema jai labiausiai tinka.
Galiausiai, jūsų sprendimo pasirinkimas turėtų būti pagrįstas bet kokia filosofija, kurią užsiprenumeruojate, kur ir kaip norite įdiegti programą ir kokius talentus turite dabar arba norėtumėte įgyti ateityje.
Žinoma, geriausias būdas nustatyti, kuris iš jų jums idealiai tinka, yra pradėti kurti su visais ir tada palyginti rezultatus.
Palikti atsakymą