Flutter, Google тарабынан түзүлгөн ачык булактуу мобилдик тиркемелерди иштеп чыгуу алкагы акыркы бир нече жылда бир топ популярдуулукка ээ болду жана бул тенденция улана бермекчи. 2023-жылы Flutter платформалар аралык мобилдик тиркемелерди курууну көздөгөн иштеп чыгуучулар жана компаниялар арасында дагы атактуу болот деп күтүлүүдө.

Flutterдин атак-даңкынын өсүшүнүн бир себеби, анын тез өнүгүү цикли. Иштеп чыгуучуларга колдонмодогу коддогу өзгөрүүлөрдү дароо көрүүгө мүмкүндүк берген ысык кайра жүктөөнү (анг. Hot Reload) колдонуу менен иштеп чыгуучулар өзгөртүү киргизип, тез кайталай алышат, бул иштеп чыгуу процессинде көп убакытты үнөмдөйт. Бул өнүмдөрүн мүмкүн болушунча тезирээк рынокко чыгарууга муктаж болгон компаниялар үчүн өзгөчө жагымдуу.
Flutterдин атактуулугунун дагы бир себеби анын ийкемдүүлүгү. Бул иштеп чыгуучуларга ыңгайлаштырылган интерфейстерди жана дизайн элементтерин түзүүгө мүмкүндүк берип, аларга өздөрүнүн колдонмосунун көрүнүшүн жана сезимин көбүрөөк көзөмөлдөө мүмкүнчүлүгүн берет. Бул атаандаштыктан өз өнүмдөрүн айырмалоо жана уникалдуу колдонуучу тажрыйбасын түзүүнү каалаган компаниялар үчүн маанилүү. Тез өнүгүү циклинен жана ийкемдүүлүгүнөн тышкары, Flutter да чоң жана активдүү коомчулукка ээ. Бул көптөгөн ресурстар иштеп чыгуучулар үчүн жеткиликтүү жана алкактын мүмкүнчүлүктөрүн кеңейтүү үчүн плагиндердин кенен спектрин билдирет. Бул алардын тиркемесин иштеп чыгууда кеңири тажрыйбага жана колдоого ээ болууну каалаган компаниялар үчүн маанилүү.

GET STARTED! БАШТОО!
Анда Flutter саякатыңызды азыр баштаңыз дагы, 4 айда бүтүрүңүз. Эң башта төмөнкүлөр менен баштаңыз:

1) Дарттын (Dart) негиздери жана өркүндөтүлгөн дарт: Data types and variables, Operators, Control flow statement, Function, Classes, Lists, Map, Async, OOP

2) Flutter негиздери: Widgets, Animations, Navigation and Routing, Working with Assets, Version Control System, Responsivenes

Dart жана Flutter негиздерин үйрөнгөндөн кийин, колдонмодогу активдерди жана мультимедияны кантип колдонууну үйрөнгөн жөнөкөй жооп берүүчү UI (негизги анимациялары менен) түзүүгө аракет кылыңыз. Ага навигацияны жана маршрутту кошуңуз.
Үлгү проекттер: Simple Login & Signup App with animated Splash and onboarding Screens; Sound Play App in which you import different sounds and play them by clicking; Create an App UI;

Эми мындан ары State management окуп, жана provider үйрөнүп баштаңыз.
3) State Management: Provider, Riverpod, Bloс, Redux, GetX. State management үйрөнгөндөн кийин, State management’ти кантип колдонууну билүү үчүн жөнөкөй колдонмо түзүүгө аракет кылыңыз.
Үлгү проекттер: Counter App, Weather App, Todo App.


4) Жергиликтүү сактагыч:
Shared Preferences, Hive, SqfLite. Жергиликтүү сактагычты үйрөнгөндөн кийин, аны колдонуп, жөнөкөй Колдонмону түзүүгө аракет кылыңыз, анда State management менен жөнөкөй маалыматтарды жергиликтүү деңгээлде кантип сактоону үйрөнөсүз.
Үлгү проекттер: Counter App, Todo App, Theme Switcher App.


5) Түзмөктүн өзгөчөлүктөрүн колдонуу (Device Features):
Camera Access, Image Picker, Location Access, Internet Connectivity Check Permission. Түзмөктүн функциялары менен иштөөнү жана Flutter колдонмоңузга колдонмо уруксаттарын кантип кошууну үйрөнүңүз.
Үлгү проекттер: Picker App. (сүрөт, үн, видеого кирүүгө уруксаат алууну кошуңуз); Интернет байланышы болгонун текшерүү (Check Internet Connectivity);
6) Firebase: Authentication, OTP verification, CRUD operation, Storage, Firestore, Push Notification, Remote Config, Firebase CLI

