فلاتر کار
رفتن به کانال در Telegram
من ایمان سلیمان زاده می خواهم دانشمو در زمینه برنامه نویسی فلاتر در میون بذارم باهات ،پس من باش توی این کانال که باهم رشد کنیم ارتباط با من : @imansoleymanzadeh آدرس سایت: https://arcoapp.ir
نمایش بیشتر358
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
358
Repost from Persian Flutter
امشب گوگل #IO2023 رو در پیش داریم و مثل همیشه تیم فلاتر هم خبرهای خوبی رو تو این رویداد منتشر میکنه.
پس امشب با ما همراه باشید.
@PersianFlutter
358
سلام بچه ها
امید وارم که حالتون خوب باشه ❤️❤️
بچه یه موضوعی که واقعا باید بهش توی طراحی اپلیکیشن هامون توجه کنیم تجربه کاربری هست که واقعا می تونه توی انتقال حس خوب به کاربر موقع کار با اپ موئثر باشه
یه مقاله جامعه و کامل در رابطه با اهمیت تجربه کاربری در طراحی اپلیکیشن نوشتم که لینکشو براتون میذارم
358
سلام بچه ها
امید وارم که حالتون خوب باشه ❤️❤️
یه مقاله برای انتخاب نام مناسب برای اپلیکیشن نوشتم که لینکشو برتون میذارم
358
Repost from My Flutter Experience💙
⭕️ همین طور که میدونید از دیتابیس های که برای فلاتر میشه استفاده کرد hive محبوبیت زیاد و خاصی به خاطر راحتی و سهولت استفاده ازش داره .
من توی سه تا ویدیو کامل از مدل سازی ، نوشتن فانکشن های دیتابیس (CRUD) و نمایش محتوا های ذخیره شده داخل ui رو یه صورت کامل وپروژه محور توضیح دادم ،
حتی حذف و ویرایش آیتم هارو هم گفتم که چیزی برای استفاده از hive براتون مبهم نباشه
https://zaya.io/o25te
358
موافق گذاشتن مطالب عمومی مثل مثلا اهمیت تجربه کاربری در اپلیکیشن موبایل یا مثلا طراحی اپلیکشن اندروید یاios؟ هستید ؟؟
358
سلام بچه ها وقت بخیر
امید وارم که حالتون خوب باشه
خواستم نسخه رایگان چت gpt رو بهتون معرفی کنم که هیچ محدودیتی توی استفاده نداره تازه فیلتر هم نیست و فیلتر شکن هم نمی خواد
براتون لینکشو میذارم
358
Repost from My Flutter Experience💙
⭕️یکی از موارد مهم توی گیت مسیجی هستش که برای کامیت ها میزارید
این مقاله جالبی در این رابطه توضیح داده
https://4xmen.ir/%da%86%da%af%d9%88%d9%86%d9%87-%db%8c%da%a9-%d8%af%d8%b1-git-%db%8c%da%a9-commit-%d8%ae%d9%88%d8%a8-%d8%a8%d8%b2%d9%86%db%8c%d9%85%d8%9f/
358
Repost from My Flutter Experience💙
یکی از مهم ترین و bold ترین مواردی که توی اپدیت اخیر فلاتر خیلی بهش توجه شد ساپورت از material 3 یا اصلاحا m3 هستش .
زمانی که فعال کنید متوجه میشد که کلان شکل تمامی وجیت ها و انمیشن های دیفالتی که داشتن عوض شدن و بهتر و قشنگتر شدن
شما میتونید این اپشن توی MaterialApp فعال کنید توی پست بالایی اون شخص این کار انجام داده.
مورد جالب تر اینجاست که اگر تم خاصی نداشته باشید میتونید با مشخص کردن فقط یک پراپرتی به اسم
colorSchemeSeed
بیاید و بقیه اش رو به فلاتر بسپارید تا خودش براتون طبق این قوانین متریال رنگ دهی انجام بده 🤏😁
358
سلام بچه ها وقتتون بخیر
یکی از مواردی که شاید توی طراحی اپ هاتون وقتی طرح ui,ux نداشته باشیم به چالش بخورید انتخاب و ترکیب رنگه که توی یه مقاله درابطه با روانشناسی رنگ ها در طراحی اپلیکیشن موبایل حرف زدم که لینکشو میذارم براتون
358
Repost from Pure Coder
⚡️چرخه حیات State ، مختصر ، کامل و دقیق⚡️
1⃣mount
اولین بار که یک stateful ساخته میشه و توی درخت قرار میگیره متد های زیر از state به ترتیب اجرا میشن :
State Constructor
initState
didChangeDependencies
build
❌توی هر سه متد بالا به context دسترسی داریم و میتونیم با context کار کنیم.
برخلاف تصور و اشتباه رایج خیلی ها که میگن داخل initState به context دسترسی نداریم.
🔥فقط اگه میخاستیم به یه inheritedWidget وابسته بشیم مثلن theme.of رو صدا بزنیم این کار رو باید توی دو متد didChangeDependencies یا build انجام بدیم.
🔥همیچنین توی متد های بالا با استفاده از پروپرتی widget میتونیم به ویجت این State دسترسی داشته باشیم.
2⃣setState
هر بار که توی استیت setState صدا زده بشه متد build یکبار دیگه اجرا میشه.
3⃣update
هر بار که ویجت parent این stateful این ویجت رو با یه کانفیگ جدید اپدیت کنه متدهای زیر اجرا میشن :
didUpdateWidget (Widget oldWidget)
build
ویجت parent این ویجت اپدیت شده و child خودش که همین stateful ما هست رو با یه ویجت جدید از همین type اپدیت کرده (ویجت ها immutable هستن)
در نتیجه didUpdateWidget اجرا میشه که به state اطلاع بده که ویجتت اپدیت شده.
توی ورودی هم ویجت قبلی (stateful قبلی /oldWidet) رو بهش میده.
ویجت جدید هم از طریق پروپرتی widget قابل دسترسیه.
4⃣dependencies changed
اگه این ویجت به یه InheritedWidget وابسته شده باشه مثلن Theme.of رو با context خودش صدا زده باشه.
هر بار که اون InheritedWidget اپدیت بشه و این اپدیت شدن رو به درخت زیر خودش نوتیف بده متد های زیر به ترتیب اجرا میشن :
didChangeDependencies
build
5⃣deactivate
هر بار که ویجت parent این ویجت تصمیم بگیره این نقطه از درخت رو با یه ویجت جدید جایگزین کنه یا کلن این ویجت رو حذف کنه و دیگه این ویجت بدردش نخوره این ویجت رو غیر فعال میکنه و از درخت حذف میکنه و در این مرحله متد زیر اجرا میشه :
deactivate
🔥در این مرحله هنوز متد dispose اجرا نمیشه و فقط deactivate اجرا میشه.
6⃣activate
اگه به این ویجت یه GlobalKey داده باشیم بعد از deactivate شدن ممکنه یه جای دیگه از درخت (با یه parent) دیگه به یه ویجت از این نوع و همین GlobalKey نیاز داشته باشه.
در نتیجه این ویجت activate میشه و توی اون نقطه از درخت مورد استفاده قرار میگیره و parent اش نسبت به قبل تغییر میکنه.(این اتفاق یعنی پیوند زدن به یه جای دیگه درخت حتمن باید توی همین فریم اتفاق بیفته که ویجت deactivate شده)
درنتیجه متد زیر توی state اجرا میشه :
activate
بعد از این متد هم متد
build
اجرا میشه و اگه این ویجت توی اجرای قبلی به یه inheritedWidget وابسته شده باشه قبل build هم متد زیر اجرا میشه :
didChangeDependencies
پس یا :
activate
build
یا
activate
didChangeDependencies
build
بسته به شرایط اجرا میشن.
7⃣unmount
اگه بعد از deactivate شدن و تا پایان این فریم این ویجت به هیچ جای دیگه پیوند نخوره (GlobalKey نداشته باشه یا لازم نشه که پیوند بخوره) متد زیر اجرا میشه :
dispose
و state برای همیشه میره پی کارش و غیر قابل استفاده میشه.
❌پس بلافاصله بعد از متد deactivate متد dispose اجرا نمیشه.
یه فاصله ای بینشون هست.
فاصله خیلی کم و در حد میلی ثانیه هست ولی بین اجرای این دو فاصله هست.
🔥همیشه قبل از dispose متد deactivate اجرا میشه ولی الزامن همیشه بعد از deactivate متد dispose اجرا نمیشه.
پس :
🔥توی initState هم به context دسترسی داریم.
🔥وابسته شدن به InheritedWidget رو حتمن توی didChangeDependencies یا build انجام میدیم.
🔥توی متد های deactivate و dispose کارهایی که مربوط به context میشه رو انجام نمیدیم (چون widget tree اون موقع statble نیست و در واقع این ویجت parent خودش رو از دست داده و parent نداره)
🔥کارهایی مثل dispose کردن کنترلر ها و ... رو توی متد dispose انجام میدیم و نه deactivate چون بعد از deactivate ممکنه دوباره به درخت برگرده و reperent بشه.
🔥در صورتی که ویجت GlobalKey داشته باشه (فقط GlobalKey) ممکنه بعد از deactivate شدن reparent بشه و به یه parent دیگه پیوند بخوره و مجددن activate بشه(که در این صورت state حفظ میشه)
#state_life_cycle
358
Repost from آموزش برنامه نویسی فلاتر Flutter
پیاده سازی قابلیت کش Cache اطلاعات در فلاتر
▫️ پیاده سازی قابلیت کش ( Cache ) کردن اطلاعات باعث میشود کاربر در هنگام استفاده از اپلیکیشن تجربه بسیار بهتری داشته باشد.
کش کردن اطلاعات بصورت کلی به معنی ذخیره سازی موقت اطلاعات گوناگون بروی سیستم کاربر میباشد که در اینجا میتواند گوشی موبایل یا یک کامپیوتر باشد.
این قابلیت باعث میشود در هنگام استفاده از برنامه کاربر سرعت بیشتری را تجربه کند و از دریافت اطلاعات تکراری
جلوگیری میشود.
در این مقاله قصد داریم تا به پیاده سازی قابلیت کش کردن اطلاعات در فریمورک فلاتر بپردازیم.
🌐 مشاهده آموزش
⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
358
سلام بچه ها وقتتون بخیر 😊😊
بچه ها یه مقاله درباره موضوع مهم کاربردی برنامهنویسی غیرهمزمان در زبان دارت نوشتم که لینکشو براتون میذارم
این موضوع در ارتباط با سرور وapi کاربرد اصلیو داره و واقعا همه باید بهش مسلط بشن و درکش کنند
