Flutter | فلاتر
2.57K subscribers
207 photos
34 videos
32 files
575 links
لینک گروه برای اشتراک منابع و یادگیری فلاتر
https://t.me/joinchat/EOllGEqgbASbAHtD03cXTA
حمایت از کانال:
idpay.ir/fluttery

انتقاد ،پیشنهاد،نوشتن مطلب:
@h_noroozi_t_96
@ni30000
Download Telegram
Forwarded from Pure Coder
⚡️⚡️Flutter Key⚡️⚡️
5⃣

تقسیم بندی انواع key ها در فلاتر

✔️اون هایی که رنگ مشکی دارن abstract هستن و بقیه کلاس های معمولی هستن .

✔️اون هایی که با <T> مشخص شدن Generic هستن.

#key #local_key
#flutter_key #flutter_key
#value_key #object_key #unique_key
Forwarded from Pure Coder
⚡️⚡️یه نکته ⚡️⚡️
کد بالا رو نگاه کنید.
یه کلاس Point داریم که دو تا instance field داریم به اسم های x و y که توی constructor مقدار گرفتن.

یه instance field دیگه هم داریم
distanceToOrigin
که میخوایم اون رو با استفاده از دو تا فیلد دیگه مقدار بدیم.

ولی بهمون ارور میده چون که نمیتونیم از یه instance field برای مقدار دهی یه instance field دیگه استفاده کنیم.

🤔🤔راه حل چیه؟
Forwarded from Pure Coder
🔥راه حل اول استفاده از getter هست
double get distanceToOrigin => ....

و به این روش میشه از مقادیر instance field های دیگه داخل این getter استفاده کرد.
چون که getter یه متد هست و داخلش میشه از instance field های کلاس استفاده کرد.
Forwarded from Pure Coder
🔥راه حل دوم استفاده از late هست.
late final distanceToOrigin = ...

در این حالت distanceToOrigin هم یه instance field هست ولی چون از late استفاده کردیم همون اول کار که از کلاس ابجکت ساخته میشه مقدار دهی نمیشه و اولین باری که میخوایم از این فیلد استفاده کنیم مقدار دهی میشه.

در این حالت امکان استفاده از const constructor نیست.
چرا؟ 🤔
Forwarded from Pure Coder
🔥کاربرد :
کاربرد دو راه حل بالا :

توی State یه Stateful
جایی که میخوایم توی یه فیلد از پروپرتی widget استفاده کنیم.

مثلن :
Color color = widget.color:
که به مشکل میخوریم.
که با استفاده از getter و یا late میشه برطرفش کرد.
Color get color => widget.color;

Or

late Color color = widget.color;

توی abstract classها (که میخوایم constructor نداشته باشن و فقط یه interface باشن) هم میتونیم بعضی فیلد ها رو با توجه به فیلد های دیگه مقدار بدیم.

و...
سلام کسی کتاب صوتی clean code به انگلیسی رو داره؟!
#کوییز
#پیشرفته
#فلاتر
وظیفه قطعه کد بالا چیست؟
و علت استفاده از extension رو کامنت کنید؟
Forwarded from Pure Coder
⚡️⚡️یه نکته ⚡️⚡️
توی زبان دارت چیزی به صورت صریح به اسم interface نداریم و هر کلاسی میتونه در حکم یک interface عمل کنه.
یعنی با implement کردن یک کلاس به جای extend کردن میتونیم از اون کلاس به عنوان interface استفاده کنیم.

✔️پس یه کلاس توی دارت هم قابلیت ارث بری داره و هم اینکه میشه به عنوان interface ازش استفاده کرد.

🔥حالا اگه بخوایم یه کلاسی بنویسیم که فقط و فقط یه interface باشه باید چکار کنیم؟
یعنی اینکه کلاسمون نه قابلیت ارث بری داشته باشه و نه بشه ازش نمونه ساخت و دقیقن مثل یک interface فقط بشه implement اش کرد.

برای اینکار از پترن ساده زیر استفاده میکنیم.

abstract class MyInterface {

MyInterface._() ;

}

😍یعنی با یه private constructor امکان نمونه ساختن و ارث بری رو ازش میگیریم و فقط میتونیم implement اش کنیم.
Forwarded from وب سایت آموزشی کدفلو (Hasan Noroozi)
https://b2n.ir/r07455

قسمت دوازدهم دوره فلاتر وب منتشر شد😍🤩🥳
نمایش تصاویر
پیاده سازی فرم ها