Flutter Firebase аяктагандан кийин, Firebase менен штатты башкарууну чогуу кантип колдонууну билүү үчүн, билген билимиңизди колдонуп, чакан бир колдонмо түзүүгө аракет кылыңыз.
Үлгү проекттер: Chat App (Whatsapp clone), Facebook clone, Notes App, Todo App


7) API лер менен иштөө:
Flutter колдонмосуна API интеграциялоону үйрөнүңүз. Сиз жасаган үлгү колдонмо маалымат базасына GET, POST, PUT же DELETE HTTP сурамдарын жасай алсын. Өз кезегинде, маалымат базасы бизге маалыматтарды, натыйжаларды же жоопторду JSON, HTML же XML түрүндө жөнөтөт (JSON форматын үйрөнүп алсаңыз жакшы болот, ал өтө көп колдонулат). Андан кийин биз JSONду туура үлгү классына талдап, аны колдонмобузда колдонобуз.

APIлерди Flutter колдонмосуна оңой интеграциялоо үчүн биз аткара турган бир нече кадамдар бар:
1-кадам: API URL жана акыркы чекиттерди алыңыз. (Get the API URL and endpoints)
2-кадам: Тиешелүү пакеттерди колдонмого кошуңуз (HTTP, Dio, Chopper ж.б.).
3-кадам: URL’дерди жана акыркы чекиттерди (endpoints) сактаган туруктуу файлды түзүңүз.
4-кадам: JSON талдоо үчүн үлгү класс түзүңүз.
5-кадам: API чалууларын иштеткен файлды түзүп, маалыматтарды алуу жана талдоо үчүн атайын ыкмаларды жазыңыз.
6-кадам: Колдонмоңуздагы маалыматтарды колдонуңуз.
Бул макалада биз APIлерди Flutter колдонмосуна кантип интеграциялоону үйрөнүү үчүн мисал колдонобуз. Биз JSONPlaceholder API колдонобуз, ал жасалма API’лерди камсыздайт.
Үлгү проекттер: Login / Signup, Restaurant App, Wallpaper App, Movie App

8) Google картасы Flutterде: Google Карталарды Flutter колдонмоңузда колдонуу үчүн, Google Карталар Платформасы менен API долбоорун конфигурациялашыңыз керек, API ачкычын колдонуу менен Android үчүн Карталар SDK, iOS үчүн Карталар SDK’нын API ачкычын колдонуу жана Maps JavaScript API колдонуу API ачкычы (Maps JavaScript API Using API key).
Үлгү проекттер: Uber Clone, Google Map Clonе

9) (Архитектура) Architecture: MVC, MVP, MVVM
MVC: Model-View-Controller (MVC) колдонмону үч негизги логикалык компонентке бөлгөн архитектуралык үлгү: модель, көрүнүш жана контроллер. Бул компоненттердин ар бири колдонмонун белгилүү бир өнүгүү аспектилерин иштетүү үчүн курулган.

MVP: Model View Presenter. Модель – бул колдонуучунун интерфейсинде көрсөтүлө турган же башка жол менен аткарыла турган маалыматтарды аныктоочу интерфейс. Көрүнүш бул маалыматтарды (моделди) көрсөткөн жана колдонуучунун буйруктарын (окуяларды) ошол маалыматтар боюнча иш-аракет кылуу үчүн алып баруучуга багыттаган пассивдүү интерфейс. MVVM: Model-View-ViewModel (MVVM) – бул UIды (бул View) бизнес логикасын же бэкенд логикасын (Модель) өнүктүрүүдөн бөлүүнү колдогон программалык архитектуралык үлгү.

10) Flutter’де тест кылуу (Testing in Flutter): Бул – колдонмонун сапатуу жасалып жатканын камсыздайт. Сыноо кылдат пландаштырууну жана аткарууну талап кылат. Ошондой эле иштеп чыгуунун эң көп убакытты талап кылган фазасы. Dart тили жана Flutter алкагы тиркемени автоматташтырылган тестирлөө үчүн кеңири колдоо көрсөтөт. Колдонмоңуз ар кандай өлчөмдөгү ар кандай түзмөктөрдө, Android жана iOS түзмөктөрүндө кандай иштей алары сыналат.“Flutter колдонмоңузду сынап көрүүнү кантип үйрөнсө болот” толук колдонмонун шилтемеси бул жакта https://codelabs.developers.google.com/codelabs/flutter-app-testing#0
11) Жайгаштыруу же чыгаруу (Deployment) процесси 5 кадамдан турат: Planning, development, testing, deploying, and monitoring (Толук маалымат алуу үчүн – шилтеме)

