🔥Challenge
▶️سناریو :
میخوایم یک فرایند Sign up و Sign in شبیه به تلگرام رو انجام بدیم.
1⃣Sign up
وقتی که برای اولین بار وارد اپ میشیم و از قبل اکانت نداریم.
✔️شماره موبایل دریافت میشه و کد تایید فرستاده میشه.
✔️کد تایید اعتبار سنجی میشه.
✔️اسم و فامیل دریافت میشه و وارد اپ میشیم.
2⃣Sign in
وقتی که از قبل اکانت داریم.
✔️شماره موبایل دریافت میشه و کد تایید ارسال میشه.
✔️کد تایید اعتبار سنجی میشه و وارد اپ میشیم.
❓چالش :
ℹ️از دید کاربر معمولی احتمالا فرایند sign up و sign in به صورت کاملا مستقل پیاده سازی شده، توضیح بدید که ایا این فرایند ها مستقل هستند یا اینکه قسمتی از این دو فرایند به صورت مشترک پیاده سازی میشوند.
2⃣این فرایند ها رو تحلیل کنید و بگید چه api هایی و با چه جزییاتی (ساختار api) برای پیاده سازی این فرایندها نیاز دارید.
#challenge #flutter_challenge #intermediate
▶️سناریو :
میخوایم یک فرایند Sign up و Sign in شبیه به تلگرام رو انجام بدیم.
1⃣Sign up
وقتی که برای اولین بار وارد اپ میشیم و از قبل اکانت نداریم.
✔️شماره موبایل دریافت میشه و کد تایید فرستاده میشه.
✔️کد تایید اعتبار سنجی میشه.
✔️اسم و فامیل دریافت میشه و وارد اپ میشیم.
2⃣Sign in
وقتی که از قبل اکانت داریم.
✔️شماره موبایل دریافت میشه و کد تایید ارسال میشه.
✔️کد تایید اعتبار سنجی میشه و وارد اپ میشیم.
❓چالش :
ℹ️از دید کاربر معمولی احتمالا فرایند sign up و sign in به صورت کاملا مستقل پیاده سازی شده، توضیح بدید که ایا این فرایند ها مستقل هستند یا اینکه قسمتی از این دو فرایند به صورت مشترک پیاده سازی میشوند.
2⃣این فرایند ها رو تحلیل کنید و بگید چه api هایی و با چه جزییاتی (ساختار api) برای پیاده سازی این فرایندها نیاز دارید.
#challenge #flutter_challenge #intermediate
🔥Challenge
❓چالش :
تفاوت Future.delayed با Timer چیه؟ 🤔
#challenge
#dart_challenge
#begginer
#intermediate
❓چالش :
تفاوت Future.delayed با Timer چیه؟ 🤔
#challenge
#dart_challenge
#begginer
#intermediate
🔥Challenge
❓چالش :
اگر بخوایم که یه قطعه کد بلافاصله بعد از کدهای دیگه ولی بدون تاخیر زمانی اجرا بشه چه راه حلی به ذهنتون میرسه ؟ 🤔
#challenge
#dart_challenge
#intermediate
❓چالش :
اگر بخوایم که یه قطعه کد بلافاصله بعد از کدهای دیگه ولی بدون تاخیر زمانی اجرا بشه چه راه حلی به ذهنتون میرسه ؟ 🤔
#challenge
#dart_challenge
#intermediate
🔥Challenge
▶️سناریو :
همون طور که میدونید توی اپلیکیشن هامون برای ردیابی کاربر یه توکن از سرور می گیریم و اون رو توی حافظه ذخیره میکینم.
🔴در واقع بعد از اینکه کاربر لاگین یا رجیستر کرد یا...، سرور به ما یه توکن میده.
🔴ما باید این توکن رو ذخیره کنیم و توی درخواست های بعدی که به سرور میزنیم این توکن رو توی هدر درخواست ارسال کنیم.
❓چالش :
فرض کنید یه وب سرویس برای لاگین داریم و بعد از یه لاگین موفقیت امیز، سرور یه توکن توی ریسپانس این درخواست برای ما فرستاده.
🟢حالا این توکن رو باید ذخیره کنیم.
با توجه به معماری و ساختاری که استفاده میکنید توضیح بدید که عملیات مربوط به ذخیره توکن رو چگونه در ساختار معماری خودتون هندل میکنید...
🟢توضیح بدید که عملیات ذخیره سازی توکن کدوم بخش های معماری شما رو درگیر میکنه و هر بخش چه کاری رو انجام میده.
#challenge
#architecture_challenge
▶️سناریو :
همون طور که میدونید توی اپلیکیشن هامون برای ردیابی کاربر یه توکن از سرور می گیریم و اون رو توی حافظه ذخیره میکینم.
🔴در واقع بعد از اینکه کاربر لاگین یا رجیستر کرد یا...، سرور به ما یه توکن میده.
🔴ما باید این توکن رو ذخیره کنیم و توی درخواست های بعدی که به سرور میزنیم این توکن رو توی هدر درخواست ارسال کنیم.
❓چالش :
فرض کنید یه وب سرویس برای لاگین داریم و بعد از یه لاگین موفقیت امیز، سرور یه توکن توی ریسپانس این درخواست برای ما فرستاده.
🟢حالا این توکن رو باید ذخیره کنیم.
با توجه به معماری و ساختاری که استفاده میکنید توضیح بدید که عملیات مربوط به ذخیره توکن رو چگونه در ساختار معماری خودتون هندل میکنید...
🟢توضیح بدید که عملیات ذخیره سازی توکن کدوم بخش های معماری شما رو درگیر میکنه و هر بخش چه کاری رو انجام میده.
#challenge
#architecture_challenge
از نویگیتور ۱ و ۲ به صورت همزمان میشه توی اپ استفاده کرد؟
یعنی هم از Navigator.pages استفاده کنیم و هم از api های کلاسیک نویگیتور مثل push و...
یعنی هم از Navigator.pages استفاده کنیم و هم از api های کلاسیک نویگیتور مثل push و...
Anonymous Poll
77%
اره
23%
نه
🔥Challenge
❓چالش :
اگه بخوایم معادل سازی کنیم معادل Activity که توی اندروید نیتیو داریم، توی فلاتر چیه؟ 🤔
#challenge
#flutter_challenge
❓چالش :
اگه بخوایم معادل سازی کنیم معادل Activity که توی اندروید نیتیو داریم، توی فلاتر چیه؟ 🤔
#challenge
#flutter_challenge
Forwarded from Persian Flutter (Hadi Azarnasab)
توضیحات بیشتر در مورد آپدیت فلاتر۳ و دارت ۲.۱۷ در پست ویرگول:
https://virgool.io/flutter-community/flutter-3-lw4e9j8t0vv8
#فلاتر۳
@persian_flutter
https://virgool.io/flutter-community/flutter-3-lw4e9j8t0vv8
#فلاتر۳
@persian_flutter
This media is not supported in your browser
VIEW IN TELEGRAM
🔥Challenge
❓چالش :
بنظرتون بهترین راه برای پیاده سازی قسمت کامنت ها شبیه اپ یوتیوب چیه؟ 🤔
✅از پایین بیاد بالا .
✅تا یه جای مشخصی هم بالا بیاد
✅فقط با زدن ضربدر بسته بشه و بره پایین.
❌حرکت دست روش تاثیری نداشته باشه.
#challenge
#flutter_challenge
❓چالش :
بنظرتون بهترین راه برای پیاده سازی قسمت کامنت ها شبیه اپ یوتیوب چیه؟ 🤔
✅از پایین بیاد بالا .
✅تا یه جای مشخصی هم بالا بیاد
✅فقط با زدن ضربدر بسته بشه و بره پایین.
❌حرکت دست روش تاثیری نداشته باشه.
#challenge
#flutter_challenge
💊Capsule
Static vs Factory Constructors in Dart
منبع :
https://www.linkedin.com/posts/vandadnp_difference-static-factory-activity-6932942346330234881-XbjP?utm_source=linkedin_share&utm_medium=android_app
#capsule
#dart
Static vs Factory Constructors in Dart
منبع :
https://www.linkedin.com/posts/vandadnp_difference-static-factory-activity-6932942346330234881-XbjP?utm_source=linkedin_share&utm_medium=android_app
#capsule
#dart
🔥Challenge
❓چالش :
میخوام در مورد StatefulWidget صحبت کنم.
🟢همون طور که میدونیم ویجت ها توی فلاتر immutable هستن و StatefulWidget یه State داره میتونه mutable باشه و به این ترتیب با استفاده از اون میشه درخت ویجت رو بر اساس فیلد هایی که توی State تغییر میکنن اپدیت کرد.
🟢توی StatelessWidget یه متد build داریم که وظیفش ساختن اون قسمت از درخت هست.
🟢توی StatefulWidget ولی این متد build رو نداریم و به جاش این متد انتقال داده شده به کلاس State.
🤔توی داک فلاتر یه بحثی رو مطرح کرده و گفته اولش به این فکر میکردیم که توی StatefulWidget هم متد build رو بذاریم توی خود کلاس ویجت و نه کلاس State ولی...
❌حالا فرض کنید که متد build به جای کلاس State توی خود کلاس StatefulWidget بود (شبیه StatelessWidget) و البته کلاس State رو هم داشتیم و این کلاس بقیه متد های مربوط به life cycle مثل initState و... رو داشت و امکان rebuild کردن رو هم با setState داشت.
🟢دقیقا همین چیزی که الان هست فقط با انتقال متد build به کلاس StatefulWidget
❓حالا شما بگید اگه این اتفاق میوفتاد چه خوبی ها و یا چه بدی هایی داشت.؟
#challenge
#flutter_challenge
❓چالش :
میخوام در مورد StatefulWidget صحبت کنم.
🟢همون طور که میدونیم ویجت ها توی فلاتر immutable هستن و StatefulWidget یه State داره میتونه mutable باشه و به این ترتیب با استفاده از اون میشه درخت ویجت رو بر اساس فیلد هایی که توی State تغییر میکنن اپدیت کرد.
🟢توی StatelessWidget یه متد build داریم که وظیفش ساختن اون قسمت از درخت هست.
🟢توی StatefulWidget ولی این متد build رو نداریم و به جاش این متد انتقال داده شده به کلاس State.
🤔توی داک فلاتر یه بحثی رو مطرح کرده و گفته اولش به این فکر میکردیم که توی StatefulWidget هم متد build رو بذاریم توی خود کلاس ویجت و نه کلاس State ولی...
❌حالا فرض کنید که متد build به جای کلاس State توی خود کلاس StatefulWidget بود (شبیه StatelessWidget) و البته کلاس State رو هم داشتیم و این کلاس بقیه متد های مربوط به life cycle مثل initState و... رو داشت و امکان rebuild کردن رو هم با setState داشت.
🟢دقیقا همین چیزی که الان هست فقط با انتقال متد build به کلاس StatefulWidget
❓حالا شما بگید اگه این اتفاق میوفتاد چه خوبی ها و یا چه بدی هایی داشت.؟
#challenge
#flutter_challenge
This media is not supported in your browser
VIEW IN TELEGRAM
یه افزوده کاربردی برای VS Code که میتونید ازش برای جستجو و اضافه کردن پکیج مورد نظرتون به فایل pubspec استفاده کنید
https://marketplace.visualstudio.com/items?itemName=jeroen-meijer.pubspec-assist
https://marketplace.visualstudio.com/items?itemName=jeroen-meijer.pubspec-assist
💊Capsule
Constructor vs Factory Constructor in Dart
منبع :
https://www.linkedin.com/posts/vandadnp_constructor-factory-dart-activity-6930010995234856960-Gayn?utm_source=linkedin_share&utm_medium=android_app
#dart
#capsule
Constructor vs Factory Constructor in Dart
منبع :
https://www.linkedin.com/posts/vandadnp_constructor-factory-dart-activity-6930010995234856960-Gayn?utm_source=linkedin_share&utm_medium=android_app
#dart
#capsule
💊Capsule
🟢ViewInsets
پیکسل هایی هستن که سیستم عامل برای مواردی مثل کیبرد استفاده میکند(System UI)
در این نواحی هیچ محتوایی از اپ رندر نمیشود.
🟢ViewPadding
پیکسل هایی هستن که در طرفین دستگاه قرار دارن (بالا و پایین) مثل noch
🟢Padding
با استفاده از دو مقدار بالا محاسبه میشود.
Padding = max(0.0, viewPadding - viewInsets)
🔥این پراپرتی ها رو میتونید توی MediaQuery پیدا کنید.
#capsule
🟢ViewInsets
پیکسل هایی هستن که سیستم عامل برای مواردی مثل کیبرد استفاده میکند(System UI)
در این نواحی هیچ محتوایی از اپ رندر نمیشود.
🟢ViewPadding
پیکسل هایی هستن که در طرفین دستگاه قرار دارن (بالا و پایین) مثل noch
🟢Padding
با استفاده از دو مقدار بالا محاسبه میشود.
Padding = max(0.0, viewPadding - viewInsets)
🔥این پراپرتی ها رو میتونید توی MediaQuery پیدا کنید.
#capsule
💊Capsule
🔥توی اندروید های 10 به بعد یا Ui های اختصاصی شده مثل miui شاید دیده باشین که با کشیدن دست روی طرفین صفحه نمایش (چپ و راست) میتونیم صفجه رو بک کنیم.
🟢این قسمت ها یا این پیکسل ها در واقع پیکسل هایی هستن که محتوای اپ داخلشون رندر میشه ولی input gestures توی این پیکسل ها تشخیص داده نمیشه.
🟢در واقع سیستم عامل input gestures این پیکسل ها رو خودش مصرف میکنه و اجازه مدیریت اون توسط اپ رو نمیده.
🟢مثلا وقتی که کاربر میخواد منو کشویی رو باز کنه ولی با لمس اون نواحی به جای باز شدن منو صفحه بک میشه.
🔥مقدار پیکسلی که سیستم عامل توی این نواحی مصرف میکنه رو میشه با این پراپرتی از MediaQuery بدست اورد :
systemGestureInsets
#capsule
🔥توی اندروید های 10 به بعد یا Ui های اختصاصی شده مثل miui شاید دیده باشین که با کشیدن دست روی طرفین صفحه نمایش (چپ و راست) میتونیم صفجه رو بک کنیم.
🟢این قسمت ها یا این پیکسل ها در واقع پیکسل هایی هستن که محتوای اپ داخلشون رندر میشه ولی input gestures توی این پیکسل ها تشخیص داده نمیشه.
🟢در واقع سیستم عامل input gestures این پیکسل ها رو خودش مصرف میکنه و اجازه مدیریت اون توسط اپ رو نمیده.
🟢مثلا وقتی که کاربر میخواد منو کشویی رو باز کنه ولی با لمس اون نواحی به جای باز شدن منو صفحه بک میشه.
🔥مقدار پیکسلی که سیستم عامل توی این نواحی مصرف میکنه رو میشه با این پراپرتی از MediaQuery بدست اورد :
systemGestureInsets
#capsule
🔥Adaptive UI
🟢همون طور که میدونیم با فلاتر میتونیم برای پلتفرم های مختلف مثل وب، اندروید، ویندوز و... برنامه بنویسیم و از این رو برنامه ما ممکنه توی پلتفرم های مختلف یا اسکرین های مختلف (با سایزهای متفاوت) ران بشه.
🔥نکته ای که اهمیت پیدا میکنه این هست که برنامه انعطاف پذیر باشه و بتونه خودش رو با همه این شرایط وفق بده.
مثلا :
✔️تغییر چینش عناصر در سایزهای مختلف (سایز گوشی و دسکتاپ و....)
✔️استفاده از زبان طراحی مختلف در پلتفرم های مختلف
✔️ردیابی حرکات موس در پلتفرم های دسکتاپی
✔️و...
🔥برای این موضوع پکیجی با نام
https://pub.dev/packages/flutter_adaptive_ui
🔥پکیج رو بررسی کنید و نظرات و باگ های احتمالی رو بگید. 🙏
❤️❤️لطفا پکیج رو توی pub لایک کنید.❤️❤️
🔥در صورت تمایل میتونید در توسعه پکیج مشارکت کنید.
🟢همون طور که میدونیم با فلاتر میتونیم برای پلتفرم های مختلف مثل وب، اندروید، ویندوز و... برنامه بنویسیم و از این رو برنامه ما ممکنه توی پلتفرم های مختلف یا اسکرین های مختلف (با سایزهای متفاوت) ران بشه.
🔥نکته ای که اهمیت پیدا میکنه این هست که برنامه انعطاف پذیر باشه و بتونه خودش رو با همه این شرایط وفق بده.
مثلا :
✔️تغییر چینش عناصر در سایزهای مختلف (سایز گوشی و دسکتاپ و....)
✔️استفاده از زبان طراحی مختلف در پلتفرم های مختلف
✔️ردیابی حرکات موس در پلتفرم های دسکتاپی
✔️و...
🔥برای این موضوع پکیجی با نام
flutter_adaptive_ui
طراحی کردم. https://pub.dev/packages/flutter_adaptive_ui
🔥پکیج رو بررسی کنید و نظرات و باگ های احتمالی رو بگید. 🙏
❤️❤️لطفا پکیج رو توی pub لایک کنید.❤️❤️
🔥در صورت تمایل میتونید در توسعه پکیج مشارکت کنید.
Dart packages
flutter_adaptive_ui | Flutter package
A library that helps implement adaptive UI (based on OS , Screen size , ...) .
Pure Coder
🔥Adaptive UI 🟢همون طور که میدونیم با فلاتر میتونیم برای پلتفرم های مختلف مثل وب، اندروید، ویندوز و... برنامه بنویسیم و از این رو برنامه ما ممکنه توی پلتفرم های مختلف یا اسکرین های مختلف (با سایزهای متفاوت) ران بشه. 🔥نکته ای که اهمیت پیدا میکنه این هست که…
توی ورژن جدید پکیج
0.8.0-dev.2
ویجت های
PlatformBuilder
AdaptiveDesign
اضافه شدند
یک constructor با نام
Adaptivebuilder.custom
هم به ویجت AdaptiveBuilder اضافه شد و بعضی از پارامتر های constructor قبلی deprecated شدند
اگه نظری راجب این ها و موارد دیگه ای که میخواین به پکیج اضافه بشه دارین توی کامنت بگین.
0.8.0-dev.2
ویجت های
PlatformBuilder
AdaptiveDesign
اضافه شدند
یک constructor با نام
Adaptivebuilder.custom
هم به ویجت AdaptiveBuilder اضافه شد و بعضی از پارامتر های constructor قبلی deprecated شدند
اگه نظری راجب این ها و موارد دیگه ای که میخواین به پکیج اضافه بشه دارین توی کامنت بگین.