Bizga qanaqadir yangi loyiha berildi va biz uni boshlashimiz kerak birinchi qiladigan


Download 0.53 Mb.
Pdf ko'rish
Sana04.02.2023
Hajmi0.53 Mb.
#1156991
Bog'liq
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