Кошумча маалыматтар

Дизайн принциптери: Дизайн үлгүлөрү – бул жалпы көйгөйдү кантип чече ала турганыңыздын үлгүсүн же сүрөттөмөсүн камсыз кылган бир катар үлгүлөр. Өз алдынча, алар көйгөйлөрдүн толук чечимдери эмес, тескерисинче, программалык камсыздоонун дизайн дүйнөсүндөгү жалпы кайталануучу көйгөйдү чечүүнүн түшүндүрмөсүн же жолун сунуштайт.
Аналитика: Firebase үчүн Google Analytics үчүн Flutter плагини, Android жана iOS түзмөктөрүндө колдонмонун колдонулушу жана колдонуучунун катышуусу жөнүндө түшүнүк берген колдонмону өлчөө чечими.
Flutter ичиндеги CI / CD: CI/CD түтүгү программаңыздын автоматтык түрдө жеткирилишин тез-тез, ишенимдүү жана коопсуз кылат. Бул коддун жогорку сапатына көңүл бурат, ошондуктан бул мобилдик иштеп чыгуучу же команда үчүн абдан маанилүү.
Flutter үчүн маалымат базасы: Flutter тиркемесин иштеп чыгуу үчүн бизде маалымат базаларынын эки түрү бар: Relational (SQL) жана Non-Relational (SQL жок). Relational маалыматтар базасы: маалыматтар алардын ортосунда байланыш бар жерде. б.а. SQL & SQLite. Non-Relational маалымат базасы: сакталган маалыматтар документтерде, ал эми алардын ортосунда эч кандай байланыш жок. б.а. MongoDB, Amazon SimpleDB, ж. Берилиштер базасынын негизги максаты үзгүлтүксүз мазмун өзгөртүүлөрүн, өзгөчөлүк жаңыртууларын, дизайн жаңыртууларын жана күнүмдүк маалымат трафигин башкаруу. Колдонмоңуздун талаптарына ылайыктуу маалымат базасын тандоо маанилүү.
Локалдаштыруу: Демейки боюнча, Flutter АКШнын англисче локализациясын гана камсыз кылат. Башка тилдерге колдоо кошуу үчүн, колдонмо кошумча MaterialApp (же CupertinoApp) касиеттерин көрсөтүп, flutter_localizations деп аталган пакетти камтышы керек.

Урматтуу окурманым, мен бул макаланы 2023-жылы Flutter окуп үйрөнгүсү келгендер үчүн англис тилинен котордум. Бул макалада айрым нерселерди которбой дал ошондой калтырууну туура көрдүм, себеби которгондо керектүү маани чыкпай калып жатат. Кыргызча которулбай калган маалыматтарды интернеттен издөөдө дал ошол англис тилиндегидей издешиңиз керек болот.
Бардыгыңыздарга ийгилик каалайм. Өзүңүздү өнүктүрүңүз, өлкөнүн өнүгүүсүнө салым кошуңуз! Сизге ийгилик каалайм, жана аягына чейин окуганыңыз үчүн ыраазычылык билдирем. Ой-пикирлериңиз болсо комментарийге жазыңыз, же менен соц баракчаларыма кайрылыңыз!

Автор: Турат АЛЫБАЕВ, АйТи-окутуучу, программист, активист-агартуучу
Leave a Reply

Your email address will not be published.

You May Also Like

Махабат Садырбек, активист: «Чырак» санариптик окутуу долбоору тууралуу

Караңгыда жарык берген чырак Учурда «Чырак» окутуу долбооруна катталуу жүрүп жатат. Бул…

Германиядагы орто кесиптик билим (Ausbildung)

Аусбилдуңга чейин Германияга жыл сайын жүздөгөн жаштар дүйнөнүн ар кайсыл өлкөлөрүнөн Au-pair,…

Германия кыргыз эмгек мигранттары үчүн альтернатива боло алабы?

Бир айдан берки Орус-Украин согушунун улам пайда болгон кырдаалда саясий аренада жана…

Кайрат Биримкулов: «Чөйрө 2022» – кыргызстандык активисттердин эл аралык форуму

Учурда мен өзүмдүн жигердүү жердештерим менен бирге үстүбүздөгү жылдын 12-июлунан 14-июлуна чейин…