Kutsatira mliriwu, panali kuwonjezeka kwakukulu pakukula kwa pulogalamu yam'manja, ndikuwonjezera kugwiritsa ntchito zida zopangira mapulogalamu osiyanasiyana monga Flutter.
Ngakhale kutchuka kwake, Flutter ili ndi zovuta zingapo. Chifukwa chake, opanga akuyang'ana njira zina zabwinoko.
Tisanakambirane njira zina zabwino kwambiri za Flutter kunja uko, tiyeni tidziwe zambiri za Flutter.
Kodi Flutter?
Flutter, yomwe idayambitsidwa mu Meyi 2017, ndi chida cha Google cha UI chopangira mapulogalamu owoneka bwino, opangidwa mwachilengedwe amafoni, intaneti, ndi desktop kuchokera pa codebase imodzi.
Mwachidule, zimakuthandizani kuti mupange pulogalamu yam'manja yam'manja yokhala ndi codebase imodzi. Kutanthauza kuti mutha kupanga mapulogalamu awiri osiyana pogwiritsa ntchito chilankhulo chimodzi cha pulogalamu ndi codebase (ya iOS ndi Android).
Dart, chilankhulo cha pulogalamu, chimagwiritsidwa ntchito kupanga mapulogalamu a Flutter. Lingaliro loyambirira la Flutter, kumbali ina, limazungulira ma widget. Pogwiritsa ntchito ma widget, ogwiritsa ntchito amatha kupanga mawonekedwe athunthu.
Ma Widget amagawidwa m'mapangidwe, zokongoletsa, mawonekedwe a UI, ndi zina zotero.
Flutter ndi chida chonse chokonzekera mapulogalamu chomwe chimaphatikizapo kupereka injini, CLI (zida zowonetsera mzere wa malamulo), zida zopangira mapulogalamu, ma widget osinthika, kuyesa, kusokoneza kwakukulu ndi chithandizo cha plugin, widget tree inspector, API interfaces, ndi zina zambiri.
Flutter Key Features
- Kukula Mwamsanga: Flutter ili ndi zinthu zambiri zomwe zimathandiza opanga kupanga ndi kutumiza mapulogalamu mwamsanga, kuphatikizapo zolemba zapaintaneti. Zambiri mwazofunikira komanso zofunikira za pulogalamuyo zimamangidwa kale ngati ma widget mu flutter, ndi chinthu chofunikira kwambiri, kutsitsimulanso kwamphamvu, komwe kumapulumutsa nthawi yochuluka polola kuti pulogalamuyi imangidwenso pasanathe mphindi imodzi.
- Native Performance: Chimodzi mwazinthu zabwino kwambiri za flutter ndikuti ndi yotseguka, yomwe imalola aliyense wanzeru zokwanira kuti athandizire kukula kwake. Zotsatira zake, flutter yapeza ntchito yopambana yomwe nthawi zambiri imakhala yabwino kwambiri ngati mapulogalamu am'deralo.
- Expressive and Flexible User Interface (UI): Mawonekedwe abwino a ogwiritsa ntchito (UI) akuyenera kukhala gawo lofunikira paukadaulo uliwonse wokonza mapulogalamu pamsika. Komabe, mothandizidwa ndi masitima apamtunda othamanga ngati kapangidwe kazinthu, zomwe zimathandiza kuti pulogalamuyo iwoneke bwino popanda ntchito, flutter yafikitsa pamlingo wina.
- Machitidwe a Cross-platform: Chodziwika bwino cha Flutter ndikuti mukapanga pulogalamu yam'manja, mumapezanso pulogalamu yapaintaneti ndi pakompyuta.
Flutter Pain Points
Flutter ili ndi zinthu zina zabwino. Komabe, pali zinthu zambiri zomwe zikulepheretsa opanga mapulogalamu kuti asagwiritse ntchito. Izi zikuphatikizapo:
- Madivelopa ayenera kuthera nthawi kuphunzira chinenero chatsopano cha mapulogalamu chifukwa nsanja imamangidwa pa Dart.
- Ngati mukufuna kupanga mapulogalamu okhala ndi zida zapadera, Flutter si yanu.
- Kuphatikiza apo, Madivelopa ena akuti Flutter siyothandiza kupanga mapulogalamu ovuta kutsatsa.
Pazifukwa zonsezi, kufunafuna njira yabwino kwambiri ya Flutter kungakhale chisankho chanzeru.
1. Chitani Zabwino
Chitani Zabwino imakupatsani mwayi wopanga mapulogalamu am'manja mu JavaScript. Ili ndi lingaliro lofanana ndi React ndipo imakulolani kuti mupange UI yamtundu wapamwamba pogwiritsa ntchito zida zofotokozera.
Simumapanga pulogalamu yapaintaneti yam'manja, pulogalamu ya HTML5, kapena pulogalamu yosakanizidwa yokhala ndi React Native; mumapanga pulogalamu yowona yam'manja yomwe siidziwika ndi yomwe idapangidwa ndi Objective-C kapena Java.
Zigawo zomanga za UI mu React Native ndizofanana ndi mapulogalamu wamba a iOS ndi Android. Mungoyika zidutswazo pamodzi ndi JavaScript ndi React.
Ndi chimango ichi, mutha kupanga mapulogalamu apamwamba kwambiri pamapulatifomu ambiri pogwiritsa ntchito codebase imodzi. React Native Framework, njira yotseguka, yolumikizira nsanja, idasindikizidwa mu 2015.
Chifukwa cha kuthekera kwake komanso zopindulitsa zake, idakhala imodzi mwamapulatifomu akulu kwambiri pamapulogalamu am'manja. Komabe, kuchuluka kwa opanga akutembenukira ku React Native kuti apange mapulogalamu amphamvu pamapulatifomu.
Mawonekedwe
- Pulatifomu yomwe ili yotseguka-gwero.
- Reusability wa Live React Code.
- Zomangamanga zomwe ndizokhazikika komanso zosavuta kugwiritsa ntchito.
ubwino
- Kumanga mwachangu - Nthawi yachitukuko yocheperako ndiye chinthu chachikulu chogulitsa cha React Native. Ndondomekoyi imaphatikizapo zigawo zambiri zomwe zakonzeka kugwiritsidwa ntchito zomwe zingathandize kuti ntchitoyi ifulumire.
- Chimango chimodzi, nsanja zingapo - React Native zimakuthandizani kuti mugwiritsenso ntchito codebase yanu (kapena gawo lake) pakati pa iOS ndi Android. Kutengera kuchuluka kwa ma module omwe amagwiritsidwa ntchito mu pulogalamu yanu, chitukuko chenicheni cha nsanja ndizotheka pang'ono.
- Magulu ang'onoang'ono - Kukula kwachilengedwe kwa Android ndi iOS kumafuna kuti pakhale magulu awiri odziyimira pawokha. Ikhoza kulepheretsa mgwirizano wa mapulogalamu ndipo, chifukwa chake, imachepetsa chitukuko. Ngati musankha React Native, mudzafuna a Wopanga JavaScript omwe amatha kulemba ma code pamapulatifomu onse awiri.
- UI Yosavuta - React Native ndiyokhazikika pakupanga mawonekedwe ogwiritsira ntchito mafoni. Muyenera kupanga zotsatizana mu pulogalamuyo panthawi ya chitukuko chakubadwa. Chifukwa RN imagwiritsa ntchito pulogalamu yolengeza, kutsatizana kotereku sikufunikiranso. Chifukwa chake, zolakwika m'njira zomwe wogwiritsa ntchito angayende ndizosavuta kuzizindikira.
kuipa
- Kugwirizana ndi zovuta zowonongeka - Madivelopa amatha kukumana ndi zovuta zosiyanasiyana potengera phukusi kapena zida zowongolera. Ngati opanga anu sadziwa bwino za React Native, izi zitha kukhala ndi chikoka pakukula kwanu pamene amawononga nthawi.
- Kufunika kwa Opanga Amwenye - Zina mwachilengedwe ndi ma module amafunikira ukadaulo wozama papulatifomu inayake. Kusapezeka kwa chithandizo chakunja kwazinthu zambiri zamapulogalamu ammudzi (mwachitsanzo, zidziwitso zosokoneza) poyamba inali vuto lalikulu ndi chitukuko cha React Native.
2. Ionic
Ionic ndi Open source UI toolkit popanga mapulogalamu apamwamba, apamwamba kwambiri, mapulogalamu apakompyuta, ndi mapulogalamu apaintaneti omwe akupita patsogolo pogwiritsa ntchito umisiri wapaintaneti monga HTML, CSS, ndi JavaScript.
Ndi kutsogolo SDK chimango chomwe chimakupatsani mwayi wopanga mapulogalamu am'manja a iOS, Windows, ndi zida za Android pogwiritsa ntchito codebase yomweyo.
Zikutsimikizira kuti ndi mtanda nsanja mapulogalamu chida kwa mafoni zipangizo. Imathandizira opanga mapulogalamu kupanga kamodzi ndikuyendetsa kulikonse.
Ionic ndi njira yopangira pulogalamu yam'manja ya HTML5 yomwe imayang'ana kwambiri mapulogalamu osakanizidwa. Ionic imakhudzidwa kwambiri ndi zomwe ogwiritsa ntchito amakumana nazo, kapena kulumikizana ndi UI, zomwe zimapangitsa kuti pulogalamu yanu iwoneke komanso momwe ikumvera.
Mtundu woyamba wa chimangochi, kutengera Angular JS ndi Apache Cordova, idatulutsidwa mu 2013, ndipo ndi yankho lowopsa lomwe likufanana ndi Flutter mwanjira zina.
Ndiosavuta kumva ndipo imatha kugwira ntchito ndi malaibulale ena kapena zomangira monga Angular, Cordova, ndi ena. Itha kugwiritsidwanso ntchito popanda chimango chakutsogolo pogwiritsa ntchito script yosavuta kuphatikiza. Ili ndi mawonekedwe a mzere wamalamulo omwe amakulolani kuti mupange pulogalamuyo ndikuchepetsa nthawi yolembera.
Mawonekedwe
- Zigawo za CSS- Zigawo izi, zomwe zimawonekera komanso momwe zimamverera, zimapereka pafupifupi zidutswa zonse zomwe pulogalamu yam'manja imafunikira. Mtundu wosasinthika wa zigawo zitha kusinthidwa mosavuta kuti zigwirizane ndi mapangidwe anu.
- Ionic CLI - Ichi ndi chida cha NodeJS chomwe chili ndi malamulo oyambitsa, kupanga, kuthamanga, ndi kuyerekezera mapulogalamu a Ionic.
- AngularJS - AngularJS Ionic imapanga mapulogalamu apamwamba a tsamba limodzi ogwirizana ndi mafoni a m'manja pogwiritsa ntchito zomangamanga za AngularJS MVC.
- Mapulagini a Cordova - Mapulagini a Apache Cordova amapereka API yofunikira pakugwiritsa ntchito zida zamtundu wa JavaScript.
ubwino
- Poyerekeza ndi mbadwa iOS/Android ntchito, chimathandiza kukula mofulumira.
- Kupatula thandizo la pulogalamu yowonjezera, imakuthandizani kuti mupange mapulogalamu amachitidwe angapo ogwiritsira ntchito pogwiritsa ntchito codebase yomweyo.
- Imathandizira kuyesa kosavuta kwa ma module ndi zigawo.
- Ili ndi mapulagini ambiri ndi zida zomwe zingagwiritsidwenso ntchito.
- Zimaphatikizapo zigawo zosiyanasiyana za UI ndipo zimalola kuti ma prototyping afulumire.
- Imakupatsirani mapulagini ambiri opangira mapulogalamu am'manja amphamvu kwambiri.
- Mudzalandira zigawo zambiri za UI zomwe zingapangitse kuti zikhale zosavuta kugwiritsa ntchito ndikuwongolera.
kuipa
- Kuthetsa vuto kungakhale kovuta pogwiritsa ntchito ionic, ndipo zimatenga nthawi yayitali kuti athetse vutoli. Zimapangitsa kudziwa chomwe chapangitsa kukhala kovuta, ndipo uthenga wolakwika ukhoza kukhala wovuta nthawi zina.
- Zimaphatikizapo mapulagini ena omwe sangakhale odalirika ndipo amatha kutsutsana.
- Ngati mukupanga mapulogalamu osakanizidwa, mutha kukumana ndi zovuta zachitetezo ndipo nambala yanu ikhoza kukhala pachiwopsezo cha kubera.
- Mukamapanga mafoni ovuta komanso ovuta kugwiritsa ntchito, pakhoza kukhala zovuta zina.
- Mukayamba ndi chimango cha ionic, muyenera kudalira mapulagini kuti mupeze magwiridwe antchito.
3. Cordova
Apache Cordova ndi chimango chotsegula chomwe chimathandiza opanga mawebusayiti kuti azitha kugwiritsa ntchito zomwe zilipo kale za HTML, CSS, ndi JavaScript kuti apange mapulogalamu amtundu wamtundu wamafoni osiyanasiyana.
Cordova amagwiritsa ntchito WebView kuti apereke pulogalamu yanu yapaintaneti. WebView ndi gawo la pulogalamu (yofanana ndi batani kapena tabu) yomwe imawonetsa zomwe zili patsamba lanu.
Ganizirani za WebView kukhala msakatuli wopanda mawonekedwe aliwonse monga ulalo wa URL kapena kapamwamba.
Nitobi adapanganso Cordova, yomwe ndi njira yothandiza yopangira ntchito.
Pulogalamu yapaintaneti yomwe ikugwira ntchito mkati mwa chidebe ichi imagwira ntchito mofanana ndi pulogalamu ina iliyonse yomwe ili pa msakatuli wa m'manja - ikhoza kutsegula masamba owonjezera a HTML, kupanga JavaScript code, kusewera mafayilo amtundu, ndi kulankhulana ndi maseva akunja.
Njira iyi yogwiritsira ntchito mafoni nthawi zina imatchedwa hybrid application. Mapulogalamu a Cordova amapakidwa ngati zida zam'manja zomwe zimatha kugwiritsa ntchito ma API azipangizo zakomweko. Dongosololi limalolanso kuphatikizira mawu amtundu wamba komanso wosakanizidwa.
Mawonekedwe
- Cordova Basic Components: Cordova imaphatikizapo zigawo zingapo zofunika zomwe zimafunidwa ndi pulogalamu iliyonse yam'manja. Magawo awa ndi maziko a pulogalamu, zomwe zimatilola kuyang'ana kwambiri kupanga malingaliro athu.
- Mapulagini a Cordova: Amapereka API yophatikizira magwiridwe antchito am'manja mu projekiti yathu ya JavaScript. Mapulagini awa amalola pulogalamu kuti ipeze ntchito za chipangizo monga kamera, batire, olumikizana, ndi zina zotero.
- Command Line Interface (CLI): Chida ichi chimayang'anira kupanga njira ndikuyika mapulagini pamapulatifomu osiyanasiyana. Amagwiritsidwa ntchito poyambitsa zoyeserera ndikupangitsa kuti chitukuko chiziyenda bwino.
ubwino
- Ndizosavuta kuphunzira ndipo zitha kugwiritsidwa ntchito popanga mapulogalamu osiyanasiyana.
- Ndi nsanja yaulere komanso yotseguka.
- Kukula kwa pulogalamu ya Cordova ndikofulumira chifukwa imasanduka pulogalamu yomwe imagwirizana ndi nsanja zosiyanasiyana.
- Zimakupatsani mwayi wopanga mapulogalamu amapulatifomu ambiri popanda kuphunzira zilankhulo zatsopano zamapulogalamu.
- Ndi gulu la mapulagini omangidwa kale omwe amalola mwayi wopeza kamera ya chipangizocho, GPS, ndi mafayilo amafayilo.
kuipa
- Liwiro lake limavutika chifukwa choyendetsa kachidindo kake mumsakatuli.
- Sikoyenera ku mapulogalamu akuluakulu chifukwa mapulogalamu osakanizidwa amachedwa kuposa mapulogalamu amtundu.
- Sikoyenera kukulitsa mapulogalamu amasewera chifukwa pamafunika mapulagini angapo apamwamba omwe sakupezeka.
4. Xamarin
Xamarin ndi nsanja yotseguka yopangira mapulogalamu a contemporary and performact.net a iOS, Android, ndi Windows.
Mapulogalamu a Xamarin atha kulembedwa pa PC kapena pa Mac kenako ndikuphatikizidwa m'maphukusi amtundu wamtundu ngati fayilo ya.apk ya Android kapena fayilo ya an.ipa ya iOS.
Amapangidwira opanga omwe akufuna kugawana ma code, mayeso, ndi malingaliro abizinesi pamapulatifomu ndikupanga mapulogalamu amtundu wa C # pogwiritsa ntchito Visual Studio.
Mutha kupanga pulogalamu yam'manja yokhala ndi mawonekedwe achilengedwe komanso kumverera. Ku Xamarin, mutha kupanga C # codebase imodzi yomwe imatha kugwiritsa ntchito zonse zamtundu wa SDK.
Njirayi imathandizira opanga madalaivala kulemba malingaliro awo onse abizinesi m'chilankhulo chimodzi (kapena kugwiritsanso ntchito nambala yomwe ilipo) pomwe akukwaniritsa magwiridwe antchito, mawonekedwe, komanso mawonekedwe pamapulatifomu.
Mawonekedwe
- Kumanga kwathunthu kwa SDK- Xamarin ili ndi zomangira pafupifupi ma SDK onse a nsanja mu iOS ndi Android. Kuphatikiza apo, zomwe zapezedwazi zimatayidwa kwambiri, zomwe zikutanthauza kuti ndizosavuta kuyenda ndikugwiritsa ntchito, ndipo zimathandizira kuyang'ana kwamitundu yonse panthawi yomanga komanso panthawi yomanga. Kumanga komwe kumatayidwa mwamphamvu kumabweretsa zolakwika zocheperako komanso mapulogalamu apamwamba kwambiri.
- Kupanga zilankhulo zamakono- Mapulogalamu a Xamarin amalembedwa mu C#, chilankhulo chamakono chomwe chili ndi zabwino zambiri kuposa Objective-C ndi Java, monga luso lachilankhulo, zomangira zogwira ntchito ngati lambdas, LINQ, mapulogalamu ofanana, ma generic, ndi zina zambiri.
- Thandizo la nsanja pazida zam'manja- Xamarin imapereka kulumikizana kwathunthu kwa nsanja zazikuluzikulu zitatu za iOS, Android, ndi Windows. Ndi Xamarin, mapulogalamu amatha kupangidwa kuti agawane mpaka 90% ya ma code awo. Zofunikira zimapereka API yofananira kuti mupeze mwayi wogawana nawo zida pamapulatifomu onse atatu. Kwa opanga mafoni, ma code omwe amagawidwa akhoza kuchepetsa kwambiri mtengo wa chitukuko komanso nthawi yogulitsa.
- Robust Base Class Library (BCL) - Mapulogalamu a Xamarin amapezerapo mwayi pa.NET BCL, gulu lalikulu la makalasi omwe ali ndi kuthekera kokulirapo komanso kosinthika kuphatikiza XML yolimba, Database, Serialization, IO, String, and Networking support, pakati pa ena. Khodi ya C# yomwe ilipo ikhoza kupangidwa kuti igwiritsidwe ntchito mu pulogalamu, ndikulola mwayi wofikira malaibulale mazana ambiri omwe amakulitsa luso la BCL.
ubwino
- Zozungulira zazifupi zachitukuko- Ubwino umodzi wofunikira pakukula kwa pulogalamu ya Xamarin ndikuti 90% ya ma code amatha kugwiritsidwanso ntchito kapena kusinthidwanso kuti apange mapulogalamu pamapulatifomu ambiri am'manja. Bing imamangidwa ndi C # ndi code yakomweko. Laibulale ya Net ndi chitukuko cha pulogalamu ya Xamarin imathandizira kupulumutsa nthawi ndi ntchito. Imafupikitsa nthawi yachitukuko pomwe ikupanga mapulogalamu amapulatifomu angapo.
- Thandizo lazida zonse (ie kamera, GPS)- Monga Xamarin imathandizira magwiridwe antchito amtundu wamba, imapewa nkhawa za hardware, mapulagini, ndi ma API. Zimakupatsaninso mwayi wolumikizana ndi malaibulale akumaloko. Madivelopa atha kupanga mapulogalamu okhala ndi zida zofananira, ndipo mapulogalamu otere azichita bwino pamapulatifomu onse akulu. Kusintha kwabwinoko komanso zokumana nazo ngati zakubadwa zantchito zachitukuko cha Xamarin zitha kupezeka ndi ndalama zotsika mtengo.
- Open gwero ukadaulo wokhala ndi chithandizo champhamvu- Pambuyo popeza kwa Microsoft Xamarin, panali kusintha kwakukulu kwa mfundo. Xamarin SDK yapita poyera, ndipo tsopano ikupezeka kwa aliyense yemwe ali ndi chilolezo cha MIT. Pulatifomu idakula pakutchuka pomwe chotchinga chachikulu - kugula laisensi - chinachotsedwa. Xamarin yasintha kukhala mulu wodalirika komanso wamphamvu waukadaulo wamayankho amitundu yamapulogalamu.
kuipa
- Kupanga UI kumatenga nthawi - Ngakhale kuti mapulogalamu ambiri a Xamarin atha kugwiritsidwanso ntchito pamapulatifomu, zoyambira za UI sizikunyamulika. Madivelopa atha kufunidwa kuti azilemba zolemba kapena kugwira ntchito pamapulatifomu osiyanasiyana, yomwe ndi njira yotengera nthawi.
- Kukula kwa fayilo kungafunike kusinthidwa - Madivelopa angafunike kusintha kukula kwa fayilo ya pulogalamuyi. Chifukwa chachikulu cha izi ndikuti kugwiritsa ntchito malaibulale oyambira ndi magwiridwe antchito kumapangitsa kuti sitolo ya app ikhale yovuta. Musanatumize pulogalamu yanu ya Xamarin ku sitolo yoyenera, muyenera kuonetsetsa kuti ili ndi kukula kwa fayilo yoyenera. Kukula kumasiyana kuchokera ku 3MB mpaka 15MB.
Kutsiliza
Chifukwa chake, awa ndi ena mwa njira zina zapamwamba za Flutter zomwe mungaganizire popanga mapulogalamu osavuta komanso abwino kwambiri odutsa nsanja.
Komabe, musanasankhe, ndikofunikira kuti muwunike mawonekedwe a pulogalamu yanu chifukwa izi zikuwonetsani kuti ndi chimango chiti chomwe chili choyenera kwambiri.
Pomaliza, kusankha kwanu yankho kuyenera kutengera nzeru zilizonse zomwe mumalembetsa, komwe mukufuna kugwiritsa ntchito pulogalamu yanu, komanso maluso omwe muli nawo kapena mukufuna kukhala nawo mtsogolo.
Inde, njira yabwino yodziwira yomwe ili yabwino kwa inu ndikuyamba kupanga ndi zonsezo ndikufanizira zotsatira zanu.
Siyani Mumakonda