طراحی صفحه ثبت‌نام
@h_noroozi_t_96

حسن نوروزی عزیز تولدت مبارک🌹

این رو توی کانال گذاشتم که بچه ها بدونند امروز تولدته بتونند تخفیف توپی ازت بگیرند برای امروز 😂😂
Forwarded from وب سایت آموزشی کدفلو (Hasan Noroozi)
🎂🥳😚😍😍
تخفیفاتی برای دوره های فلاتر سایت اعمال شده که میتونین ازش استفاده کنین
Codeflow.ir
Forwarded from وب سایت آموزشی کدفلو (Hasan Noroozi)
سرفصل های آموزشی اولین وتنها دوره GetX فلاتر به زبان فارسی وب سایت کد فلو

مقدمات و دلیل استفاده

کار با snackBar و نمایش پیغام ها

نمایش bottom sheet ها و تغیر تم برنامه در أGetX

جابجایی بین صفحات و navigation ها به صورت کامل

کار با state management و مدیریت داده ها در برنامه با Obx (اشنایی با انواع متغیر ها)

کار با reactive state management

کار با انواع کنترل های reactive و اموزش simple state management

کار با worker ها و unique ID

چند زبانه کردن اپلیکیشن ها و internationalization

کار با Dependency Injection و Binding ها

گرفتن اطلاعات از api و نمایش ان با استفاده از GetX

اشنایی با GetView و GetWidget

پروژه ایجاد یک todo اپ به صورت کامل که با سرور در ارتباط هست و موارد زیر رو پوشش میده

📍 ثبت نام در اپلیکیشن
📍 اعتبار سنجی فرم ها
📍 ذخیره سازی اطلاعات لاگین حافظه لوکال
📍 گرفتن و نمایش موارد از سرور
📍 افزودن موارد
📍 حذف موارد
📍 ویرایش موارد
📍 جستجو در موارد اضافه شده

🛑🛑اگه مورد خاص دیگه مد نظر دوستان هستش بیان کنن که ما اضافه کنیم در این دوره فوق آلعاده


آدرس دوره Getx در فلاتر
http://codeflow.ir/UKvpS
Media is too big
VIEW IN TELEGRAM
تا حالا به این فکر کردید که چطوری بتونید پردازش های سنگین رو توی دارت هندل کنید بدون اینکه برنامه بسته بشه یا توی کار نرم افزار وقفه ای ایجاد بشه ؟


توی این ویدیو با isolate آشنا میشید که کار رو برای شما خیلی راحت انجام میشده


ویدیو رایگان از دوره فلیمو

codevolution.ir
Forwarded from Pure Coder
⚡️⚡️debug vs profile vs release⚡️⚡️

توی فلاتر سه حالت برای خروجی گرفتن و اجرا کردن اپ داریم.
✔️debug
✔️profile
✔️release

حالت release که برای خروجی گرفتن نهایی و انتشار اپلیکیشن هست.

ولی چه تفاوتی بین حالت debug و profile هست ؟

🔥یکی از نکات مهم این هست که برای تست پرفرمانس اپ و بررسی مشکلات احتمالی و به اصطلاح لگ هایی که ممکنه موقع کار با اپ پیش بیاد باید از حالت profile استفاده کنیم.

چرا؟

🔥یکی از دلایل این هست که در حالت debug برای کمک به روند توسعه و خطایابی بهتر تعداد زیادی assert هنگام اجرای کد های فریمورک اجرا میشه که باعث افت پرفرمانس اپ در حالت debug میشه که این assert ها در حالت profile و release هیچ تاثیری ندارن.

🔥پس برای تست پرفرمانس اپ به هیچ وجه از حالت debug استفاده نکنید چون که ۱۰۰ درصد نتیجه نادرست خواهد بود.

🔥نکته دیگه این که برای اینکه بهترین تست پرفرمانس رو داشته باشید از دیوایس واقعی استفاده کنید.
پس
Profile mode + Real device

🔥همچنین میتونید از ابزارهایی که فلاتر در حالت profile در اختیارتون میگذاره برای تست پرفرمانس اپ و... استفاده کنید.
👍1
Flutter Starter Project
GetX, GetStorage & Http Package Included

Sample is available

View project on github

#Flutter #GetX #Starter #Github
Become
ABBOTT
با موزیک کد بزن 😉
👍2