Forwarded from Techie's Blog
Assalomu alekum hammaga.
go_router ishlatuvchilarni .popUntil() funksyaning yetishmasligi ko'pchilikni qiynasa kerak. Buning uchun yechim sifatida qulay extension yozdim balki foydasi tegib qolar:
go_router contextga bog'langani uchun unga ham qoshimcha yozib qo'yamiz:
p.s/ Boshqacha yechimlar bo'lsa albatta kutib qolaman.
go_router ishlatuvchilarni .popUntil() funksyaning yetishmasligi ko'pchilikni qiynasa kerak. Buning uchun yechim sifatida qulay extension yozdim balki foydasi tegib qolar:
extension GoRouterExtension on GoRouter {
void popUntilPath(String ancestorPath) {
while (routerDelegate.currentConfiguration.matches.last.matchedLocation != ancestorPath) {
if (!canPop()) {
return;
}
pop();
}
}
}
go_router contextga bog'langani uchun unga ham qoshimcha yozib qo'yamiz:
extension BuildContextExtensions on BuildContext {
void popUntil(String targetRoute) {
final router = GoRouter.of(this);
router.popUntilPath(targetRoute);
}
}
p.s/ Boshqacha yechimlar bo'lsa albatta kutib qolaman.
Tarmoqlarda iOS 26 dan "Liquid Glass" UI prinspida ishlashini aytib, Flutter (yoki krossplatformachilar) buni eplolmaydi deb "vahima" qilisha boshlaganida men:
😁3
UzPay peketi yangilandi, endi siz QR kod ham generatsiya qila olasiz,
https://pub.dev/packages/uzpay
@flutterdevuz
https://pub.dev/packages/uzpay
@flutterdevuz
🔥5⚡1
Forwarded from Samandar Ahadjonov
#tajribadan
Biron muaommo ustida idealdagi backendchi va frontendchi o'rtasidagi meeting uzog'i 1-2 daqiqa davom etishi kerak. Bundan ko'p vaqt ketdimi, demak orada kimdir noprofessional.
Dialog taxminan bunaqa bo'lishi kerak:
Front: Bunaqa-bunaqa muammo bor, mana bunaqa qilsak bo'ladimi?
Back: Ha bo'ladi / Yo'q, lekin bunaqa qilsak bo'ladi.
Front: Bo'ldi kelishdik, rahmat.
Professionallar ichida "U edi - bu edi" degan "adi-badi" bo'lmaydi.
@ahadjonovss
Biron muaommo ustida idealdagi backendchi va frontendchi o'rtasidagi meeting uzog'i 1-2 daqiqa davom etishi kerak. Bundan ko'p vaqt ketdimi, demak orada kimdir noprofessional.
Dialog taxminan bunaqa bo'lishi kerak:
Front: Bunaqa-bunaqa muammo bor, mana bunaqa qilsak bo'ladimi?
Back: Ha bo'ladi / Yo'q, lekin bunaqa qilsak bo'ladi.
Front: Bo'ldi kelishdik, rahmat.
Professionallar ichida "U edi - bu edi" degan "adi-badi" bo'lmaydi.
@ahadjonovss
👍5
Dasturchilarni qanday jahlini chiqarish mumkin yoki yangi rahbarlarga qo'llanma
- Demo vaqtida "men buni AI yordamida 5 daqiqada qilaman" deb ayting.
- Dasturchiga yangi topshiriq bering, agar hozir boshqa bir ish bilan bandligini aytsa, usha ishni AI`ga berib, o'zi yangi topshiriq bilan shug'ullanishi kerakligini ayting.
- Boshqa bo'limlarni yig'ilishlariga dasturchilarni taklif qiling.
- Ish guruh chatiga boshqa IT tashkilotlar xodimlarni bo'shatib, o'rniga AIdan foydalanishni boshlaganliklari haqidagi yangiliklarni tashlab turing.
- Prodga chiqishdan bir soat oldin “Men bitta kichkina o‘zgarish kiritdim” deb xabar bering.
- Kodni refactor qilishga qo'ymang, buni bekorchilikdan qilinadigan ish deb ayting.
- Tez tez AI`dan unumli foydalanmayapsizlar deb aytib turing.
- Githubga kirib, biror bir kodni olib AI`dan review qilishini so'rang, keyin javobni dasturchilar guruhida tashlang.
- Bu narsa qiyin deyishsa, "Bilgan odamga, bitta promptda" deb ayting.
- Fikringizni tez tez o'zgartirib turing va loyihani shunga moslab o'zgartirish kerakligini ayting.
- Oylikni dasturchilar yozgan kod hajmiga qarab to'lang.
@flutterdevuz
- Demo vaqtida "men buni AI yordamida 5 daqiqada qilaman" deb ayting.
- Dasturchiga yangi topshiriq bering, agar hozir boshqa bir ish bilan bandligini aytsa, usha ishni AI`ga berib, o'zi yangi topshiriq bilan shug'ullanishi kerakligini ayting.
- Boshqa bo'limlarni yig'ilishlariga dasturchilarni taklif qiling.
- Ish guruh chatiga boshqa IT tashkilotlar xodimlarni bo'shatib, o'rniga AIdan foydalanishni boshlaganliklari haqidagi yangiliklarni tashlab turing.
- Prodga chiqishdan bir soat oldin “Men bitta kichkina o‘zgarish kiritdim” deb xabar bering.
- Kodni refactor qilishga qo'ymang, buni bekorchilikdan qilinadigan ish deb ayting.
- Tez tez AI`dan unumli foydalanmayapsizlar deb aytib turing.
- Githubga kirib, biror bir kodni olib AI`dan review qilishini so'rang, keyin javobni dasturchilar guruhida tashlang.
- Bu narsa qiyin deyishsa, "Bilgan odamga, bitta promptda" deb ayting.
- Fikringizni tez tez o'zgartirib turing va loyihani shunga moslab o'zgartirish kerakligini ayting.
- Oylikni dasturchilar yozgan kod hajmiga qarab to'lang.
@flutterdevuz
😁2🆒1
Media is too big
VIEW IN TELEGRAM
⚡2😱2👍1👌1
Forwarded from Techie's Blog
Vanihoyat meaningful move.
Oldinlari faqat inspector ichidan boshqarilar edi manashu "zormonda". Endi deviceni o'ziga qo'shib yaxshi ish qilishibdi
Oldinlari faqat inspector ichidan boshqarilar edi manashu "zormonda". Endi deviceni o'ziga qo'shib yaxshi ish qilishibdi
Most Advanced and Useful Flutter Techniques (from r/FlutterDev)
### Advanced Flutter Techniques
- **State Management**
- Use tools like Riverpod for clean and easy async state management.
- Build async-friendly UI components that react to AsyncValue states.
- **Performance Optimization**
- Profile your app regularly.
- Follow good architectural patterns to reduce the need for later optimization.
- **Custom Animations and Transitions**
- Use the `flutter_animate` package.
- Use the Hero widget for smooth page transitions.
- **Native Platform Integration**
- Use PlatformView and MethodChannel to work with native SDKs.
- Call C/C++ libraries via Dart FFI (e.g., OpenCV for image processing).
- Try Flutter Rust Bridge and other emerging FFI tools.
- **Effective Debugging**
- Use breakpoints and verify app state during debugging.
- **CI/CD Pipelines**
- Use Melos for monorepo management, running tests, and scripting both locally and in CI.
- **Complex UI and Layouts**
- Use basic Flutter widgets like MediaQuery, LayoutBuilder, and SafeArea for responsive design.
- **Best Testing Practices**
- Write composable helper functions inspired by React Hooks to manage lifecycle and resources in tests, reducing boilerplate.
- **Working with Packages & Plugins**
- Use Melos to manage multiple packages and streamline your workflow.
- **Other Useful Practices**
- Follow SOLID design principles for maintainable code.
- Use git hooks to automate formatting and other common tasks.
- Launch emulators from the terminal or VSCode launch.json for faster startup.
- Set up centralized logging with strategy patterns for analytics and console logs.
- Create strongly-typed network libraries with mock implementations for easier testing.
### Use Cases for Native Code Integration
- Alarm screen that appears even when the app is closed or the phone is locked.
- Native APIs or libraries not yet available in Flutter (e.g., Azure Speech Recognition).
- Heavy processing tasks using C++ libraries via Dart FFI (e.g., OpenCV).
@flutterdevuz
Forwarded from Flutter Dev Talk
🔥 Yangilik:
Serverpod jamoasi tomonidan iOS26'ning Liquid Glass designiga pixel2pixel qilib ishlangan yangi packagi chiqarilibdi. Bu package oldingi liquid_glass_renderer packagega qaraganda ancha qulaydek tuyildi.
Sinab ko'ramizmi ?
https://pub.dev/packages/cupertino_native
Flutter Dev Talk | Techie's Blog
Serverpod jamoasi tomonidan iOS26'ning Liquid Glass designiga pixel2pixel qilib ishlangan yangi packagi chiqarilibdi. Bu package oldingi liquid_glass_renderer packagega qaraganda ancha qulaydek tuyildi.
Sinab ko'ramizmi ?
https://pub.dev/packages/cupertino_native
Flutter Dev Talk | Techie's Blog
Dart packages
cupertino_native | Flutter package
Native Liquid Glass widgets for iOS and macOS with pixel-perfect fidelity.
iPhone 17?
iPhone 99% marketing + 1% alyumin (toʻgʻri bo'rttirdim)
Sam Altman AGI yaqin deb turgan paytda, iOS "alarm clock" ilovasidagi karusel raqam tanlagichini "loop" qilish o'rniga, uzuuuun list bervorgan ekanda.
PM: Senmidi yangi ishga kelgan Stajor? Alarm app qilib berasan.
Dev: Bro, for/while iteratorni o'qimagandim.
PM: Listlarni o'qiganmisan? Uzun list qib qo'yor, hich kim oxirigacha scroll qimidi!
P.S: Tajriba qilishni istasangiz 10-15 sekund scroll qiling.
@flutterdevuz
iPhone 99% marketing + 1% alyumin (toʻgʻri bo'rttirdim)
Sam Altman AGI yaqin deb turgan paytda, iOS "alarm clock" ilovasidagi karusel raqam tanlagichini "loop" qilish o'rniga, uzuuuun list bervorgan ekanda.
PM: Senmidi yangi ishga kelgan Stajor? Alarm app qilib berasan.
Dev: Bro, for/while iteratorni o'qimagandim.
PM: Listlarni o'qiganmisan? Uzun list qib qo'yor, hich kim oxirigacha scroll qimidi!
P.S: Tajriba qilishni istasangiz 10-15 sekund scroll qiling.
@flutterdevuz
👍2🆒1
🚀 Dasturchi Darajalari va Rollar: Chalkashliklarga Yakun Yasash
IT sohasida tez-tez ishlatiladigan Junior, Middle, Senior, Team Lead kabi tushunchalar ko‘p hollarda noto‘g‘ri talqin qilinadi.
Masalan, ko‘pchilik “Team Lead”ni Senior’dan keyingi daraja deb o‘ylaydi.
Aslida esa:
👉 Daraja (Level) va Rol (Role) — bu ikki xil tushuncha.
📊 Darajalar (Levels) – Malaka va Tajriba Bosqichlari
Daraja — bu mutaxassisning bilimlari, tajribasi va mas’uliyat ko‘lamini bildiradi.
Junior Developer
Middle Developer
Senior Developer
🔗 Batafsil: Junior, Middle, Senior Developer haqida
👥 Rollar (Roles) – Jamoa Ichidagi Vazifalar
Rol — bu mutaxassisning jamoa yoki loyiha ichida bajaradigan vazifasi.
Bir xil darajadagi odam turli rollarda bo‘lishi mumkin.
🔹 Member (Developer)
Kod yozish, testlash yoki boshqa texnik ishlarni bajaradi.
Darajasi: Junior | Middle | Senior bo‘lishi mumkin.
🔹 Team Lead
Jamoani boshqaradi, vazifalarni taqsimlaydi, ustuvorliklarni belgilaydi.
Texnik qarorlar qabul qiladi, ammo doim ham arxitektura darajasiga kirmaydi.
Jamoa a’zolariga mentorlik qiladi.
Darajasi: odatda Senior, ba’zan soft skillari kuchli bo‘lsa Middle ham bo‘lishi mumkin.
⚠️ Muhim: Team Lead — Senior’dan keyingi bosqich emas, bu rol.
🔹 Architect / Tech Lead
Tizim arxitekturasini ishlab chiqadi.
Texnologiyalarni tanlaydi, uzoq muddatli texnik qarorlar qabul qiladi.
Ko‘pincha bir nechta jamoaga yo‘l-yo‘riq beradi.
Darajasi: odatda Senior, lekin roli — arxitektura dizayneri.
🔗 Batafsil: Developer uchun o‘sish ketma-ketligi
🔹 Project Manager (PM)
Texnik emas, biznes va jarayon boshqaruvi bilan shug‘ullanadi.
Mijoz bilan aloqa qiladi, muddatlarni belgilaydi, risklarni boshqaradi.
Daraja (Junior/Middle/Senior) tushunchasi qo‘llanilmaydi.
🔹 SecOps / QA / Data Specialist
Har biri o‘ziga xos rolda: xavfsizlik, testlash, ma’lumotlar tahlili.
Darajalari: Junior | Middle | Senior bo‘lishi mumkin.
❌ Eng Ko‘p Chalkashadigan Masala: Middle vs Team Lead
Ko‘pchilik noto‘g‘ri o‘ylaydi:
Junior → Middle → Senior → Team Lead
✅ To‘g‘risi esa:
Darajalar (Levels): Junior → Middle → Senior
Rollar (Roles): Developer (member) → Team Lead → Architect
Ya’ni:
Team Lead — bu lavozim emas, rol.
Senior bo‘lish shart emas, ba’zi hollarda Middle ham Team Lead bo‘lishi mumkin.
Lekin hamma Seniorlar Team Lead emas.
🎯 Xulosa
Darajalar (Levels) — mutaxassisning bilim va tajribasi.
Rollar (Roles) — jamoa ichidagi vazifasi.
Junior, Middle, Senior — malaka bosqichlari.
Team Lead, Architect, Member, PM — rollar.
👉 Daraja va rolni adashtirish — noto‘g‘ri kadr boshqaruvi va kutishlarga olib keladi.
IT kompaniyalarda muvaffaqiyatli ishlash uchun ushbu farqlarni to‘g‘ri tushunish juda muhim.
IT sohasida tez-tez ishlatiladigan Junior, Middle, Senior, Team Lead kabi tushunchalar ko‘p hollarda noto‘g‘ri talqin qilinadi.
Masalan, ko‘pchilik “Team Lead”ni Senior’dan keyingi daraja deb o‘ylaydi.
Aslida esa:
👉 Daraja (Level) va Rol (Role) — bu ikki xil tushuncha.
📊 Darajalar (Levels) – Malaka va Tajriba Bosqichlari
Daraja — bu mutaxassisning bilimlari, tajribasi va mas’uliyat ko‘lamini bildiradi.
Junior Developer
Middle Developer
Senior Developer
🔗 Batafsil: Junior, Middle, Senior Developer haqida
👥 Rollar (Roles) – Jamoa Ichidagi Vazifalar
Rol — bu mutaxassisning jamoa yoki loyiha ichida bajaradigan vazifasi.
Bir xil darajadagi odam turli rollarda bo‘lishi mumkin.
🔹 Member (Developer)
Kod yozish, testlash yoki boshqa texnik ishlarni bajaradi.
Darajasi: Junior | Middle | Senior bo‘lishi mumkin.
🔹 Team Lead
Jamoani boshqaradi, vazifalarni taqsimlaydi, ustuvorliklarni belgilaydi.
Texnik qarorlar qabul qiladi, ammo doim ham arxitektura darajasiga kirmaydi.
Jamoa a’zolariga mentorlik qiladi.
Darajasi: odatda Senior, ba’zan soft skillari kuchli bo‘lsa Middle ham bo‘lishi mumkin.
⚠️ Muhim: Team Lead — Senior’dan keyingi bosqich emas, bu rol.
🔹 Architect / Tech Lead
Tizim arxitekturasini ishlab chiqadi.
Texnologiyalarni tanlaydi, uzoq muddatli texnik qarorlar qabul qiladi.
Ko‘pincha bir nechta jamoaga yo‘l-yo‘riq beradi.
Darajasi: odatda Senior, lekin roli — arxitektura dizayneri.
🔗 Batafsil: Developer uchun o‘sish ketma-ketligi
🔹 Project Manager (PM)
Texnik emas, biznes va jarayon boshqaruvi bilan shug‘ullanadi.
Mijoz bilan aloqa qiladi, muddatlarni belgilaydi, risklarni boshqaradi.
Daraja (Junior/Middle/Senior) tushunchasi qo‘llanilmaydi.
🔹 SecOps / QA / Data Specialist
Har biri o‘ziga xos rolda: xavfsizlik, testlash, ma’lumotlar tahlili.
Darajalari: Junior | Middle | Senior bo‘lishi mumkin.
❌ Eng Ko‘p Chalkashadigan Masala: Middle vs Team Lead
Ko‘pchilik noto‘g‘ri o‘ylaydi:
Junior → Middle → Senior → Team Lead
✅ To‘g‘risi esa:
Darajalar (Levels): Junior → Middle → Senior
Rollar (Roles): Developer (member) → Team Lead → Architect
Ya’ni:
Team Lead — bu lavozim emas, rol.
Senior bo‘lish shart emas, ba’zi hollarda Middle ham Team Lead bo‘lishi mumkin.
Lekin hamma Seniorlar Team Lead emas.
🎯 Xulosa
Darajalar (Levels) — mutaxassisning bilim va tajribasi.
Rollar (Roles) — jamoa ichidagi vazifasi.
Junior, Middle, Senior — malaka bosqichlari.
Team Lead, Architect, Member, PM — rollar.
👉 Daraja va rolni adashtirish — noto‘g‘ri kadr boshqaruvi va kutishlarga olib keladi.
IT kompaniyalarda muvaffaqiyatli ishlash uchun ushbu farqlarni to‘g‘ri tushunish juda muhim.
Flutter Dev | Uzbekistan 🇺🇿
🚀 Dasturchi Darajalari va Rollar: Chalkashliklarga Yakun Yasash IT sohasida tez-tez ishlatiladigan Junior, Middle, Senior, Team Lead kabi tushunchalar ko‘p hollarda noto‘g‘ri talqin qilinadi. Masalan, ko‘pchilik “Team Lead”ni Senior’dan keyingi daraja deb…
Manba: Mukhriddinbek Samidov