Bizga qanaqadir yangi loyiha berildi va biz uni boshlashimiz kerak birinchi qiladigan
Download 0.53 Mb. Pdf ko'rish
|
Guidline
First Bizga qanaqadir yangi loyiha berildi va biz uni boshlashimiz kerak birinchi qiladigan ishimiz yangi proyekt ochib kod yozishni boshlashbo'lmasligi kerak. Birinchi navbatta loyihani tushunish bu loyiha nima vazifani bajaradi qanaqa ishlaydi vafigmani ko'rib chiqiladi qanaqadir kamchiliklari bo'sa dizaynerlarga comment qoldirish kerak, har bitta detaligacha ko'rib chiqiladi masalan empty statelar bolmasligi mumkin yoki padding ,margin xato berilgan bo'lishi mumkin. Development 1.Har bitta loyiha boshlanganda birinchi qilinadigan ishlar figma koriladi ko'p takrorlangan componentlar globalniy qilib widget qilinadi,TextField, appBar, bular ham globalniy bitta widget qilinadi. 2.Colorslarni ham colors filega qoshib chiqiladi va loyihaga faqat shu filega qo'shilgan colorlarni ishlatamiz. Color name Development 3.Iconlarni size ga qarab png yoki svg formatda olamiz agar kichik sizeda bo'lsa svg olib ishlatamiz, size katta yoki kattaroq rasm bo'sa png olamiz va flutter ni ozini iconlarini ishlatmaymiz faqat figmadan olinganlarini ishlatamiz. Icon va image larni ham bita dart filega const qilib yozib olamiz bita iconni ko’p joylarda ishlatishimiz mumkin xar safar bir marta yaratganimizni ishlatamiz. 4.Globalniy widgetlarni eski loyihalarimizdan olib yangi loyihamizaga qo'shamiz masalan WScaleAnimation, StorageRepository bular ozgarmaydi har bitta loyihamiz uchun kerak bo'ladi. Development 5.Demak biz loyiga uchun icon ,color , globalniy widgetlar ni qilib oldik endi boshlasak ham bo'ladi, figma bo'yicha tartib bilan ketiladi, splash, onBoarding , Auth screenlarini qilib olamiz, bulardan kiyin main screendagi bottom navigation bar qilinadi va loyiha sectionlarga bo'lib beriladi Masalan sizga main qismi tushdi va siz nima qilasiz featuresni ichida main directory ochasiz data, domain , presentation directorylarni mainni ichida ochasiz bular tepada aytilgan reco coder clean architecture boyicha. presentationni ichida blocs,pages , widgets directorylar ochiladi va pageni ichidagi buttonlar, itemlar , widgetlar, widgets directoryga stateless qilib yaratib olinadi. Development 6. Asosiy screen statefull bo'ladi biz albatt initState, dispose ni ishlatishimiz kerak, screenda bloclarni, textfield controllerlarni yaratish qoidalari:late MainBloc mainBloc; late TextEditingController mainTextController;initState(){ mainBloc=MainBloc(); mainTextController=TextEditingController();} dispose(){ mainBloc.close(); mainTextController.dispose();} Development 7.T extga style berish: Biz biror bir textga style berishimiz kerak buning uchun biz Theme ni qilgan bo'lishimiz kerak Text("Dilyorbek", style:Theme.of(context).textTheme.headline1), Agar headline1 dagi fontSize yoki FontWeight bizni figmada berilgan textimizga to'gri kerlmasa Text("Dilyorbek", style:Theme.of(context).textTheme.headline1!.copyWith(fontSize:14,fontWeight:FontWeight.w500,)), shu ko'rinishda ishlatamiz, Theme dagi textStylni yani headline1 headline2..., figmamizdagi textni coloriga qarab aniqlab olamiz,colori bir xil bo'lsa shuni ishlatamiz.Yozayotgan textimiz keyichalik o'zgarishini hisoga olishimiz kerak masalan kimningdur ismi Ali bo'sa kimnikidir MuhammadAli nimani nazarda tutyapman siz Ali ismiga textni moslab ketgan bolishingiz mumkin yoq bu hato.Boshqa uzunroq text bo'lishini ham oylab ketgan bolishingiz kerak,example: textOverFlow:TextOverFlow.ellipsis, maxlines:2,) Development 8. Screendagi kodlar 150 qatordan oshmasligi kerak iloji boricha widgetlarni ajratib widgets direktoryga olinadi, bitta fileni ichiga 2 ta class yani 2 ta widget yozmaslik kerak.Widgetlarni qayta build qiladigan qilib yozmaslik kerak: Bu xato 9. Loyihamizni UI qismi tugagan bo’lsa birinchi bo’lib figma bilan tekshirishimiz kerak. 10. Demak biz loyihamizni API ulashga tayyor qilishimiz kerak yani entity, dataSource, repository, usecase bloc larni yozib chiqamiz. Entity qanday yoziladi va qayerga? Development 11.API ga ulashni boshlaymiz :Birinchi qiladgan ishimiz kelgan responsega qarab entity, model yoziladi keyin datasource repository , use case DataSource=> Development Repository, UseCase reco coder clean architecture bo’yicha yoziladi. 12.BloC. state mangement uchun biz BloC ishlatamiz va biz blocni odatdagidan biroz boshqacharoq yozamiz, masalan class MainInitialState extends MainState{} class MainLoadingState extends MainState{} class MainLoadedState extends MainState{} odatda statelar shunday yoziladi lekin bu bizga biroz noqulaylik tugdiradi shuning uchun biz class MainState extends Equatable{ final FormzStatus status; MainState ({required this.status}); MainState copyWith({ FormzStatus? status, })=>MainState( status :status?? this.status ); } Development State ga shu ko’rinishda copyWith ham yozib olamiz . Download 0.53 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling