بخش 1: مبانی فلاتر و دارت
این بخش بلوکهای اصلی فلاتر و دارت را معرفی میکند و به شما کمک میکند قبل از رفتن به موضوعات پیچیدهتر، یک پایه محکم ایجاد کنید.
مبانی دارت: در این مبحث، نحو دارت، ساختارهای کنترلی مانند حلقه ها و شرطی ها و اصول برنامه نویسی شی گرا (OOP) را بررسی خواهید کرد. درک این اصول برای نوشتن برنامه های کاربردی فلاتر ضروری است، زیرا دارت زبان اصلی مورد استفاده در توسعه فلاتر است.
معرفی و راهاندازی Flutter: در اینجا، میآموزید که فلاتر چیست و چگونه محیط توسعه خود را تنظیم کنید. سؤالات بر درک ویژگیهای اصلی Flutter، مانند ویژگی بارگذاری مجدد داغ، و مراحل مورد نیاز برای نصب Flutter و پیکربندی IDE تمرکز دارند.
ابزارکها و چیدمانهای اولیه: ویجتها قلب هر برنامه Flutter هستند. شما با ویجتهای معمولی مانند Text، Container، Row و Column کار خواهید کرد، و یاد میگیرید که چگونه رابط کاربری برنامه خود را ساختار دهید. این موضوع برای ساخت حتی ساده ترین برنامه ها ضروری است، بنابراین دانستن نحوه استفاده موثر از این ویجت ها بسیار مهم است.
نوشتن اولین برنامه شما: در این مبحث، شما بر ایجاد اولین برنامه Flutter خود تمرکز خواهید کرد، که معمولاً یک مثال "Hello World" است. این به شما تجربه عملی با راهاندازی یک پروژه، نوشتن کد، و دیدن اینکه چگونه ویجتها با هم ترکیب میشوند تا یک برنامه کاربردی را تشکیل دهند، میدهد.
بخش 2: توسعه فلوتر هسته
این بخش به جنبه های اساسی توسعه Flutter می پردازد. شما عناصر اصلی را پوشش خواهید داد که هر برنامه Flutter به آن متکی است، از ایجاد رابطهای کاربری گرفته تا مدیریت ورودی کاربر.
ویجتهای Stateless در مقابل Stateful: یکی از مهمترین تفاوتها در Flutter بین ویجتهای بدون حالت و Stateful است. شما تفاوت ها، نحوه پیاده سازی هر دو و زمان استفاده از هر نوع ویجت را بررسی خواهید کرد. درک این موضوع برای مدیریت رفتار برنامه شما و کنترل بهروزرسانیهای رابط کاربری آن بسیار مهم است.
Layouts و Flexbox: ایجاد طرحبندیهای واکنشگرا یک مهارت اصلی در توسعه Flutter است. شما بر روی استفاده از ویجتهایی مانند Row، Column و Flex تمرکز خواهید کرد تا طرحبندیهایی بسازید که به صورت پویا با اندازههای مختلف صفحه تنظیم شوند. همچنین برای کنترل بهتر بر توزیع فضا، با ابزارهایی مانند Expanded و Flexible کار خواهید کرد.
مدیریت ورودی کاربر: برنامهها باید با کاربران تعامل داشته باشند و مدیریت ورودی کلیدی است. شما با ویجتهایی مانند TextField و Button کار خواهید کرد تا ورودی کاربر را ضبط و تأیید کنید، یاد بگیرید چگونه دادههای فرم را مدیریت کنید و از ابزارهای اعتبارسنجی داخلی برای اطمینان از یکپارچگی دادهها استفاده کنید.
تشخیص ژست: این مبحث نحوه پاسخ Flutter به حرکات کاربر مانند ضربه زدن، کشیدن انگشت و فشار طولانی را پوشش می دهد. GestureDetector و سایر ویجتهایی را که به برنامه شما امکان میدهد به تعاملات کاربر در زمان واقعی واکنش نشان دهد، کاوش خواهید کرد.
ساختار درخت ویجت: درک درخت ویجت برای ساختن برنامه های پیچیده فلاتر بسیار مهم است. شما بر نحوه چیدمان ویجت ها به صورت سلسله مراتبی و اینکه چگونه روابط والدین و فرزند بر طرح و رفتار برنامه تأثیر می گذارد تمرکز خواهید کرد. این دانش به شما کمک می کند برنامه هایی بسازید که نه تنها کاربردی هستند، بلکه مقیاس پذیر نیز هستند.
بخش 3: مدیریت و ناوبری ایالت
مدیریت ایالتی یکی از چالش برانگیزترین و در عین حال ضروری ترین مفاهیم در فلاتر است. این بخش بر نحوه مدیریت موثر وضعیت برنامه و پیمایش بین صفحهها تمرکز دارد.
مبانی مدیریت ایالت (setState، Local State): در اینجا، نحوه به روز رسانی UI برنامه خود را با مدیریت حالت محلی با setState یاد خواهید گرفت. این مفهوم اساسی به شما امکان می دهد ظاهر برنامه خود را بر اساس تعامل کاربر یا تغییرات داده تغییر دهید.
Provider for State Management: Provider یک بسته محبوب برای مدیریت کارآمد ایالت در سراسر برنامه شما است. با تمرکز بر نحوه راهاندازی ارائهدهندگان، گوش دادن به تغییرات و بهروزرسانی رابط کاربری بر اساس تغییرات وضعیت جهانی، به نحوه عملکرد آن خواهید پرداخت.
مدیریت پیشرفته حالت (Riverpod، Bloc): در برنامههای پیچیدهتر، ممکن است به راهحلهای پیشرفتهتر مدیریت حالت مانند Riverpod یا Bloc نیاز داشته باشید. این مبحث به بررسی این جایگزینها میپردازد و به شما کمک میکند بفهمید که چه زمانی و چرا باید از آنها نسبت به راهحلهای سادهتری مانند Provider استفاده کنید.
مبانی ناوبری (فشار، پاپ): پیمایش بین صفحههای مختلف یکی از ویژگیهای اصلی هر برنامه تلفن همراه است. شما یاد خواهید گرفت که چگونه از Navigator.push و Navigator.pop برای جابجایی بین مسیرها و مدیریت موثر پشته های پیمایش استفاده کنید.
ارسال داده ها و مسیرهای نامگذاری شده: برنامه های پیچیده تر اغلب به انتقال داده ها بین صفحه ها و استفاده از مسیرهای نامگذاری شده برای کد پاک تر نیاز دارند. راهاندازی مسیرهای نامگذاری شده و ارسال دادهها را تمرین میکنید تا مطمئن شوید که جریان ناوبری برنامهتان روان و کارآمد است.
بخش 4: شبکه و داده های پایدار
واکشی داده ها از اینترنت و ذخیره آن به صورت محلی یک ویژگی حیاتی در اکثر برنامه ها است. این بخش شبکه، برنامه نویسی ناهمزمان و تداوم داده را پوشش می دهد.
شبکهسازی (واکشی دادهها، JSON Handling): نحوه ایجاد درخواستهای HTTP، واکشی دادهها از APIها و تجزیه JSON در Flutter را بررسی خواهید کرد. این برای ساخت برنامههایی که با سرویسهای خارجی تعامل دارند، مانند واکشی دادههای آبوهوا یا بارگیری محتوا از یک سرور راه دور، حیاتی است.
برنامه نویسی همگام (آینده، ناهمگام/انتظار): کار با کد ناهمزمان در Flutter ضروری است، به خصوص زمانی که با درخواست های شبکه یا عملیات وقت گیر سروکار دارید. یاد خواهید گرفت که چگونه با استفاده از Future، async و await، برنامهنویسی همگامسازی را مدیریت کنید و مطمئن شوید که برنامه شما در طول عملیات طولانی پاسخگو باقی میماند.
پایگاه داده SQLite: این موضوع بر استفاده از SQLite برای ذخیره سازی داده های محلی تمرکز دارد. شما انجام عملیات CRUD (ایجاد، خواندن، بهروزرسانی، حذف) را در یک پایگاه داده محلی تمرین میکنید و به برنامهتان اجازه میدهید تا دادهها را حتی بدون اتصال به اینترنت ذخیره و بازیابی کند.
یکپارچه سازی Firebase (احراز هویت و Firestore): Firebase یک سرویس پشتیبانی قدرتمند است که در بسیاری از برنامه های تلفن همراه استفاده می شود. شما نحوه ادغام احراز هویت Firebase و پایگاه داده Firestore را در برنامه خود بررسی خواهید کرد که امکان ورود کاربر و ذخیره داده مبتنی بر ابر را فراهم می کند.
صفحه بندی و پیمایش بی نهایت: مدیریت کارآمد مجموعه داده های بزرگ یک چالش در توسعه تلفن همراه است. شما یاد خواهید گرفت که چگونه صفحه بندی و اسکرول بی نهایت را پیاده سازی کنید، به برنامه شما اجازه می دهد تا زمانی که کاربران در لیست های طولانی پیمایش می کنند، داده ها را به صورت پویا بارگیری کند.
بخش 5: رابطهای کاربری تطبیقی، انیمیشنها و ویژگیهای دستگاه
این بخش بر ساختن برنامههایی تمرکز دارد که با دستگاهها و اندازههای صفحهنمایش متفاوت سازگار هستند و از طریق انیمیشنها و استفاده از ویژگیهای دستگاه بومی جذابتر میشوند.
پاسخگویی (MediaQuery، LayoutBuilder): شما یاد خواهید گرفت که چگونه رابط های کاربری پاسخگو ایجاد کنید که بر اساس اندازه و جهت صفحه نمایش دستگاه تنظیم می شوند. ابزارهایی مانند MediaQuery و LayoutBuilder به شما کمک میکنند برنامههایی را ایجاد کنید که هم در تلفنهای همراه و هم در تبلتها عالی به نظر برسند.
تم ها و استایل سفارشی: استایل ثابت کلید برنامه های حرفه ای است. نحوه پیادهسازی تمهای جهانی و سبکهای سفارشی را در برنامهتان، از جمله مدیریت حالت تاریک و تنظیم فونتها و رنگهای پیشفرض، بررسی خواهید کرد.
انیمیشنهای ضمنی (AnimatedContainer، AnimatedOpacity): افزودن انیمیشنها باعث میشود برنامه شما جذابتر و جذابتر شود. شما با انیمیشن های ضمنی مانند AnimatedContainer و AnimatedOpacity کار خواهید کرد تا بدون نیاز به کد پیچیده، انتقال های صاف را اضافه کنید.
انیمیشنهای واضح (AnimationController، Tween): برای کنترل بیشتر روی انیمیشنها، انیمیشنهای واضح را بررسی خواهید کرد. این موضوع استفاده از AnimationController و Tween را برای ایجاد انیمیشن های پیشرفته تر و سفارشی در برنامه شما پوشش می دهد.
انیمیشنهای قهرمان: انیمیشنهای قهرمان، انتقال یکپارچه بین صفحهها را با متحرک کردن عناصر مشترک فراهم میکنند. شما پیاده سازی انیمیشن های Hero را برای ایجاد انتقال صاف و جذاب بین صفحات تمرین خواهید کرد.
استفاده از ویژگی های دستگاه (دوربین، موقعیت جغرافیایی): Flutter به شما امکان می دهد به ویژگی های دستگاه بومی مانند دوربین و خدمات موقعیت جغرافیایی دسترسی داشته باشید. شما یاد خواهید گرفت که چگونه این ویژگی ها را در برنامه خود ادغام کنید و آن را کاربردی تر و تعاملی تر کنید.
اعلانهای فشاری (FCM): اعلانهای فشاری ابزاری قدرتمند برای جذب کاربران هستند. نحوه راهاندازی Firebase Cloud Messaging (FCM) را برای ارسال اعلانهای فشار به برنامهتان بررسی میکنید و کاربران را حتی زمانی که برنامه اجرا نمیشود در جریان قرار میدهد.
بخش 6: فلوتر برای وب، آزمایش و استقرار
در این بخش آخر، بر گسترش مهارتهای Flutter خود در توسعه وب، آزمایش برنامه خود و آمادهسازی آن برای استقرار تمرکز خواهید کرد.
Flutter برای مرور کلی و سازگاری وب: Flutter فقط برای برنامه های موبایل نیست. همچنین قادر به ساخت برنامه های تحت وب است. تفاوتهای بین توسعه وب و تلفن همراه در Flutter و نحوه تطبیق کد خود برای کار یکپارچه در وب را بررسی خواهید کرد.
تست واحد و ویجت: تست برای حفظ کد با کیفیت بسیار مهم است. نوشتن تستهای واحد و ویجت را با استفاده از بسته flutter_test تمرین میکنید، مطمئن میشوید برنامهتان مطابق انتظار عمل میکند و اشکالات را قبل از استقرار کاهش میدهد.
تست یکپارچه سازی: تست های یکپارچه سازی تعاملات کاربر را شبیه سازی می کنند تا اطمینان حاصل شود که برنامه شما همانطور که در سناریوهای دنیای واقعی در نظر گرفته شده است کار می کند. یاد خواهید گرفت که چگونه تست های یکپارچه سازی بنویسید تا آزمایش گردش های کاری پیچیده در برنامه خود را خودکار کنید.
اشکال زدایی و DevTools: اشکال زدایی یک مهارت کلیدی برای هر توسعه دهنده ای است. مجموعه ابزار DevTools Flutter را کاوش خواهید کرد و نحوه بازرسی ویجتها، تجزیه و تحلیل عملکرد و شناسایی مشکلات کد خود را یاد خواهید گرفت.
آمادهسازی برنامهها برای انتشار: در این مبحث، مراحل نهایی توسعه برنامه - آمادهسازی برنامه خود را برای انتشار پوشش خواهید داد. این شامل امضای فایلهای APK، بهینهسازی عملکرد برنامه شما، و استقرار آن در فروشگاه App و Play Store میشود.
مربی
نمایش نظرات