Search
Generic filters

اینستاگرام رامان صفر و یک
طراحی و پیاده سازی انواع وب سایت و سیستم های تحت وب

آخرین مقالات

محصولات

برچسب ها

برچسب‌ها

ASP.NET backend frontend php PHP و ASP.NET PHP یا ASP.NET استراتژی طراحی وب سایت استفاده از کتابخانه PdfView اسلایدر افقی در اندروید اسلایدر افقی در برنامه نویسی اندروید الگوی معماری MVC برنامه نویس حرفه ای وب برنامه نویسی برنامه نویسی وب تجربه کاربر (UX) توسعه دهنده وب توسعه دهندگان وب توسعه وب حل مشکل اتصال به دیتابیس آنلاین در اندروید 8 به بالا داشتن نرم افزار های موفق درآمد برنامه نویسی دریافت نکردن اطلاعات از سمت سرور در اندروید رسم نمودار در برنامه نویسی اندروید رسم نمودار در برنامه نویسی اندروید با کتابخانه MPAndroidChart روش ایجاد اسلایدر افقی در برنامه نویسی اندرود سمت سرور سمت کلاینت شروع برنامه نویسی موبایل طراح UI طراح UX طراحی UX و UI طراحی UX یا UI طراحی استراتژیک وب طراحی رابط کاربر (UI) طراحی وب طراحی وب سایت عدم اتصال به دامنه های http در اندروید فروش موفق نرم افزار مدل کلاینت-سرور موفقیت در دنیای نرم افزار نشان دادن فایل های pdf در برنامه نویسی اندروید نمایش pdf در موبایل چکونه برنامه نویسی موبایل را شروع کنیم ؟ کتابخانه PdfView گرفتن اطلاعات گوشی اندرویدی در برنامه نویسی

در این مقاله سعی بر این دارم تا شمارو با یکی از مهم ترین میحث ها در فلاتر آشنا کنم.

یکی از اساسی ترین موارد در فلاتر مدیریت State و یا حالت می باشد.

برای مدیریت کردن State ها یک سری راه و روش وجود دارد که من در این مقاله برای شما بازگو می کنم.

با من همراه باشید تا به طور مفصل در این رابطه آشنایی پیدا کنید.

در ابتدا باید یک سری توضیحات در ارتباط با موضوع مقاله به شما دوستان عرض کنم.

State چیست؟

اگر یک برنامه نویس باشید می دانید که صفحات موجود در فلاتر یک چرخه حیات دارند, و در هر یک از این صفحات یک سری اطلاعات و یا ویجت ها داریم که مداوم در حال ساخته شدن هستند.

پس خیلی ساده بگم به اطلاعاتی که در این صفحات و چرخه تغییر می کند State گفته می شود.

خب در ادامه به این بپردازیم که چگونه State هارو در فلاتر مدیریت کنیم.

مدیریت State چیست؟ چرا ما به مدیریت State نیاز داریم؟

قطعا برنامه های خواهید نوشت یا از قبل نوشته اید پیچیده هستند و برای مدیریت عملکرد و رفع باگ های به وجود آمده باید State های را که ایجاد می کنید قابل کنترل و بررسی باشد.

فلاتر برای راحتی کار مدیریت یک سری State های پیش فرض پیشنهاد داده است که عبارت اند از:

  • stateless
  • StatefulBuilder 
  • stateful

که برای مدیریت State های موجود در هر صفحه می توانید از ویجت های بالا استفاده کنید البته لازم به ذکراست که یک سری کتابخانه هایی برای مدیریت وجود دارند که در آینده در آموزش مجازی تک تک این کتابخانه هارو باهم بررسی می کنیم.

Stateless چیست؟

اگر بخواهم بسیار ساده برای شما عزیزان توضیح دهم بدین صورت می باشد که در صفحه که داریم کدنویسی انجام میگرد اگر نیاز نداشته باشیم که مقدار های مشخصی پس از هر بار عملیات تغییر نکند باید از Stateless استفاده کنیم

Stateful چیست؟

درست با تعریفی که در بالا آورده شده متفاوت می باشد, یعنی اینکه اگر شما به این ویژگی نیاز دارید که همیشه یک سری مقادیر باید مرتب تغییر کند باید از Stateful استفاده کنید.

دوستان اگر بخواهم مفاهیم را بصورت دقیق تر برای شما بازگو کن بدین صورت میشود که اگر شما در صفحه ی که دارید قرار باشد آیتم ها ی موجود در لحظه بروزرسانی و آپدیت شود باید از ویجت Stateful  استفاده کنید.

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

ویجت Stateless کاملا با توضیحاتی که در بالا داده شده متفاوت عمل می کند یعنی اینکه ویجت های موجود در صفحه قابل بروزرسانی نمی باشد.

State Management به چه سوالاتی پاسخ می دهد؟

  1. چگونه موقعی که کاربر محتویات صفحه را برزورسانی می کند به درستی نمایش دهم؟
  2. چکار باید بکنم موقعی که دیتا و اطلاعات جدید از سرور دریافت می کنم؟
  3. چگونه برای دریافت اطلاعات از سمت سرور درخواست ارسال کنم تا بتوانم مقداری را بروزرسانی کنم؟
  4. چگونه از صفحه دیگر محتویات صفحه دیگری را بروزرسانی و نمایش دهم؟

همانطور که سوالات بالا را مشاهده می کنید همه و همه نیازمند این می باشد تا که برنامه ی ما یک مدیریت state صحیح داشته باشد.

در تصویر زیر یک شماتیکی از گفته های مشخص می باشد.

لیستی از تکنیک های موجود برای State Management

  • Provider
  • InheritedWidget & InheritedModel
  • SetState
  • Redux
  • Fish-Redux
  • BLoC/Rx
  • Flutter Commands
  • GetIt
  • MobX
  • Riverpod
  • Ge

همانطور که در بالا اشاره شد در آموزش مجازی به تک تک این موارد می پردازیم و با مثال کاربردی برای شما توضیح خواهد داده شد.

مثال کاربردی

لازم دانستم که در این قسمت یک مثال را به صورت جزء جزء برای شما برنامه نویسان عزیز توضیح دهم.

برای مثال فکر کنید که یک اپلیکیشن خرید داریم.

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

در این مثال مشاهده کردید که هر لحظه کاربر در حال اعمال تغییراتی می باشد که باید در هرصفحه تغییراتی اعمال شود و یا اینکه اطلاعاتی بین صفحات جابجا شود.

نتیجه گیری

در این مقاله سعی شد که شما برنامه نویسان عزیز را با مفهوم مدیریت State آشنا کنم و لزوم استفاده را برای شما با توضیحات و مثال آشنا کنم.

شما در هر پروژه ی نیازمند این هستید که از یکی از تکنیک های مدیریت State استفاده کنید.

در ادامه با من همراه باشید تا با تک تک این تکنیک ها آشنا شوید و براحتی در پروژه هاتون استفاده کنید.

منتظر نظرات شما همراهان عزیز هستم.

آموزش ویجت Column,Row در فلاتر را مطالعه کنید!

حامد عقیلی _ گروه نرم افزاری رامان صفر و یک

۲ دیدگاه. ارسال دیدگاه جدید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید

آخرین مقالات منتشر شده

آخرین آموزش های کوتاه