Pēc pandēmijas bija ievērojams mobilo lietotņu izstrādes pieaugums, palielinot starpplatformu lietotņu izstrādes rīku, piemēram, Flutter, izmantošanu.
Neskatoties uz savu popularitāti, Flutter ir vairāki trūkumi. Tātad izstrādātāji meklē labākas alternatīvas.
Pirms apspriežam dažas no labākajām Flutter alternatīvām, uzzināsim vairāk par Flutter.
Kas ir nolidot?
Flutter, kas tika ieviests 2017. gada maijā, ir Google lietotāja saskarnes rīkkopa, lai izveidotu pievilcīgas, sākotnēji izstrādātas lietotnes mobilajām ierīcēm, tīmeklim un galddatoriem no vienas kodu bāzes.
Īsumā, tas ļauj izveidot vietējo mobilo lietojumprogrammu ar vienu kodu bāzi. Tas nozīmē, ka varat izveidot divas atšķirīgas lietotnes, izmantojot vienu programmēšanas valodu un kodu bāzi (iOS un Android ierīcēm).
Programmēšanas valoda Dart tiek izmantota, lai izveidotu lietotnes Flutter. No otras puses, Flutter pamatjēdziens ir saistīts ar logrīkiem. Izmantojot logrīkus, lietotāji var izveidot visu lietotāja interfeisu.
Logrīki tiek klasificēti strukturālajos elementos, estētiskajos elementos, lietotāja interfeisa izkārtojuma elementos un tā tālāk.
Flutter ir viss programmatūras izstrādes komplekts, kurā ietilpst renderēšanas dzinēji, CLI (komandrindas interfeisa rīki), izstrādātāja rīki, pilnībā maināmi logrīki, testēšana, plaša atkļūdošana ar spraudņu atbalstu, logrīku koka inspektors, API saskarnes un daudz kas cits.
Flutter galvenās funkcijas
- Ātra attīstība: Flutter piedāvā daudzas funkcijas, kas palīdz izstrādātājiem ātri izveidot un izvietot lietotnes, tostarp bezsaistes dokumentāciju. Daudzi svarīgi lietotnes izkārtojumi un elementi ir iepriekš izveidoti kā logrīki, un vissvarīgākā funkcija ir statusa noteikta ātra atkārtota ielāde, kas ietaupa daudz laika, ļaujot lietotnei atjaunoties mazāk nekā sekundē.
- Vietējā veiktspēja: Viens no labākajiem plandīšanās aspektiem ir tas, ka tas ir atvērtā koda avots, kas ļauj ikvienam ar atbilstošu intelektu dot ieguldījumu tās izaugsmē. Rezultātā flutter ir sasniegusi revolucionāru veiktspēju, kas bieži vien ir tikpat lieliska kā vietējās lietotnes.
- Izteiksmīga un elastīga lietotāja saskarne (UI): Labam lietotāja interfeisam (UI) ir jābūt jebkuras tirgū pieejamās lietotņu izstrādes tehnoloģijas būtiskam aspektam. Tomēr, pateicoties tā ātrām kuģa funkcijām, piemēram, materiāla dizainam, kas palīdz lietotnei izskatīties lieliski bez darba, plandīšanās to ir pacēlusi citā līmenī.
- Operācijas starp platformām: Flutter labākā funkcija ir tā, ka, veidojot mobilo lietotni, jūs saņemat arī tīmekļa un darbvirsmas lietotni.
Plīvo sāpju punkti
Flutter ir dažas lieliskas funkcijas. Tomēr daudzi faktori neļauj izstrādātājiem to izmantot. Tie ietver:
- Izstrādātājiem ir jāpavada zināms laiks, lai apgūtu jaunu programmēšanas valodu, jo platforma ir veidota uz Dart.
- Ja vēlaties izveidot lietojumprogrammas ar konkrētām ierīcēm paredzētām iespējām, Flutter nav paredzēts jums.
- Turklāt daži izstrādātāji saka, ka Flutter nav efektīva komerciāli sarežģītu lietotņu izveidei.
Visu šo iemeslu dēļ labākās Flutter alternatīvas meklēšana varētu būt saprātīgs lēmums.
1. Reaģēt native
Reaģēt native ļauj izveidot mobilās lietotnes pilnībā JavaScript. Tam ir tāda pati koncepcija kā React, un tas ļauj izveidot izsmalcinātu mobilo lietotāja interfeisu, izmantojot deklaratīvos komponentus.
Jūs neizveidojat mobilā tīmekļa lietotni, HTML5 lietotni vai hibrīda lietotni, izmantojot React Native; jūs izveidojat īstu mobilo lietotni, ko nevar atšķirt no tādas, kas izveidota ar Objective-C vai Java.
Būtiski lietotāja saskarnes veidošanas komponenti programmā React Native ir tādi paši kā standarta iOS un Android lietotnēs. Jūs vienkārši salieciet šos gabalus kopā ar JavaScript un React.
Izmantojot šo sistēmu, varat izveidot labākās lietotnes daudzām platformām, izmantojot vienu kodu bāzi. React Native Framework — atvērtā koda, starpplatformu mobilā sistēma, tika publicēta 2015. gadā.
Pateicoties savām neticamajām iespējām un priekšrocībām, tā ātri vien ir kļuvusi par vienu no labākajām platformām starpplatformu mobilajām lietotnēm. Tomēr arvien vairāk izstrādātāju pievēršas React Native, lai izveidotu jaudīgas starpplatformu lietojumprogrammas.
Apkalpošana
- Atvērtā koda platforma.
- Live React koda atkārtota izmantošana.
- Modulāra un lietotājam draudzīga arhitektūra.
Plusi
- Ātrāka izveide — samazināts izstrādes laiks ir React Native galvenā pārdošanas funkcija. Ietvars ietver daudzus lietošanai gatavus komponentus, kas var palīdzēt paātrināt procesu.
- Viena sistēma, vairākas platformas — React Native ļauj atkārtoti izmantot savu kodu bāzi (vai tās daļu) starp iOS un Android. Atkarībā no jūsu programmā izmantoto vietējo moduļu skaita zināmā mērā ir iespējama patiesa starpplatformu izstrāde.
- Mazākas komandas — Android un iOS vietējai izstrādei ir nepieciešams izveidot divas neatkarīgas komandas. Tas var apslāpēt izstrādātāju sadarbību un rezultātā palēnināt attīstību. Ja izvēlaties React Native, jūs galvenokārt vēlēsities a JavaScript izstrādātājs kurš var uzrakstīt kodu abām platformām.
- Vienkāršots lietotāja interfeiss — React Native ir stingri orientēts uz mobilā lietotāja interfeisa izveidi. Vietējās izstrādes laikā programmā būs jāizveido darbību secība. Tā kā RN izmanto deklaratīvo programmēšanu, šāda īstenošanas uzdevumu secība vairs nav nepieciešama. Rezultātā kļūdas lietotāja ceļotajos ceļos ir daudz vieglāk identificējamas.
Mīnusi
- Saderības un atkļūdošanas problēmas — izstrādātāji var saskarties ar dažādām problēmām saistībā ar pakotņu saderību vai atkļūdošanas rīkiem. Ja jūsu izstrādātāji nepārzina React Native, tas var negatīvi ietekmēt jūsu attīstību, jo viņi pavada laiku problēmu novēršanai.
- Nepieciešami vietējie izstrādātāji — dažām vietējām funkcijām un moduļiem ir nepieciešamas padziļinātas zināšanas par konkrētu platformu. Daudzām vietējo lietotņu iespējām (piem., push paziņojumus) iepriekš bija liela problēma saistībā ar React Native attīstību.
2. Jonu
Ionic ir an atvērtā koda lietotāja interfeisa rīkkopa lai izveidotu augstas veiktspējas, augstas kvalitātes mobilās lietotnes, galddatoru lietotnes un progresīvas tīmekļa lietotnes, izmantojot tīmekļa tehnoloģijas, piemēram, HTML, CSS un JavaScript.
Tas ir priekšgals SDK ietvars, kas ļauj izveidot mobilās lietotnes iOS, Windows un Android ierīcēm, izmantojot vienu un to pašu kodu bāzi.
Izrādās, ka tas ir starpplatformu programmēšanas rīks mobilajām ierīcēm. Tas ļauj programmētājiem izveidot vienreiz un palaist jebkur.
Ionic patiešām ir mobilo lietotņu izstrādes ietvars HTML5, kas koncentrējas uz hibrīda lietojumprogrammām. Ionic galvenokārt ir saistīts ar priekšgala lietotāja pieredzi jeb interfeisa mijiedarbību, kas ir atbildīga par jūsu lietotnes vispārējo izskatu un darbību.
Šīs sistēmas sākotnējā versija, kuras pamatā ir Angular JS un Apache Cordova, tika izlaista 2013. gadā, un tas ir lielisks risinājums, kas dažos veidos ir līdzīgs Flutter.
Tas ir vienkārši saprotams un var darboties ar citām bibliotēkām vai ietvariem, piemēram, Angular, Cordova un citām. To var izmantot arī bez priekšgala ietvara, izmantojot vienkāršu skripta iekļaušanu. Tam ir komandrindas interfeiss, kas ļauj izveidot programmu, vienlaikus samazinot kodēšanas laiku.
Apkalpošana
- CSS komponenti — šie komponenti ar savu sākotnējo izskatu un darbību nodrošina gandrīz visas mobilajai lietojumprogrammai nepieciešamās daļas. Komponentu noklusējuma stilu var viegli mainīt, lai tas atbilstu jūsu dizainam.
- Ionic CLI — šī ir NodeJS utilīta, kas satur komandas jonu lietotņu palaišanai, izstrādei, palaišanai un simulēšanai.
- AngularJS — AngularJS Ionic veido sarežģītas vienas lapas lietotnes, kas pielāgotas mobilajām ierīcēm, izmantojot AngularJS MVC arhitektūru.
- Cordova spraudņi — Apache Cordova spraudņi nodrošina API, kas nepieciešama vietējās ierīces funkcionalitātes izmantošanai ar JavaScript kodu.
Plusi
- Salīdzinot ar vietējām iOS/Android lietojumprogrammām, tas nodrošina ātrāku attīstību.
- Izņemot dažus spraudņu atbalstu, tas ļauj izveidot lietotnes vairākām operētājsistēmām, izmantojot vienu un to pašu kodu bāzi.
- Tas nodrošina vienkāršu moduļu un komponentu testēšanu.
- Tam ir daudz spraudņu un atkārtoti lietojamu komponentu.
- Tas ietver dažādus lietotāja interfeisa komponentus un ļauj ātri izveidot prototipus.
- Tas nodrošina daudzus spraudņus dinamiskāku mobilo lietojumprogrammu izveidei.
- Jūs saņemsiet daudz lietotāja interfeisa komponentu, kas atvieglos lietošanu un pārvaldību.
Mīnusi
- Atkļūdošana var būt sarežģīta, izmantojot jonu, un problēmas risināšanai ir nepieciešams ilgāks laiks. Tas apgrūtina kļūdas cēloņa noteikšanu, un kļūdas ziņojums dažkārt var būt neskaidrs.
- Tajā ir iekļauti daži vietējie spraudņi, kas var nebūt uzticami un var saskarties viens ar otru.
- Ja izstrādājat hibrīda lietotnes, var rasties drošības problēmas un jūsu kods var būt neaizsargāts pret hakeriem.
- Izstrādājot sarežģītas un resursietilpīgas mobilās lietojumprogrammas, var rasties problēmas ar veiktspēju.
- Ja sākat ar jonu sistēmu, jums ir jāpaļaujas uz spraudņiem, lai piekļūtu vietējai funkcionalitātei.
3. Cordova
Apache Cordova ir atvērtā pirmkoda ietvars, kas ļauj tīmekļa izstrādātājiem izmantot esošo HTML, CSS un JavaScript saturu, lai izveidotu vietējās lietojumprogrammas dažādām mobilajām ierīcēm.
Cordova izmanto vietējo WebView, lai renderētu jūsu tīmekļa lietojumprogrammu. WebView ir lietojumprogrammas komponents (līdzīgs pogai vai ciļņu joslai), kas parāda tīmekļa saturu vietējā programmā.
Uzskatiet, ka WebView ir tīmekļa pārlūkprogramma bez tipiskām lietotāja saskarnes funkcijām, piemēram, URL lauka vai statusa joslas.
Nitobi ir arī izveidojis Cordova, kas ir ērts lietojumprogrammu izstrādes ietvars.
Tīmekļa lietojumprogramma, kas darbojas šajā konteinerā, darbojas līdzīgi kā jebkura cita tīmekļa lietojumprogramma, kas darbojas mobilajā pārlūkprogrammā — tā var atvērt papildu HTML lapas, izpildīt JavaScript kodu, atskaņot multivides failus un sazināties ar ārējiem serveriem.
Šo mobilo lietojumprogrammu veidu dažreiz sauc par hibrīda lietojumprogrammu. Cordova lietotnes ir iepakotas kā mobilo ierīču lietojumprogrammas, kurām ir piekļuve vietējo ierīču API. Šis ietvars arī ļauj kombinēt vietējos un hibrīda koda fragmentus.
Apkalpošana
- Cordova pamatkomponenti: Cordova ietver dažādus galvenos komponentus, kas nepieciešami jebkurai mobilajai lietojumprogrammai. Šie komponenti veido lietotnes pamatu, ļaujot mums koncentrēties uz savas loģikas izstrādi.
- Cordova spraudņi: tas nodrošina API vietējās mobilās funkcionalitātes integrēšanai mūsu JavaScript projektā. Šie spraudņi ļauj programmai piekļūt tādām ierīces funkcijām kā kamera, akumulators, kontakti un tā tālāk.
- Komandrindas interfeiss (CLI): šī utilīta ir atbildīga par procesu izveidi un spraudņu instalēšanu dažādām platformām. To izmanto, lai uzsāktu iniciatīvas un padarītu izstrādes procesu raitāku.
Plusi
- To ir vienkārši iemācīties, un to var izmantot, lai izveidotu starpplatformu lietojumprogrammas.
- Tā ir bezmaksas un atvērta platforma.
- Cordova lietojumprogrammu izstrāde ir ātra, jo tā kļūst par lietotni, kas ir saderīga ar dažādām platformām.
- Tas ļauj jums izveidot lietotnes daudzām platformām, neapgūstot jaunas programmēšanas valodas.
- Tā ir iepriekš izveidotu spraudņu kolekcija, kas ļauj piekļūt ierīces kamerai, GPS un failu sistēmai.
Mīnusi
- Tā ātrums cieš, jo tā kods tiek palaists pārlūkprogrammas skatā.
- Tas nav piemērots lielām lietotnēm, jo hibrīda lietotnes darbojas lēnāk nekā vietējās lietotnes.
- Tas nav ideāli piemērots spēļu lietojumprogrammu izstrādei, jo tam ir nepieciešami vairāki augstākās klases spraudņi, kas pašlaik nav pieejami.
4. Xamarīns
Xamarin ir atvērtā pirmkoda platforma mūsdienīgu un performact.net lietotņu izstrādei operētājsistēmai iOS, Android un Windows.
Xamarin lietotnes var izveidot personālajā datorā vai Mac datorā un pēc tam apkopot vietējās lietojumprogrammu pakotnēs, piemēram, an.apk failā Android vai an.ipa failā iOS.
Tas ir paredzēts izstrādātājiem, kuri vēlas koplietot kodu, testēšanu un biznesa loģiku dažādās platformās un izveidot starpplatformu lietotnes C#, izmantojot Visual Studio.
Varat izveidot mobilo lietotni ar pilnīgi dabisku izskatu un sajūtu. Programmā Xamarin varat izveidot vienu C# kodu bāzi, kurai ir piekļuve visām vietējām SDK funkcijām.
Šis modelis ļauj izstrādātājiem rakstīt visu savu biznesa loģiku vienā valodā (vai atkārtoti izmantot esošo lietojumprogrammas kodu), vienlaikus panākot vietējo veiktspēju, izskatu un sajūtu dažādās platformās.
Apkalpošana
- Pilnīga SDK saistīšana — Xamarin ir saistījumi praktiski visiem pamata platformas SDK gan iOS, gan Android. Turklāt šie atradumi ir ļoti drukāti, kas nozīmē, ka tajos ir viegli orientēties un lietot, un tie nodrošina visaptverošu tipa pārbaudi izveides laikā un izstrādes laikā. Stingri drukāti saistījumi rada mazāk izpildlaika kļūdu un augstākas kvalitātes programmas.
- Mūsdienu valodu konstrukcijas — Xamarin lietotnes ir rakstītas C# — modernā valodā ar ievērojamām priekšrocībām salīdzinājumā ar Objective-C un Java, piemēram, dinamiskām valodu iespējām, funkcionālām konstrukcijām, piemēram, lambdas, LINQ, paralēlo programmēšanu, vispārīgiem un citiem.
- Vairāku platformu atbalsts mobilajām ierīcēm — Xamarin nodrošina visaptverošu starpplatformu savietojamību trim galvenajām iOS, Android un Windows platformām. Izmantojot Xamarin, var izstrādāt lietojumprogrammas, lai koplietotu līdz pat 90% sava koda. Essentials nodrošina vienotu API, lai piekļūtu koplietotiem resursiem visās trīs platformās. Mobilo sakaru izstrādātājiem koplietots kods var ievērojami samazināt izstrādes izmaksas, kā arī laiku, lai to nonāktu tirgū.
- Robusta Base Class Library (BCL) — Xamarin lietotnes izmanto .NET BCL priekšrocības — milzīgu klašu kopu ar plašām un racionalizētām iespējām, tostarp robustu XML, datu bāzi, serializāciju, IO, virkņu un tīkla atbalstu. Esošo C# kodu var apkopot izmantošanai lietotnē, kas ļauj piekļūt simtiem bibliotēku, kas paplašina BCL iespējas.
Plusi
- Īsāki izstrādes cikli. Viena no būtiskām Xamarin lietotņu izstrādes priekšrocībām ir tā, ka 90% koda var atkārtoti izmantot vai pārstrādāt, lai izveidotu lietojumprogrammas daudzām mobilajām platformām. Bing ir veidots, izmantojot C# un vietējo kodu. Tīkla bibliotēkas un Xamarin lietotņu izstrāde palīdz ievērojami ietaupīt laiku un darbu. Tas saīsina izstrādes termiņus, vienlaikus ģenerējot lietotnes vairākām platformām.
- Pilns ierīču atbalsts (ti, kamera, GPS) — tā kā Xamarin nodrošina vietējā līmeņa lietotņu funkcionalitāti, tas novērš aparatūras saderības problēmas, spraudņus un API. Tas arī ļauj izveidot saiti ar vietējām bibliotēkām. Izstrādātāji var izveidot lietojumprogrammas ar kopīgām ierīces funkcijām, un šādas lietotnes darbosies nevainojami visās galvenajās platformās. Xamarin lietotņu izstrādes pakalpojumu labāku pielāgošanu un vietējo pieredzi var iegūt ar mazākiem pieskaitāmajiem izdevumiem.
- Atvērtais avots tehnoloģija ar spēcīgu atbalstu- Pēc tam, kad Microsoft iegādājās Xamarin, notika būtiskas politikas izmaiņas. Xamarin SDK ir kļuvis par atvērtā koda versiju, un tagad tas ir pieejams ikvienam saskaņā ar MIT licenci. Platformas popularitāte pieauga, jo tika novērsta galvenā barjera — licences iegāde. Xamarin ir kļuvis par uzticamu un spēcīgu tehnoloģiju kopumu starpplatformu lietotņu izstrādes risinājumiem.
Mīnusi
- UI izstrāde prasa laiku – lai gan lielāko daļu Xamarin programmatūras var atkārtoti izmantot dažādās platformās, pamata lietotāja saskarnes konstrukcija vēl nav pārnēsājama. Izstrādātājiem var būt jāveic noteikta kodēšana vai darbs dažādās platformās, kas ir laikietilpīga procedūra.
- Iespējams, būs jāpielāgo faila lielums — izstrādātājiem, iespējams, būs jāveic izmaiņas lietotnes faila lielumā. Galvenais iemesls tam ir tas, ka galveno bibliotēku un funkcionalitātes izmantošana rada ievērojamu spiedienu uz lietotņu veikalu. Pirms Xamarin lietotnes iesniegšanas attiecīgajā lietotņu veikalā pārliecinieties, vai tai ir saprātīgs lietotnes faila lielums. Izmēri parasti svārstās no 3 MB līdz 15 MB.
Secinājumi
Tātad šīs ir dažas no populārākajām Flutter alternatīvām, kas jāņem vērā, izstrādājot vienkāršas un lieliskas starpplatformu lietojumprogrammas.
Tomēr pirms lēmuma pieņemšanas ir ļoti svarīgi analizēt savas lietotnes īpašības, jo tas noteiks, kura sistēma tai ir vispiemērotākā.
Visbeidzot, jūsu risinājuma izvēlei ir jābūt balstītai uz jebkuru filozofiju, kuru abonējat, kur un kā vēlaties izvietot savu lietotni, kā arī to, kādi talanti jums tagad ir vai kurus vēlaties iegūt nākotnē.
Protams, labākā pieeja, lai noteiktu, kurš no tiem ir ideāls jums, ir sākt izstrādāt ar visiem tiem un pēc tam salīdzināt rezultātus.
Atstāj atbildi