Пандемиядан кейін мобильді қосымшаларды әзірлеуде айтарлықтай серпіліс болды, бұл Flutter сияқты кросс-платформалық қолданбаларды әзірлеу құралдарын пайдалануды арттырды.
Танымалдығына қарамастан, Флуттердің бірнеше кемшіліктері бар. Осылайша, әзірлеушілер жақсы баламаларды іздеуде.
Флуттердің ең жақсы баламаларын талқыламас бұрын, Flutter туралы көбірек білейік.
қандай Flutter?
2017 жылдың мамырында ұсынылған Flutter — Google-дың бір код базасынан ұялы телефонға, вебке және жұмыс үстеліне арналған тартымды, жергілікті құрастырылған қолданбаларды жасауға арналған UI құралдар жинағы.
Бір сөзбен айтқанда, ол бір кодтық базасы бар жергілікті мобильді қосымшаны құруға мүмкіндік береді. Яғни, бір бағдарламалау тілі мен код базасын (iOS және Android үшін) пайдаланып екі түрлі қолданбаны құрастыруға болады.
Flutter қолданбаларын жасау үшін бағдарламалау тілі Dart қолданылады. Флуттердің негізгі тұжырымдамасы, екінші жағынан, виджеттердің айналасында. Виджеттерді пайдалану арқылы пайдаланушылар толық пайдаланушы интерфейсін жасай алады.
Виджеттер құрылымдық элементтерге, эстетикалық элементтерге, UI орналасу элементтеріне және т.б.
Flutter – бұл бағдарламалық жасақтаманы әзірлеудің толық жинағы, оған рендеринг қозғалтқыштары, CLI (пәрмен жолы интерфейсі құралдары), әзірлеуші құралдары, толығымен өзгеретін виджеттер, тестілеу, плагин қолдауымен кеңейтілген жөндеу, виджет ағашының инспекторы, API интерфейстері және т.б. кіреді.
Flutter негізгі мүмкіндіктері
- Жылдам даму: Flutter-де әзірлеушілерге қолданбаларды, соның ішінде офлайн құжаттамаларды жылдам жасауға және орналастыруға көмектесетін көптеген мүмкіндіктер бар. Қолданбаның көптеген маңызды орналасулары мен элементтері флютердегі виджеттер ретінде алдын ала құрастырылған және ең маңызды мүмкіндік күйді ыстық қайта жүктеу, бұл қолданбаға бір секундтан аз уақыт ішінде қайта құруға мүмкіндік беру арқылы көп уақытты үнемдейді.
- Жергілікті өнімділік: Флтер туралы ең жақсы аспектілердің бірі оның ашық көзі болып табылады, бұл жеткілікті интеллекті бар кез келген адамға оның өсуіне үлес қосуға мүмкіндік береді. Нәтижесінде, flutter көбінесе жергілікті қолданбалар сияқты тамаша серпінді өнімділікке қол жеткізді.
- Экспрессивті және икемді пайдаланушы интерфейсі (UI): Жақсы пайдаланушы интерфейсі (UI) нарықтағы кез келген қолданбаларды әзірлеу технологиясының маңызды аспектісі болуы керек. Дегенмен, қолданбаның жұмыссыз тамаша болып көрінуіне көмектесетін материалдық дизайн сияқты жылдам кеме мүмкіндіктерінің көмегімен флтер оны басқа деңгейге көтерді.
- Платформааралық операциялар: Flutter-тің ең жақсы мүмкіндігі - мобильді қосымшаны жасаған кезде сіз веб және жұмыс үстелі қолданбасын аласыз.
Ауырсыну нүктелері
Flutter бағдарламасының тамаша мүмкіндіктері бар. Дегенмен, көптеген факторлар әзірлеушілерге оны пайдалануға кедергі жасайды. Оларға мыналар жатады:
- Әзірлеушілер жаңа бағдарламалау тілін үйренуге біраз уақыт бөлуі керек, өйткені платформа Dart-та құрылған.
- Құрылғыға тән мүмкіндіктері бар қолданбаларды жасағыңыз келсе, Flutter сізге арналмаған.
- Сонымен қатар, кейбір әзірлеушілер Flutter коммерциялық күрделі қолданбаларды жасау үшін тиімсіз дейді.
Осы себептердің барлығына байланысты Флуттерге ең жақсы балама іздеу дұрыс шешім болуы мүмкін.
1. Түпнұсқа реакция
Түпнұсқа реакция мобильді қолданбаларды толығымен JavaScript тілінде жасауға мүмкіндік береді. Оның React сияқты тұжырымдамасы бар және декларативті құрамдастарды пайдалана отырып, күрделі мобильді UI жасауға мүмкіндік береді.
Сіз мобильді веб қолданбасын, HTML5 қолданбасын немесе React Native арқылы гибридті қолданбаны жасамайсыз; Сіз Objective-C немесе Java арқылы жасалғаннан айырмашылығы жоқ шынайы мобильді қолданба жасайсыз.
React Native-тегі UI құрудың маңызды құрамдастары стандартты iOS және Android қолданбаларымен бірдей. Сіз бұл бөліктерді JavaScript және React көмегімен біріктіресіз.
Бұл құрылымның көмегімен сіз бір код базасын пайдаланып көптеген платформалар үшін ең үлкен қолданбаларды жасай аласыз. React Native Framework, ашық бастапқы коды бар, кросс-платформалық мобильді негіз 2015 жылы жарияланған.
Керемет мүмкіндіктері мен артықшылықтарының арқасында ол тез арада кросс-платформалық мобильді қосымшалар үшін ең үлкен платформалардың біріне айналды. Дегенмен, қуатты кросс-платформалық қосымшаларды жасау үшін әзірлеушілер санының артуы React Native-ге жүгінеді.
Мүмкіндіктер
- Ашық коды бар платформа.
- Тікелей реакция кодын қайта пайдалану мүмкіндігі.
- Модульдік және пайдаланушыға ыңғайлы архитектура.
артықшылықтары
- Құрылуы тезірек – қысқартылған әзірлеу уақыты - React Native-тің негізгі сату мүмкіндігі. Рамка процесті жылдамдатуға көмектесетін көптеген пайдалануға дайын компоненттерді қамтиды.
- Бір құрылым, бірнеше платформа – React Native код базасын (немесе оның бір бөлігін) iOS және Android арасында қайта пайдалануға мүмкіндік береді. Бағдарламаңызда қолданылатын жергілікті модульдердің санына байланысты шынайы кросс-платформаны әзірлеу белгілі бір дәрежеде орындалады.
- Кішігірім командалар – Android және iOS үшін жергілікті әзірлеу екі тәуелсіз команданы құруды талап етеді. Ол әзірлеушілер ынтымақтастығын тұншықтырып, нәтижесінде дамуды бәсеңдетуі мүмкін. Егер сіз React Native таңдасаңыз, сізге ең алдымен қажет болады JavaScript әзірлеушісі кім екі платформаға да код жаза алады.
- Жеңілдетілген UI – React Native мобильді пайдаланушы интерфейсін құруға берік бағдарланған. Жергілікті даму кезінде бағдарламада әрекеттер тізбегін құру қажет. RN декларативті бағдарламалауды пайдаланатындықтан, тапсырмаларды орындаудың мұндай тізбегі енді қажет емес. Нәтижесінде, пайдаланушы жүре алатын жолдардағы ақауларды анықтау оңайырақ.
Минус
- Үйлесімділік және жөндеу мәселелері – Әзірлеушілер бума үйлесімділігімен немесе жөндеу құралдарымен әртүрлі мәселелерге тап болуы мүмкін. Егер әзірлеушілеріңіз React Native қолданбасын жақсы білмесе, бұл сіздің дамуыңызға зиянды әсер етуі мүмкін, себебі олар ақауларды жоюға уақыт жұмсайды.
- Жергілікті әзірлеушілерге қажеттілік - Кейбір жергілікті мүмкіндіктер мен модульдер нақты платформаның терең тәжірибесін қажет етеді. Көптеген жергілікті қолданба мүмкіндіктері үшін қораптан тыс қолдаудың болмауы (мысалы, push хабарландырулары) бұрын React Native әзірлеуге қатысты басты мәселе болды.
2. Иондық
Иондық - бұл ашық бастапқы UI құралдар жинағы HTML, CSS және JavaScript сияқты веб-технологияларды пайдалана отырып, өнімділігі жоғары, жоғары сапалы мобильді қолданбаларды, жұмыс үстелі қолданбаларын және прогрессивті веб-бағдарламаларды жасауға арналған.
Бұл фронт-end SDK бірдей код базасын пайдаланып iOS, Windows және Android құрылғыларына арналған мобильді қолданбаларды құруға мүмкіндік беретін құрылым.
Ол мобильді құрылғыларға арналған кросс-платформалық бағдарламалау құралы болып табылады. Ол бағдарламашыларға бір рет жасап, кез келген жерде іске қосуға мүмкіндік береді.
Ionic - бұл гибридті қолданбаларға бағытталған HTML5 үшін мобильді қолданбаларды әзірлеу негізі. Ionic, ең алдымен, қолданбаның жалпы көрінісі мен сезіміне жауап беретін пайдаланушы тәжірибесіне немесе UI өзара әрекеттестігіне қатысты.
Angular JS және Apache Cordova негізіндегі бұл негіздің бастапқы нұсқасы 2013 жылы шығарылды және бұл қандай да бір жағынан Flutter-ке ұқсас керемет шешім.
Түсіну оңай және Angular, Cordova және т.б. сияқты басқа кітапханалармен немесе фреймворктермен жұмыс істей алады. Оны қарапайым сценарийді қосу арқылы алдыңғы жақтаусыз пайдалануға болады. Оның кодтау уақытын қысқарта отырып, бағдарламаны құруға мүмкіндік беретін пәрмен жолы интерфейсі бар.
Мүмкіндіктер
- CSS құрамдастары - Бұл құрамдас бөліктер өздерінің сыртқы түрі мен сезімімен мобильді қосымшаға қажет бөліктердің барлығын дерлік қамтамасыз етеді. Компоненттердің әдепкі мәнері сіздің жеке дизайныңызға сәйкес оңай өзгертілуі мүмкін.
- Ionic CLI – бұл Ionic қолданбаларын іске қосу, әзірлеу, іске қосу және имитациялау пәрмендерін қамтитын NodeJS утилитасы.
- AngularJS – AngularJS Ionic AngularJS MVC архитектурасын пайдаланып мобильді құрылғыларға арналған күрделі бір бетті қолданбаларды құрастырады.
- Cordova плагиндері – Apache Cordova плагиндері JavaScript коды бар жергілікті құрылғының функционалдығын пайдалану үшін қажетті API ұсынады.
артықшылықтары
- Жергілікті iOS/Android қолданбаларымен салыстырғанда, ол жылдамырақ дамуға мүмкіндік береді.
- Кейбір плагиндік қолдауды қоспағанда, ол бір код базасын пайдаланып бірнеше операциялық жүйелерге арналған қолданбаларды құруға мүмкіндік береді.
- Ол модульдер мен құрамдастарды қарапайым тестілеуге мүмкіндік береді.
- Оның көптеген плагиндері мен қайта пайдалануға болатын компоненттері бар.
- Ол әртүрлі UI құрамдастарын қамтиды және жылдам прототип жасауға мүмкіндік береді.
- Ол анағұрлым динамикалық мобильді қосымшаларды жасау үшін көптеген плагиндерді ұсынады.
- Пайдалануды және басқаруды жеңілдететін көптеген UI құрамдастарын аласыз.
Минус
- Ионды пайдалану арқылы жөндеу қиын болуы мүмкін және мәселені шешуге ұзағырақ уақыт қажет. Бұл қатенің себебін анықтауды қиындатады және қате туралы хабар кейде түсініксіз болуы мүмкін.
- Ол сенімді емес және бір-бірімен қайшы келуі мүмкін кейбір жергілікті плагиндерді қамтиды.
- Гибридті қолданбаларды жасап жатсаңыз, қауіпсіздікте қиындықтар туындауы мүмкін және кодыңыз хакерлерге осал болуы мүмкін.
- Күрделі және ресурсты көп қажет ететін мобильді қосымшаларды әзірлеу кезінде белгілі бір өнімділікке қатысты мәселелер туындауы мүмкін.
- Егер сіз иондық құрылымнан бастасаңыз, жергілікті функционалдылыққа қол жеткізу үшін плагиндерге сенуіңіз керек.
3. Кордова
Apache Cordova - бұл веб-әзірлеушілерге бар HTML, CSS және JavaScript мазмұнын әртүрлі мобильді құрылғылар үшін жергілікті қолданбаларды жасау үшін пайдалануға мүмкіндік беретін ашық бастапқы негіз.
Cordova веб-бағдарламаны көрсету үшін жергілікті WebView пайдаланады. WebView - жергілікті бағдарлама ішінде веб-мазмұнды көрсететін қолданба құрамдас бөлігі (түйме немесе қойынды жолағына ұқсас).
WebView URL өрісі немесе күй жолағы сияқты әдеттегі пайдаланушы интерфейсі мүмкіндіктерінің ешқайсысы жоқ веб-шолғыш ретінде қарастырыңыз.
Nitobi сонымен қатар қолданбаларды әзірлеуге ыңғайлы негіз болып табылатын Кордованы жасады.
Осы контейнерде жұмыс істейтін веб-бағдарлама мобильді шолғышта жұмыс істейтін кез келген басқа веб-бағдарламаға ұқсас жұмыс істейді — ол қосымша HTML беттерін ашуы, JavaScript кодын орындауы, медиа файлдарын ойнатуы және сыртқы серверлермен байланысуы мүмкін.
Мобильді қосымшаның бұл түрін кейде гибридті қосымша деп те атайды. Cordova қолданбалары жергілікті құрылғылардың API интерфейстеріне қол жеткізе алатын мобильді құрылғы қолданбалары ретінде пакеттелген. Бұл құрылым сонымен қатар жергілікті және гибридті код үзінділерін біріктіруге мүмкіндік береді.
Мүмкіндіктер
- Кордованың негізгі құрамдас бөліктері: Кордова кез келген мобильді қосымша үшін қажет болатын әртүрлі негізгі компоненттерді қамтиды. Бұл компоненттер қолданбаның негізін құрайды, бұл бізге өз логикамызды дамытуға шоғырлануға мүмкіндік береді.
- Cordova плагиндері: ол жергілікті мобильді функционалдылықты JavaScript жобамызға біріктіру үшін API ұсынады. Бұл плагиндер бағдарламаға камера, батарея, контактілер және т.б. сияқты құрылғы функцияларына қол жеткізуге мүмкіндік береді.
- Пәрмен жолы интерфейсі (CLI): Бұл қызметтік бағдарлама процестерді жасауға және әртүрлі платформалар үшін плагиндерді орнатуға жауапты. Ол бастамаларды бастау және даму процесін біркелкі ету үшін қолданылады.
артықшылықтары
- Оны үйрену оңай және кросс-платформалық қолданбаларды жасау үшін пайдаланылуы мүмкін.
- Бұл еркін және ашық платформа.
- Cordova қолданбасын әзірлеу жылдам, өйткені ол әртүрлі платформалармен үйлесімді қолданбаға айналады.
- Ол жаңа бағдарламалау тілдерін үйренбей-ақ көптеген платформалар үшін қолданбалар жасауға мүмкіндік береді.
- Бұл құрылғының камерасына, GPS және файлдық жүйеге қол жеткізуге мүмкіндік беретін алдын ала жасалған плагиндер жинағы.
Минус
- Оның жылдамдығы оның кодын браузер көрінісінде іске қосуға байланысты төмендейді.
- Ол үлкен қолданбалар үшін жарамайды, өйткені гибридті қолданбалар жергілікті қолданбаларға қарағанда баяу.
- Бұл ойын қолданбаларын әзірлеу үшін өте қолайлы емес, өйткені ол қазіргі уақытта қолжетімсіз бірнеше жоғары деңгейлі плагиндерді қажет етеді.
4. Xamarin
Xamarin — iOS, Android және Windows жүйесіне арналған заманауи және performact.net қолданбаларын әзірлеуге арналған ашық бастапқы платформа.
Xamarin қолданбалары компьютерде немесе Mac компьютерінде авторлануы мүмкін, содан кейін Android үшін an.apk файлы немесе iOS үшін an.ipa файлы сияқты жергілікті қолданба пакеттеріне жинақталуы мүмкін.
Ол кодты, сынақты және бизнес логикасын платформалар арқылы бөліскісі келетін және Visual Studio арқылы C# тілінде платформааралық қолданбаларды жасағысы келетін әзірлеушілерге арналған.
Сіз мобильді қосымшаны толығымен жергілікті көрініс пен сезіммен жасай аласыз. Xamarin ішінде сіз барлық жергілікті SDK функцияларына қатынасы бар жалғыз C# код базасын құра аласыз.
Бұл үлгі әзірлеушілерге өздерінің барлық бизнес логикасын бір тілде жазуға (немесе бар қолданба кодын қайта пайдалануға) мүмкіндік береді, сонымен бірге платформалардағы жергілікті өнімділікке, сыртқы көрініске және сезімге қол жеткізеді.
Мүмкіндіктер
- Толық SDK байланыстыру - Xamarin iOS және Android жүйелеріндегі барлық дерлік негізгі платформа SDK үшін байланыстыруларға ие. Сонымен қатар, бұл нәтижелер жоғары терілген, яғни оларды шарлау және пайдалану оңай және олар құрастыру кезінде және әзірлеу кезінде жан-жақты типті тексеруге мүмкіндік береді. Қатты терілген байланыстырулар орындау уақытындағы қателерді азайтады және жоғары сапалы бағдарламаларды тудырады.
- Заманауи тіл конструкциялары – Xamarin қолданбалары C# тілінде жазылған, Objective-C және Java-дан айтарлықтай артықшылығы бар заманауи тіл, мысалы, динамикалық тіл мүмкіндіктері, ламбдалар, LINQ сияқты функционалдық құрылымдар, параллель бағдарламалау, генериктер және т.б.
- Мобильді құрылғыларға арналған кросс-платформалық қолдау - Xamarin iOS, Android және Windows үш негізгі платформалары үшін жан-жақты кросс-платформалық үйлесімділікті қамтамасыз етеді. Xamarin көмегімен қолданбалар кодының 90%-на дейін бөлісу үшін әзірленуі мүмкін. Essentials барлық үш платформада ортақ ресурстарға қол жеткізу үшін бірыңғай API ұсынады. Мобильді әзірлеушілер үшін ортақ код әзірлеу шығындарын, сондай-ақ нарыққа шығу уақытын айтарлықтай қысқартуы мүмкін.
- Roust Base Class Library (BCL) — Xamarin қолданбалары .NET BCL артықшылығын пайдаланады, соның ішінде кең және жеңілдетілген мүмкіндіктері бар сыныптардың үлкен жиынтығы, соның ішінде сенімді XML, дерекқор, сериялау, IO, жол және желілік қолдау, т.б. Қолданыстағы C# коды қолданбада пайдалану үшін құрастырылуы мүмкін, бұл BCL мүмкіндігін кеңейтетін жүздеген кітапханаларға қол жеткізуге мүмкіндік береді.
артықшылықтары
- Қысқа әзірлеу циклдері - Xamarin қолданбасын әзірлеудің маңызды артықшылығы - кодтың 90% -ын көптеген мобильді платформалар үшін қолданбаларды жасау үшін қайта пайдалануға немесе қайта өңдеуге болады. Bing C# және жергілікті кодпен құрастырылған. Таза кітапханалар және Xamarin қолданбасын әзірлеу уақыт пен жұмысты айтарлықтай үнемдеуге көмектеседі. Ол бірнеше платформалар үшін қолданбаларды жасау кезінде әзірлеу уақытын қысқартады.
- Толық құрылғыны қолдау (яғни камера, GPS) - Xamarin жергілікті деңгейдегі қолданба функционалдығын қамтамасыз ететіндіктен, аппараттық үйлесімділік мәселелерін, плагиндерді және API интерфейстерін болдырмайды. Ол сонымен қатар жергілікті кітапханалармен байланысуға мүмкіндік береді. Әзірлеушілер жалпы құрылғы функциялары бар қолданбаларды жасай алады және мұндай қолданбалар барлық негізгі платформаларда үздіксіз жұмыс істейді. Жақсырақ теңшеу және Xamarin қолданбасын әзірлеу қызметтері үшін жергілікті тәжірибені төменгі үстеме шығындармен алуға болады.
- Ашық көзі күшті қолдауы бар технология - Microsoft корпорациясы Xamarin сатып алғаннан кейін саясатта елеулі өзгерістер болды. Xamarin SDK ашық бастапқы кодқа айналды және ол енді MIT лицензиясы бойынша барлығына қолжетімді. Платформаның танымалдығы өсті, өйткені негізгі кедергі – лицензияны сатып алу – жойылды. Xamarin кросс-платформалық қолданбаларды әзірлеу шешімдеріне арналған сенімді және күшті технологиялық стекке айналды.
Минус
- UI әзірлеу уақытты қажет етеді – Xamarin бағдарламалық жасақтамасының көпшілігі платформаларда қайта пайдаланылуы мүмкін, бірақ негізгі UI құрылымы әлі портативті емес. Әзірлеушілерден кейбір кодтауды жүргізу немесе әртүрлі платформаларда жұмыс істеу талап етілуі мүмкін, бұл көп уақытты қажет ететін процедура.
- Файл өлшемін реттеу қажет болуы мүмкін – әзірлеушілер қолданбаның файл өлшеміне өзгертулер енгізуі қажет болуы мүмкін. Мұның негізгі себебі - негізгі кітапханалар мен функционалдылықты пайдалану қолданбалар дүкеніне айтарлықтай қысым жасайды. Xamarin қолданбасын тиісті қолданбалар дүкеніне жібермес бұрын, оның қолайлы қолданба файл өлшемі бар екеніне көз жеткізіңіз. Өлшемдері әдетте 3 МБ-тан 15 МБ-қа дейін өзгереді.
қорытынды
Сонымен, бұл қарапайым және тамаша платформалық қосымшаларды жобалау кезінде ескеру қажет ең жақсы Flutter баламаларының кейбірі.
Дегенмен, шешім қабылдамас бұрын, қолданбаның сипаттамаларын талдау өте маңызды, себебі бұл сізге қай жақтау оған ең қолайлы екенін көрсетеді.
Соңында, шешім таңдауыңыз сіз жазылатын философияға, қолданбаңызды қайда және қалай орналастырғыңыз келетініне және сізде қазір қандай таланттар бар немесе болашақта ие болғыңыз келетініне негізделуі керек.
Әрине, қайсысы сізге қолайлы екенін анықтаудың ең жақсы тәсілі - олардың барлығымен бірге дамуды бастау, содан кейін нәтижелерді салыстыру.
пікір қалдыру