از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 67 آموزش فلاتر، مدرس با ایجاد یک پروژه جدید با نام 'شاپینگ لیست' شروع میکند تا یک اپلیکیشن لیست خرید ساخته شود. در این جلسه، مدل دادههای مرتبط با کتگوری و آیتمها طراحی میشوند و در فایلهای جداگانه در دایرکتوری مدل قرار میگیرند. همچنین، از کلاسهای قبلی استفاده میشود تا ساختار صفحه اپلیکیشن به صورت دینامیک ایجاد گردد.
نکات کلیدی
ایجاد پروژه جدید در فلاتر با نام 'شاپینگ لیست' برای ایجاد اپلیکیشن لیست خرید.
طراحی مدل دادههای مرتبط با کتگوری و آیتمها و قرار دادن آنها در دایرکتوری مدل.
استفاده از کلاسهای قبلی برای ساختاردهی صفحه اپلیکیشن به صورت دینامیک.
ساختار دادهها به گونهای طراحی میشود که قابل استفاده و قابل ارثبری باشند.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
برای ایجاد پروژه جدید در فلاتر، نام پروژه مانند 'شاپینگ لیست' انتخاب میشود و سپس با استفاده از دستورات مربوط به فلاتر، پروژه ایجاد میگردد.
مدل دادهها در دایرکتوری مدل قرار میگیرند و به صورت جداگانه فایل میشوند تا ساختار و قابلیت استفاده آنها بهتر باشد.
کلاسهای قبلی مرتبط با کتگوری و آیتمها استفاده شدهاند تا ساختار صفحه اپلیکیشن به صورت دینامیک ایجاد گردد.
آخرین بهروزرسانی محتوای متنی:
در این دوره جامع و پروژهمحور با فلاتر و دارت از صفر تا صد آشنا میشوید و با ساخت هشت اپلیکیشن واقعی که هر کدام نکات کلیدی و پرکاربرد فلاتر را پوشش میدهد، مهارتهای خود را به سطح بعدی میبرید. آنچه در این دوره یاد میگیرید: مقدمه و نصب ابزارها: آشنایی با فلاتر، دارت و راهاندازی محیط توسعه مبانی دارت و فلاتر: یادگیری سینتکس دارت و ساخت ویجتهای پایه با اپ «تاسانداز (Roll Dice)» غوطهوری در فلاتر: پیادهسازی اپ «کوئیز (Quiz)» برای مسلط شدن بر ساختار و چرخه حیات ویجتها دیباگ و رفع اشکال: تکنیکهای عیبیابی و ابزارهای Flutter DevTools واکنشگرایی و تمینگ: ساخت «Expense Tracker» برای یادگیری ویجتهای تعاملی، موضوعبندی (Theming) و طراحی ریسپانسیو مدیریت وضعیت (State Management): از Provider تا روشهای داخلی دارت با اپ «TODO» و «Meals» مسیریابی بین صفحات: ناوبری پیشرفته با «Meals App» و انتقال داده بین صفحات انیمیشنها و جلوههای بصری: افزودن حرکات پویا و تراکیب انیمیشنی در «Meals App» فرمها و ورودی کاربر: دریافت و اعتبارسنجی اطلاعات با «Shopping List» ارتباط با سرور: ارسال و دریافت HTTP، کار با JSON و REST API در «Shopping List» دسترسی به امکانات بومی دستگاه: استفاده از دوربین و ذخیرهسازی در «Favorite Places» فراخوانی پوش نوتیفیکیشن و چت زنده: ترکیب فلاتر با Firebase برای ساخت اپ چت با اعلان لحظهای بهروزرسانیها و چشمانداز آینده: نکات پایانی، منابع پیشرفته و مسیر یادگیری ادامهدار چرا این دوره؟ پروژهمحور و گامبهگام، مناسب برای تازهکارها و افراد با تجربه متوسط پوشش تمام جنبههای کلیدی: از طراحی رابط کاربری و انیمیشن تا اتصال به سرور و مدیریت وضعیت پیادهسازی چندین اپلیکیشن واقعی که میتوانید به سادگی برای نمونهکار شخصی یا پروژههای شغلی استفاده کنید لینک گیت هاب دوره جهت دسترسی به کد پروژه های هر فصل https://github.com/pistaacademy/flutter 🔔 همین حالا سابسکرایب کنید تا ویدیوهای آینده را از دست ندهید و یادگیری فلاتر را با هم شروع کنیم!
کنیم. بریم سراغ ساختن یه اپلیکیشن جدید و
شروع بکنیم یه اپلیکیش درست بکنیم رو اون
باید کار بکنیم.
خب میایم اینجا میگم که فلاتر
کریت یه اسم براش بذارید هیچ فرقی هم نمیکنه
میذارم شاپینگ لیست مارد لیست خرید این
اپلیکیشنی که میخوایم درست کنیم
من ویدیو رو پاز میکنم تا این کاراش
انجام بشه برمیگردم
[صدای خرناس] خب سی دی میکنم داخل
اینو و ویژوال استادیو کدو اینجا باز میکنم.
خب اینو باز میکنم. این یکیو میبندمش دیگه. خب این یه پروژه خامه. در حقیقت
فلاتر.
میام تو. دارت. خب
بین بذارین. باشه. حالا من برمیگردم اینا رو درست میکنم.
خوبه اشاالله چقدرم زیاده. حالا برمیگردیم [گلویش را صاف میکند] بریم سراغش.
بریم شروع بکنیم. میخوام یه صفحهای درست
کنم بچهها. خب یه همچین شکل و شمایی
داره. بذارید من اینو بکشم.
عرض کن میخوام یه همچین چیزی درست کنیم مثلاً فرض کن این یه صفحه موبایله
میخوام یه سری باکس اینجا بذارم مثلاً یه رنگ آبی
بذارم اینجا یا
بعد اینا هر کدوم یه اسمی داره مثلاً فرض کنین لیست خریده دیگه مثلاً اولی فرض کنین
شیر
همه رم بذارید مشکی میکنم
جلوشم تعداد بزنم مثلاً اینجا بزنم یه دونه مثلاً اینجا بزنم مثلاً ۵ تا اینجا
بزنم مثلاً چه میدونم د تا یه دونه وایست
یه همچین صفحهای رو میخوایم درست بکنیم.
خب ما چی داریم بچهها؟ هر کدوم از این
چیزایی که تو صفحه دارید میبینی یک
آیتمه. خب یک دیتاییه که یه رنگ داره، یه
تایتل داره، یه تعداد داره. درسته؟ این
میشه بچهها بعد دارم مدلمونو طراحی
میکنم. اول یکی از کارایی که ما باید
ابتدا انجام بدیم طراحی مدمونه. دیتامون
باید چه شکلی باشن.
خب
خب برگردم اینجا من اول این معینمو یه ذره
برتمیزیش بکنم
اینا رو پاک میکنم فعلاً
اینجا من یه چیزی بنویسم برا صفحه اپلیکیشنمون یه تایتل براش میذارم
[صدای خرناس] یه
تم دیتاکت
میایم اینجا یوز متریال تری میذارم ترو رو
خب [صدای خرناس] کالر اسکیما دا
فرمسیت
این تنظیمات اولیه پروژهمونو انجام بدیم خب
سیت کرست
ایجی پی بعد میرا رو بهش بدیم
سرفس کاست
خب خب بعد میام پایین
اسکفورد برای بکگراند آره دقیقا همینو میخوام کاست
که یه هومم اینجا باید بذارم. فعلاً چیزی
نمیذارم تا برم برگردم هومو درست کنم. خب
این از صفحه اصلیمون. حالا بریم سراغ مدلی
که گفتم میخوایم درست بکنیم.
اول بریم یه
پوشه دیتا من اینجا درست کنم. خب
کامین لیپ
داخلش د تا دیتا خودم دسته درست میکنم یکی دیتا کتگوریامه
خب چه کتگوریهایی داشته باشم د یه دونه هم مثلاً یه دامی دیتا یا دام
آیتم همون چیزی که تو پروژه قبلی هم
داشتیم دامی مثلاً آیتمز اینجا میذاریم
یه دیتا اولیهست برای اینکه پروژهمون بیاد بالا بعداً قراره دیتا رو از یوزر بگیریم
بچهها خب
توی دامی آیتمز میگم که کانست یه سری دیتا
همینجوری میذارم
مثلاً یه آیدی بهش میدم مثلاً A یه نیم بهش میدم
مثلاً میلک
یه دونه کوانتیتی بهش میدم یادتون باشه همه اینا رو داشت دیگه کوانتیتی مثلاً یه
دونه
بعد یه کتگوری بهش میدم
که میره
فعلاً در همین حد بسته
یه دیتا کافیه این چرا اینجا بسته شد
درسته خب این فعلاً اینجا داشته باشیم
حالا بعدم میایم دتا بیشتر میزنیم
اما تو کتگوریز
خب اینجا
یه سری آبجکت این کتگوری بچهها همینی که از اینجا آوردن اینا اینه
میگم که
کتگوری سی بزرگ بنویسم
حالا میایم راجع به اینا صحبت میکنیم بچهها من فقط اول دیتای خامو بنویسم
کالرشم میره از فرام ایآر جی بی۵
۵ ص۰ ۲۵ ۱۲۸
خب این از این حالا بیم مدل اینو درست بکنیم ما یه مدل کتگوری باید درست کنیم
بچهها یه مدل برای این باید درست کنیم خب
یه مدلم برای کتگوری آیتم یا گروسری آیتم
باید درست کنیم یعنی د تا مدل داریم ما
باید ازشون اینجا استفاده کنیم خب بریم سراغ مدلمون
یه دایرکتوری توی لیب درست میکنم به نام
مدل
تمام مدلهاو میذارم اینجا خب
اولین مدلی که نیاز داریم مدل کتگوریه خب
یه مدل برای این لازم داریم
خب میام میگم که اینا اول یه لیستی از کتگوریا درست میکنم که از این فقط دیگه
استفاده بکنن خارج از این کتگوری تعریف
نکنن
مثلاً این کتگوری دارم وجیبل سبزیجات
مید بعد دری مثلاً
دیگه ‏Eh
یه میذاریم تب آخرش که اگه چیزی جز اینا نبود بره توی آدر خب پس ما گفتیم که یه
دونه لیست درست میکنیم لیست اینام درست
میکنیم که این اسما همه از اونجا بیاد
یعنی چیزی خارج از این کسی انتخاب نکنن
حالا بریم سراغ
کتگوری یعنی مدل کتگوریمونو درست بکنیم
میام همین جا پایین کلس از
کتگوری
یه دونه تایتل داره
هر کتگوری خب یه دونه تایتل داره ایناش
درسته یه دونههم رنگ داره
پس کانست کتگوری کانستکتورشو درست کنیم.
تایتل.
خب این از کلاس کتگوریمون خب حالا بریم اینو
اینجا ایمپورت کنیم که این کتگوری رو
بفهمه از کجا اومده مدلشپینگ
لیست برو توی مدل کتگوری خب الان دیتیک کرد که این کتگوری که من
اینجا نوشتم منظورم مدل کتگوریه اوکی حالا
بریم سراغ
این چی میگه
اینولید کانست نه چرا اینولید کانست کانسته دیگه
نه یه یه دونه اینجا هم چیز میخواد اینو میخواد خیلی رو این چیزا حساسه یعنی باید
اینا همش هواشون باسه خب بریم سروقت
کتگوری آیتممون خب ما
اینجا یه
لیستی از گروسری آیتمم داریم برای اینم
باید یه مدل درست کنیم نگاه کن اسم مدلشم
اینه گروسری آیتم خب میایم اینجا توی مدلم
یه فایل جدید درست میکنم اسمشو میذارم
خب من این ویدیوها رو نزدیک ساعت ۵ صبح دارم
ضبط میکنم یه مقدار تازه از خواب بلند
شدم خب بریم سراغ مدل گرسر آیتممون که چه
ویژگی باید داشته باشه
باید
یه آیدی داشته باشه یه اسم یه کوانتیتی
بعد تازه از کلاس کت کتگوری هم استفاده
میکنه اینم توش داره
خب مدلمونو دیزاین بکنیم و بریم سراغ
ادامش
چون قراره که ما از کتگوری هم استفاده بکنیم توی این مدل کتگوری ایمپورتش بکنید
اینجا
شاپ پین لینز مدل کتگوری
حالا میایم اینجا میسم کلاسک
گروسری آیتم همین اسمی که بچهها اینجا گذاشتیم کوشش تو دامی دیتا اینا
همین اسم باید اینجا داشته باشه
بذارید اسمشو اسمشو بردارم گروسری آیتم آ نه نه این اس داره این
نداره ببخشید
سوتی من بود خب بیایم اینجا
چیا داشتیم یه استرینگ داشتیم آیدی بود
یه دونه از جنس کتگوری مدل کتگوری داشتیم که اسمش کتگوری بود
خب بریم اینو رو ایمپورتش کنیم اینجا که این خطاش بره
پکج شاپین لینت برو توی مدل مدل اینو بیار خب
این چی میگه میگه که
کتگوری رم باید بیاریم بچهها اینجا مدل
کتگوریزم باید بیارید
خب و
چیزو یادم رفت بچهها خود کتگوری دیتا م یادم رفت چون داره از اون میره میخونه
از دیتا از این داره میگیره دیگه اینو داره از اونجا میگیره
خب
این چی میگه الان
آها میگه دیگه کانس نباید بذاری
پشت این
راستم میگه چون دیگه داینامیکه
میذارمش فاینال
میگه دیلی نداریم بذار شقت املایی داریم توی یه کتگوری مدلمون کدوم اینجا
دارم دیگه اینا
آها متریالو ایمپورت نکردیم
به خاطر این داره میگه من کالرو نمیشناسم خب اینم از این دیگه خطا باز داریم ای
بابا
یعنی چی حالت املایی هم نداره درسته
لا لا لای دیدی دید
فهمیدم من توی اینجا لیست اسم لیست اینام گذاشتم کتگوریز اینجا گفتم کتگوری
به خاطر اینه خب این از حالا بریم یه سری
دیتا دیگه اضافه کنم من به این خب مثلاً
یه دونه نباشه بیشتر باشه و برگردم
خب من دیتاو بیشتر کردم بچهها اینو
خودتونم انجام بدید اینا رو اضافه کنید خب
توی گرس آیتیم یه شیر اضافه کردم یه دونه
موز یه دونههم بیف استیک توی کتگوریزم
بچهها من اینا رو همه رو اضافه کردم
سبزیجات فروز گوشتی کار سوئیس اینا رو
خودتون دسته اضافه کنید اسپایس کامبینیس
هایجن و آدر اینا رو همه رو اضافه کردم یه
رنگم به هر کدوم دادم لیست کتگوریامه اینم
لیست آیتمامه
بریم بیایم بداش جلسه بعدی صحبت کنیم
فعلاً خداحافظ بس