سلام استاد خسته نباشید استاد تا اینجا دوره عالی بود به امید روزی که بتونم محبتاتونو جبران کنم😍😍😍❤️😎
اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
فلاتر (Flutter) چیست؟
فلاتر (Flutter) یک کیت توسعه نرم افزار (SDK) منبع باز است که توسط Google ایجاد شده است. این برنامه توسعه دهندگان را قادر می سازد تا برنامه های کامپایل شده بومی برای موبایل، وب و دسکتاپ را از یک پایگاه کد واحد بسازند. با Flutter ، می توانید رابط های کاربری جذاب و با کارایی بالا بسازید که به طور یکپارچه در دستگاه های iOS و Android اجرا می شوند. فلاتر مجموعه ای قدرتمند از ابزار ها و ویجت های همراه با یک فریم ورک است که به توسعه دهندگان این امکان را می دهد تا تجربیات کاربری تعاملی و همه جانبه ای ایجاد کنند.
معرفی دوره آموزش فلاتر (Flutter)
دوره ی آموزش فلاتر (Flutter) همه ی چیز هایی را که لازم است در مورد Flutter بدانید، بررسی خواهد کرد. این دوره به معنای واقعی از صفر شروع می شود اما باید بگویم که تا 100 نخواهد رفت! زیرا در برنامه نویسی صدی وجود ندارد، اما به شما قول می دهم هرآنچه که مربوط به فلاتر و ورود به بازار کار از طریق آن است، را در این دوره ارائه کرده ایم.
ابتدا با مفاهیم اولیه و اینکه چرا فلاتر را انتخاب کرده ایم شروع خواهیم کرد. سپس در رابطه با بازار کار آن و رابط های کاربری و ویجت ها صحبت خواهیم کرد. بعد از اینکه به خوبی مفاهیم را فرا گرفتید، به سراغ پروژه ها خواهیم رفت. این دوره مختص افرادی است که به دنبال دوره های پروژه محور هستند. چون از فصل دوم به بعد در هر فصل یک پروژه را انجام خواهیم داد.
قیمت آنلاین ارز، برنامه مسافرت، برنامه ریزی روزانه، پخش کننده پادکست و موسیقی، فروشگاه، پخش کننده ویدیو (مانند یوتیوب) و مسیریاب و ده ها مینی پروژه دیگر، از جمله پروژه هایی هستند که در دوره آموزش فلاتر باهم پیش می بریم. همچنین لابه لای این ها به آموزش کار با سرور، دیتابیس، GetX، Git و هر چیزی که فکرش را بکنید خواهیم پرداخت.
لازم به ذکر است که پروژه ها را با استفاده از Git به صورت تعاملی و تحت نظارت مدرس انجام خواهیم داد که سرعت یادگیری شما را چندین برابر می کند. در آخر هم یک سورپرایز برای شما عزیزان وجود دارد که یک پروژه ی جامع به انتخاب دانشجویان را تکمیل می کنیم. گفتنی است که این دوره تمام نخواهد شد و به صورت مادام العمر، هر آپدیتی که در Flutter اتفاق بیافتد را کاملا رایگان پشتیبانی می کند. در مجموع خیالتان از بابت کامل بودن دوره راحت باشد.
کاربرد های فلاتر
فلاتر یک پکیج همه کاره است که می تواند برای اهداف مختلفی استفاده شود. در اینجا برخی از زمینه های کلیدی را آورده ایم که Flutter کاربرد گسترده ای در آن ها دارد:
-
توسعه اپلیکیشن موبایل: فلاتر در ساخت اپلیکیشن های موبایلی با کیفیت بالا برای هر دو پلتفرم اندروید و iOS برتری دارد. پایگاه کد واحد آن به توسعه دهندگان این امکان را می دهد تا برنامه هایی ایجاد کنند که تجربه ی آسانی را در دستگاه های مختلف ارائه دهند و زمان و تلاش را برای توسعه کاهش دهند. به کلی از فلاتر می توان در برنامه نویسی اندروید و ios و ... استفاده نمود.
-
طراحی رابط های :UI/UX مجموعه غنی از ویجت های قابل تنظیم و قابلیت بارگذاری Flutterآن را به انتخابی عالی برای نمونه سازی و طراحی رابط های UI/UX تبدیل کرده است. طراحان می توانند به سرعت طرح های خود را تکرار و اصلاح کنند. فلاتر همچنین همکاری با توسعه دهندگان را در طول فرآیند توسعه آسان تر می کند.
-
برنامه های کاربردی سازمانی: محبوبیت Flutter در بخش سازمانی برای توسعه برنامه های کاربردی قوی و غنی در حال افزایش است. توانایی آن در ایجاد رابط های بصری جذاب، همراه با چرخه توسعه سریع، آن را به گزینه ای جذاب برای مشاغلی تبدیل می کند که به دنبال افزایش حضور دیجیتالی خود هستند.
-
بازی ها و تجربیات تعاملی: پشتیبانی Flutter از رندر گرافیکی و انیمیشن ها آن را برای توسعه بازی ها و تجربه های تعاملی مناسب می کند. باFlutter ، توسعه دهندگان می توانند برنامه های جذاب و بصری خیره کننده ای ایجاد کنند که کاربران را مجذوب خود کند.
با استفاده از قدرت فلاتر، توسعه دهندگان می توانند از تطبیق پذیری آن برای رفع نیاز های مختلف توسعه برنامه در صنایع و پلتفرم ها استفاده کنند. استفاده از Flutter چه در سطح ساخت اپلیکیشن های تلفن همراه یا نمونه سازی طرح های UI/UX باشد و چه در سطح توسعه راه حل های سازمانی، یک راه حل جامع برای طیف وسیعی از موارد استفاده ارائه می دهد.
مخاطبان دوره آموزشی فلاتر
این دوره آموزش فلاتر (Flutter) برای مخاطبان متنوعی طراحی شده است که عبارتند از:
-
مبتدیان: افرادی که تازه برنامه نویسی را شروع کرده اند و می خواهند سفر خود را با یادگیری فلاتر آغاز کنند.
-
توسعه دهندگان اپلیکیشن موبایل: برنامه نویسانی که در توسعه اپلیکیشن موبایل مهارت دارند اما می خواهند از قابلیت های Flutter هم استفاده کنند.
-
توسعه دهندگان وب: کسانی که علاقه مند به گسترش مجموعه مهارت های خود و کشف پتانسیل Flutter برای برنامه نویسی وب هستند.
ویژگی های Flutter
Flutter با ویژگی های فراوانی همراه است که آن را به یک انتخاب عالی برای توسعه دهندگان تبدیل می کند. بیایید برخی از ویژگی های کلیدی که فلاتر را متمایز می کند، بررسی کنیم:
-
Hot Reload: یکی از محبوب ترین ویژگی های Flutter قابلیت Hot Reload آن است. این ویژگی به توسعه دهندگان اجازه می دهد تا تغییراتی در کد ایجاد کنند و بدون راه اندازی مجدد، فوراً نتایج را در برنامه مشاهده کنند. این قابلیت به طور قابل توجهی روند توسعه را سرعت می بخشد و توسعه دهندگان را قادر می سازد تا سریع و کارآمد تر شوند.
-
Expressive UI: فلاتر مجموعه ای غنی از ویجت های قابل تنظیم را فراهم می کند که توسعه دهندگان را قادر می سازد رابط های کاربری بصری خیره کننده و جذابی ایجاد کنند. از دکمه های اصلی و ورودی های متن گرفته تا انیمیشن ها و انتقال های پیچیده. Flutter طیف گسترده ای از اجزای رابط کاربری را برای جان بخشیدن به طرح ها ارائه می دهد.
-
توسعه بین پلتفرمی: نقطه فروش منحصر به فرد فلاتر توانایی آن در ایجاد برنامه هایی است که به طور یکپارچه بر روی پلتفرم های متعدد از جمله Android، iOS، وب و دسکتاپ کار می کنند. توسعه دهندگان می توانند یک پایگاه کد واحد بنویسند و آن را بر روی پلتفرم های مختلف مستقر کنند که در زمان و تلاش برنامه نویسان صرفه جویی می کند.
-
عملکرد سریع: زبان برنامه نویسی دارت (Dart) که Flutter بر اساس آن است، از یک کامپایل Just-in-Time (JIT) برای توسعه و یک کامپایل Ahead-of-Time (AOT) برای تولید استفاده می کند که در نتیجه عملکرد سریع و کارآمدی دارد.
-
دسترسی به ویژگی های بومی: Flutter دسترسی آسان به ویژگی های بومی و API ها را فراهم می کند و به توسعه دهندگان این امکان را می دهد تا عملکرد های دستگاه را به طور یکپارچه ادغام کنند. فرقی نمی کند دسترسی به دوربین و حسگر ها باشد یا GPS، فلاتر پلاگین ها و کتابخانه های گسترده ای را برای استفاده از قابلیت های بومی ارائه می دهد.
-
جامعه و اکوسیستم: Flutter دارای یک جامعه پر جنب و جوش و حمایت کننده از برنامه نویس ها و علاقه مندان است. این جامعه پر رونق با ایجاد کتابخانه ها، بسته ها و منابع رایگان که قابلیت های آن را گسترش داده و توسعه را کارآمد تر می کند، به رشد فلاتر کمک می کند.
-
تست و رفع اشکال آسان: فلاتر ابزار های تست و رفع اشکال قدرتمندی ارائه می دهد که شناسایی و رفع مشکلات را برای توسعه دهندگان در طول فرآیند توسعه آسان تر می کند. این فریم ورک ویژگی هایی مانند تست ویجت، تست یکپارچه سازی و ابزار های اشکال زدایی را برای اطمینان از کیفیت و ثبات برنامه ارائه می دهد.
با این ویژگی های قدرتمند، Flutter ابزار ها و قابلیت هایی را در اختیار توسعه دهندگان قرار می دهد تا برنامه های کاربردی با کیفیت بالا را به طور کارآمد بسازند. انعطاف پذیری، عملکرد و کتابخانه های گسترده به توسعه دهندگان این امکان را می دهد تا برنامه های بصری جذابی را برای طیف گسترده ای از پلتفرم ها ایجاد کنند.
پیش نیاز های دوره فلاتر
شرط اصلی ورود به این دوره داشتن استمرار و علاقه از سوی شماست، باقی موارد را به ما بسپارید! درست است که فلاتر از برنامه نویسان در تمامی سطوح استقبال می کند، اما دانستن یکسری مفاهیم اولیه مورد نیاز است. درک ماهیت برنامه نویسی یکی از اساسی ترین پیش نیاز ها است. همچنین ضروری است که با زبان برنامه نویسی دارت (Dart) نیز آشنایی داشته باشید. اما نگران نباشید، شما می توانید همین حالا دوره آموزش رایگان زبان برنامه نویسی دارت را در سایت کدیاد بصورت کاملا رایگان تماشا کنید. همین! دیگر هیچ بهانه ای برای شروع این دوره ندارید!
بازار کار و درآمد فلاتر
در خرداد 1402 درآمد یک برنامه نویس فلاتر از 10 میلیون تومان شروع و تا 40 میلیون و حتی بیشتر نیز میرسد! اگر هم زبان انگلیسی بلد باشید می توانید در پروژه های خارجی سهیم باشید و درآمد هایی بیش از ماهانه 7 هزار دلار تا سالانه 200 هزار دلار را تجربه کنید. این ارقام دورغ نیست! می توانید همین حالا در سایت هایی مانند indeed و دیگر سایت های کاریابی قیمت ها را ببینید!
قطعا دستیابی به چنین درآمد هایی کار آسانی نخواهد بود، اما غیرممکن هم نیست. تنها به تلاش، استمرار و صبر شما نیاز دارد. بسیاری از برنامه نویسان فلاتر ایرانی چنین درآمد هایی را تجربه کرده اند. چرا شما جزو آن ها نباشید؟ پس اگر شما هم می خواهید به چنین درآمد هایی برسید، در سفر شگفت انگیز دوره آموزش صفر تا صد فلاتر (Flutter) همراه ما باشید.
مزایای دوره Flutter
به بخش جذاب مزایای این دوره ی آموزش Flutter می رسیم. بدون اغراق این دوره از جامع ترین دوره های فلاتر است و ریز و درشت این بسته توسعه نرم افزاری قدرتمند را به خوبی آموزش خواهد داد. زیرا تمام آگهی های مربوط به فلاتر بررسی شده و مهارت هایی که برای ورود به بازار کار نیاز دارید تدریس می شود. همچنین پشتیبانی مدرس را در حین دوره و حتی دو سال بعد از آن خواهید داشت. نکته دیگر پروژه محور بودن این دوره است. همانطور که گفتیم، طی این دوره پروژه های زیادی را انجام خواهیم داد و نکته اصلی آن کار با Git و تعامل و مشارکت دانشجو ها در حل تمرین و پروژه ها است. بعلاوه پروژه هایی که در این دوره انجام می دهید، کاملا حرفه ای هستند و می توانید آن ها را در رزومه خود ثبت کنید که موجب تقویت رزومه شما خواهد شد. به همین خاطر است که می گوییم بطور هدفمند برای ورود به بازار کار طراحی شده! مورد آخر نیز آپدیت مادام العمر آن است. این دوره هیچگاه تمام نخواهد شد و همیشه با هر تغییر و آپدیتی در فلاتر، به روز رسانی خواهد شد.
آینده فلاتر
آینده Flutter با محبوبیت و پذیرش آن در حال افزایش به نظر می رسد. توانایی Flutter برای ایجاد برنامه های بین پلتفرمی خیره کننده با یک پایگاه کد واحد، همراه با چرخه توسعه سریع، آن را به عنوان یک پیشرو در چشم انداز توسعه برنامه ها قرار می دهد. جامعه فلاتر در حال پیشرفت است و بطور پیوسته بسته ها، ابزار ها و منابع جدیدی را ارائه می دهد که این اکوسیستم را غنی تر می کند. بازار کار برای توسعه دهندگان Flutter در حال رونق است. شرکت ها در سراسر صنایع از Flutter برای ساخت اپلیکیشن های موبایل و وب خود استقبال می کنند و تقاضا برای برنامه نویسان Flutter روز به روز بیشتر می شود. بعنوان یک توسعه دهنده فلاتر، شما می توانید فرصت های شغلی هیجان انگیزی را در استارتآپ ها و حتی پروژه های مستقل (فریلنسری) بیابید. همه ی این ها نوید یک چشم انداز فوق العاده برای فلاتر را می دهد.
سخن پایانی
در آخر باید گفت که فلاتر یک ابزار بسیار قدرتمند است که در سراسر دنیا از جمله ایران در حال توسعه و رشد است. Flutter با ویژگی های فوق العاده ای که دارد، برنامه نویسی را برای وب و موبایل بسیار آسان تر کرده که موجب سرعت بیشتر و زحمت کمتر در پروژه ها می شود. آموزش فلاتر دنیایی از امکانات را در حوزه توسعه اپلیکیشن های بین پلتفرمی باز می کند. سادگی، ویژگی های قدرتمند و تطبیق پذیری، آن را به یک SDK عالی برای توسعه دهندگان در تمام سطوح تبدیل کرده است. با سرمایه گذاری در دوره آموزش صفر تا صد فلاتر (Flutte)، خود را به دانش و مهارت های لازم برای شروع یک سفر شغلی هیجان انگیز مجهز می کنید. یکی از همسفران ما در کشف دنیای بی حد و مرز برنامه نویسی فلاتر باشید...
سرفصل های دوره
معرفی کراس پلتفرم و جامعه برنامه نویسی فلاتر در git
بررسی جامعه فلاتر در stackoverflow ، راه های کسب درآمد از فلاتر (flutter)
سوالات متداول ، پیشنیاز ها
بررسی نمونه پروژه ها و sample های فلاتر در github، بررسی سایت و دیسکورد فلاتر
نصب vscode و اجرای اولین اپ در مرورگر Chrome
نصب android sdk و اجرای اولین پروژه در android emulator
آشنایی با ساختار پروژه و نوشتن اولین برنامه
آشنایی با طراحی layout ، کار با column و row
مینی پروژه قیمت آنلاین ارز و طلا، کار با Expanded، Align، Column و Row
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت اول
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت دوم (استفاده از فونت فارسی و راستچین کردن پروژه)
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت سوم (مفهوم context ، تعریف textTheme در MtrialApp )
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت چهارم
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت پنجم
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت ششم
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت هفتم
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت هشتم
پروژه 1 : اپ آنلاین قیمت ارز و طلا ، قسمت نهم ( api ، json و JWT چیست؟ مفهوم بکند ، ساخت کلاس مدل برای json Object ارز)
پروژه 1 : اپ آنلاین قیمت ارز ، قسمت دهم(ارتباط با سرور و پکیج http ، معرفی پکیج convert ) - تمرین 1
Concurrency در دارت - async await
پروژه 1 : اپ آنلاین قیمت ارز ، قسمت یازدهم (استفاده از Async/await و Future در فلاتر)
Logging و debugging در فلاتر
چرخه زندگی ویجت ها در فلاتر (widget life cycle in flutter)
پروژه 1 : اپ آنلاین قیمت ارز ، قسمت دوازدهم (Future Builder در فلاتر)
پروژه 1 : اپ آنلاین قیمت ارز ، قسمت سیزدهم (آشنایی با پکیج intL در فلاتر)
قسمت پایانی پروژه ارز - ui رسپانسیو - کار با widget inspector در فلاتر
قسمت اول تمرین ، (پروژه 2 ) اپ مسافرت
قسمت دوم تمرین ، (پروژه 2 ) Travel app
قسمت سوم تمرین ، (پروژه 2 ) Travel app
قسمت چهارم تمرین ، (پروژه 2 ) Travel app
قسمت پنجم تمرین ، (پروژه 2 ) Travel app
قسمت ششم تمرین ، (پروژه 2 ) Travel app
قسمت هفتم تمرین ، (پروژه 2 ) Travel app
قسمت هشتم تمرین ، (پروژه 2 ) Travel app
قسمت نهم تمرین ، (پروژه 2 ) Travel app
قسمت پایانی تمرین ، (پروژه 2 ) Travel app
پروژه تکبلاگ، مفاهیم اولیه git
پروژه تکبلاگ، لایف سایکل ، اصطلاحات و دستورات پرکاربرد در git
ایجاد repository تک بلاگ ، commit و push و pull
ساخت splash screen ، استفاده از git در vscode و fork کردن پروژه توسط دانشجوها
پروژه تکبلاگ، پیشنیاز های پروژه ، کلاس String و Colors ,ساخت اسپلش (Splash screen) اختصاصی
پروژه تکبلاگ ,ساخت اسپلش (Splash screen) اختصاصی ، پکیج spinKit
پروژه تکبلاگ ,navigator و انتقال اطلاعات بین صفحه ها
پروژه تکبلاگ , تحلیل رابط کاربری ، systemChrome و پیاده سازی صفحه خانه
پروژه تکبلاگ , پوستر پیچیده صفحه اصلی
پروژه تکبلاگ , خواندن اطلاعات پوستر از Map
پروژه تکبلاگ , لیست دسته بندی ها
پروژه تکبلاگ , لیست افقی بلاگ
پروژه تکبلاگ , لیست افقی بلاگ
پروژه تکبلاگ , صفحه اصلی و پیاده سازی bottom navigation
پروژه تکبلاگ , نظم دهی کد ها و فلاتر 3
پروژه تکبلاگ , صفحه پروفایل کاربر
پروژه تکبلاگ , صفحه پروفایل کاربر
پروژه تکبلاگ , Bottom navigation و متد CallBack
پروژه تکبلاگ , صفحه ٍثبت نام
پروژه تکبلاگ ، خروجی گرفتن ، رفع باگ صفحه خاکستری و تفاوت App Build های متفاوت اندروید
پیاده سازی و چالش کیبورد در bottom sheet
کار با TextField ، رویداد onChange ، کلاس RegExp ، عبارات منظم در دارت
کار بار Navigator و پیاده سازی ui صفحه دسته بندی های من
کار با gridview در فلاتر ، صفحه دسته بندی های من
کار با gridview در فلاتر ، صفحه دسته بندی های من
مفهوم GlobalKey و ساخت Drawer
بررسی آیتم تکراری در افزودن لیست دسته بندی من
مفهوم Dependency و تعریف ابتدایی Di( Dependency injection)
state management و معرفی GetX
Rx (ReactiveX) ، observable و معرفی obx
تعریف مدل از نوع Rx
استفاده از معماری Mvc و Dependency injaction با GetxController
تفاوت GetX , obx و GetBuilder و کار با ویجت Getx
non-reactive state management با ویجت GetBuilder
استفاده از id در GetBuilder و لیست
مبانی پایه ( سرور، کلاینت، Api ، CRUD ، Protocol)
آشنایی با ابزار سوئگر (Swagger io)
آشنایی با ابزار پستمن(PostMan)
نصب وب سرور و نوشتن اولین کد بک اند
دیتابیس و زبان sql
api نویسی ، json ساده
api نویسی ، json پیچیده و تودرتو (۱)
api نویسی ، json پیچیده و تودرتو (2)
ریفکتور پروژه تکبلاگ
ریفکتور از stateful به GetX
اشتراک گذاری متن و لینک در اپ های دیگر
اجرای لینک از اپ در مرورگر دستگاه
مدل مقاله تکبلاگ از json
مدل پادکست و پوستر
پکیج Dio و نوشتن متد Get
دریافت اطلاعات از سرور با Dio و GetX
پیاده سازی Controller برای Home Items
پیاده سازی داغ ترین مقالات در صفحه اصلی
پیاده سازی لیست افقی پادکست های محبوب
ایجاد place Holder و لودینگ برای تصاویر که از سرور دریافت میشوند
پیاده سازی پوستر صفحه home و لودینگ دریافت دیتا
لیست تگ ها
پیاده سازی اپ بار اختصاصی با PrefferedSize
لیست مقالات
لیست مقالات بخش دوم
صفحه single مقالات - بخش اول
صفحه single مقالات - بخش اول
صفحه single مقالات - بخش سوم - خواندن تگ های html در فلاتر
تکمیل صفحه single و دریافت id
مدل Artricle Single
پیاده سازی Article info request و نمایش در Single Article
پیاده سازی Article info request و نمایش در Single Article - (دوم)
دریافت مقالات بر اساس تگ های یک مقاله
پاسخ تمرین و پول ریکوئست 1
تکمیل لیست و کنترل مقالات
پیاده سازی متد Post با Dio
ثبت نام با کد یک بار مصرف (Otp)
ثبت نام با کد یک بار مصرف (Otp) 2
آموزش GetStorage و ذخیره توکن Jwt
رفع problem و بررسی pull request اخیر
پیاده سازی toggle Login و مسیر دهی ( فایل ضمیمه v3 post man)
فیکس کردن باگ rout با GetOff
binding در Getx و استفاده از LazyPut
Binding in Route Management
باتم شیت ارسال پست یا پادکست
بررسی Tap Space روی ویجت ها
کار با catchError و DioError در وب سرویس
مدیریت مقالات من بخش اول
ایجاد Binding صفحه ManageArticle
پیاده سازی EmptyState در صفحه مدیریت مقالات
پیاده سازی استیت لیست Article manage
پیاده سازی ترنری سریالی برای نمایش emptyState یا List یا Loading
صفحه ویرایش یا پست مقاله
صفحه ویرایش یا پست مقاله (بخش دوم)
صفحه ویرایش یا پست مقاله (بخش سوم)
File Picker - انتخاب تصویر از حافظه گوشی و نمایش در ui
File Picker - انتخاب تصویر (بخش دوم)
ثبت عنوان مقاله با GetDefault Dialog
کار با html editor enhanced در فلاتر بخش اول
کار با html editor enhanced در فلاتر بخش دوم
GridView در فلاتر - افزودن دسته بندی به ارسال مطلب - بخش اول
افزودن دسته بندی به ارسال مطلب - آپدیت مدل از نوع Rx - بخش دوم
آپلود تصویر و فرم دیتا در فلاتر با استفاده از پکیج Dio - بخش اول
آپلود تصویر و فرم دیتا در فلاتر با استفاده از پکیج Dio - بخش دوم
معرفی و بررسی ui پخش فایل صوتی
پیاده سازی ui صفحه لیست پادکست ها
پیاده سازی ui کنترل صوت و پادکست 1
پیاده سازی ui کنترل صوت و پادکست 2
پیاده سازی کنترلر با Instance var و ایجاد مدل فایل پادکست
مقدار دهی Controller با constructor
مقدار دهی ویجت های صفحه سینگل پادکست
پکیج just_audio و بررسی پخش موزیک، پادکست و فایل های صوتی در فلاتر
تعریف پلی لیست و اضافه کردن فایل های صوتی سرور
پخش پلی لیست اپیزود های پادکست و مدیریت حالت دکمه پخش
next و previous در پلی لیست پادکست ها
پخش فایل با onTap و مشخص کردن فایل در حال پخش در ui
چالش مصاحبه کاری - دارت فلاتر
پروگرس بار فایل صوتی و نمایش زمان طی شده
ساخت تاگل باتن اختصاصی - سیستم تکرار فایل صوتی
دیباگ به نگاهی به همه ابعاد یک ماژول
دیباگ به نگاهی به همه ابعاد یک ماژول (2)
ریفکتورینگ 1
ریفکتورینگ 2
محو یا ظاهر کردن یک ویجت انیمیت شده
انیمیت کردن Container و BoxDecoration
حرک در جهت های مختلف
انیمیشن چرخاندن ویجت های مختلف (Rotate)
انیمیشن Scale در فلاتر
ساخت انیمیشن های پیچیده با AnimationController و AnimatedBuilder
پیاده سازی انیمیشن پیشرفته لایک اینستاگرام
انیمیشن های اختصاصی برای هر ویجت در درخت ویجت
معرفی سرویس های فایربیس در پروژه دمو
افزودن firebase core به پروژه
فایربیس آنالیتیکس در فلاتر
فایربیس کرشلیتیکس (مانیتور خطاها پس از انتشار اپ)
پوش نوتیفیکیشن فایربیس fcm
دریافت دیتا در پس زمینه (background)
دریافت دیتا در حالت Foreground
مقدمه پروژه شبیه اسنپ و سرویس نقشه
پیاده سازی رابط کاربری نقشه اسنپ بخش اول
پیاده سازی رابط کاربری نقشه اسنپ بخش دوم
پیمایش ترتیبی widget states در یک صفحه
map controller
ویجت open street map
انتخاب مبدا سفر روی نقشه
لغو مبدا انتخاب شده
محاسبه فاصله مبدا تا مقصد و رفتن به حالت درخواست به راننده
به دست آوردن آدرس دقیق مبدا و مقصد و نمایش
لغو مرحله درخواست به راننده و رفتن به انتخاب دوباره مقصد
async stream (استریم ایسینک) در دارت
sync Stream (استریم با استفاده از listen)
StramController در دارت
توابع مفید stream و فیلتر کردن داده ها
دیزاین پترن، الگوی طراحی سینگلتون
وابستگی (Dependency ) در مقابل تزریق وابستگی( Dependency Injection)
آموزش Get It برای کاهش وابستگی با Dependency Injection
تشریح Riverpod و Provider در مقابل GetIt و معرفی BloC
الگوی مخزن یا Repository
شروع Bloc
کلاس Repository
کلاس های وضعیت (States class)
کلاس رویداد و تشکیل Bloc
پیاده سازی RepositoryProvider
پیاده سازی BlocProvider و BlocBuilder و state management
زیرساخت های صحیح پروژه
زیرساخت های صحیح پروژه (بخش دوم)
مفهوم اکستنشن و پیاده سازی کلین ui
کاستم ویجت توسعه پذیر تکست فیلد برای تمام صفحات
پیاده سازی تم و input decoration کلی پروژه
پیاده سازی صفحه otp، ثبت نام کاربر و وجیت اختصاصی دکمه اصلی
مدیریت فونت ها، اپ بار اختصاصی (preferedsize) و صفحه ثبت نام
مدیریت روت ، route management
صفحه اصلی فروشگاه
کاستوم آیتم باتم نویگیشن صفحه اصلی فروشگاه
نویگیشن صفحه اصلی فروشگاه
نستد نویگیشن، نویگیشن تو در تو
مدیریت استیت های استک خانه با WillPopScope و کلید عمومی NavigatorState
پیمایش تاریخچه Routing در استک های مختلف main Screen
سرچ بار
اسلایدر بخش اول
اسلایدر بخش دوم
دسته بندی محصولات
پیاده سازی ui محصولات شگفت انگیز - بخش اول
آیتم محصول - بخش اول
آیتم محصول - بخش دوم
استیت های تایمر، تخفیف و معمولی محصول با ویجت یکپارچه
اینترفیس صفحه لیست محصولات 1
اینترفیس لیست محصولات 2 - بج سبد خرید
گرید ویو لیست محصولات و لیست تگ های محصول
اینترفیس صفحه جزئیات محصول 1
اینترفیس صفحه جزئیات محصول 2 - item extent در لیست ویو
اینترفیس صفحه جزئیات محصول 3
اینترفیس سبد خرید 1
آیتم شاپینگ کارت
اینترفیس پروفایل و تجارب بیشتر در ui
ابعاد مختلف یک پروژه و معرفی api پروژه فروشگاهی
بررسی سوئگر و داکیومنت api
Cubit در معماری بلاک، تفاوت Cubit با BloC
پیاده سازی احراز هویت و لاگین با Cubit بخش اول
پیاده سازی احراز هویت و لاگین با Cubit بخش دوم
اجرای اپ بر اساس وضعیت لاگین با Cubit
BlocConsumer ، دسترسی به فانکشن های Cubit - ارسال پیامک فعالسازی
صفحه تایید کد فعالسازی، بررسی کاربر جدید/کاربر موجود با Cubit
تکمیل صفحه کد تایید، شمارنده معکوس
پیاده سازی SharedPreferences با الگوی سینگلتون
کلاس انتخاب و ویرایش تصویر image Handler
ثبت نام، لوکیشن پیکر
تکمیل ثبت نام
کلاس Product با دیزاین پترن فکتوری
پیاده سازی Response Validator و کلاس Exception اختصاصی
الگوی ریپازیتوری - دیتاسورس Product
پیاده سازی ریپازیتور محصولات - repository pattern
جمعبندی ریپازیتوری پترن با موجودیت محصول و دریات اطلاعات از ریپازیتوری
پیاده سازی مدل پیچیده home
پیاده سازی Home Data
پیاده سازی home bloc
دسته بندی ها
پیاده سازی انقضای محصول شگفت انگیز
پیاده سازی انقضای محصول شگفت انگیز(2)
لیست محصولات، ارسال داده به event در بلاک
پیاده سازی Product Details Entity
صفحه جزئیات محصول
مدیریت استیت و مقدار دهی صفحه جزئیات محصول
پیاده سازی remote conf، کلاس AuthInterceptor و DioManager
پیاده سازی ریپازیتوری و درخواست های سبد خرید
پیاده سازی BloC سبد خرید
آموزش MultiBlocProvider و رویداد افزودن به سبد خرید
بج سبد خرید و تغییر آنی تعداد محصول سبد در تمام اپلیکیشن
کاهش، حذف و افزودن محصولات در سبد خرید
بهبود ux سبد خرید(مبحث مهم) و رفع باگ های جزوئی
صفحه پروفایل کاربر و لیست سفارشات (+ تمرین پایان فصل)
مجموع قیمت سبد خرید
ثبت سفارش
معرفی و نصب لایبرری
مقدار دهی اولیه و نسبت صحیح تصویر
عملیات ریوایند و فوروارد در ویدیو پلیر
عملیات پریویس و نکست لیست ویدئو
دکمه پخش-توقف و تغییر موقیعت ویدئو از طریق پروگرس
چرا لوکال دیتابیس؟
معرفی پروژه نهایی فصل، آموزش نصب
پیاده سازی مدل Todo، تولید فایل کانفیگ و مقدار دهی اولی اداپترها
لیست ToDoها، آپدیت خودکار ui با تغییرات box، حذف آیتم
افزودن یا آپدیت کردن آیتم ها
سوکت و ارتباط real time چیست ، چرا و در چه اپلیکیشن هایی استفاده میشود؟
سرور و کلاینت، لایبرری socket_io
راه اندازی سرور و آموزش بکند سوکت با express و nodjs
پیشنیاز های دوره چه چیزهایی هستند؟
- زبان برنامه نویسی دارت آکادمی کدیاد
- آموزش الگوریتم و فلوچارت آکادمی کدیاد
نظرات دانشجویان
امیررضا جلوس حقی |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
سید محمد رضوی |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
من 8 ماه هست که در دارم دارت و فلاتر رو کار میکنم و این دوره رو تازه گرفتم ُ توی همین فصل اولش هم با اینکه مقدماتی و مفاهیم پایه هستش باز هم برای من مطالب جدید داشت . ممنون از زحمتی استاد صفری و دوره خوبشون . امیدوارم تا انتها همینقدر با قدرت ادامه بدیم
ساسان صفری |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
سلام، نه عزیزم، یه بار میخری برای همیشه هرچی آپدیت بیاد رایگان داری :)
طاها طارمی |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
سلام استاد وقتی الان بخریم فصل های دیگه کامل بشه دوباره باید پول بدیم؟
ساسان صفری |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
سلام مهدی، تو دوره یه چنل ایده داریم، میتونی درخواست ها و ایده هایی که داری و میخوای به دوره اضافه بشه رو بنویسی اگه همه موافق باشن به سر فصل ها اضافه میشه ❤️
مهدی کشکلانی |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
استاد سلام ممنون از دوره خوبتون یه سوال داشتم و اونم اینه که آیا فلاتر دسکتاپم توی این دوره کار میکنید؟
Mohamad Mosavi |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
بهترین دوره فلاتر وب پارسی هست و استاد درجه یک و هزاران بار درود بر اکادمی کدیاد عزیز
میلاد شریفی |
دانشجوی دوره اموزش 0 تا 100 فلاتر (Flutter) + پروژه عملی و ورود به بازار کار
بهترین دوره فلاتر فارسی دوره استاد صفری هست، من قبلا از چند سایت دیگه هم دوره دیدم، بهترین و مقدماتی تا تخصصی ترین دوره همین دوره هست، من با همین دوره یک ساله استخدام شدم و کلی هم پروژه فریلنسری انجام دادم، همه چی اصولی تدریس شده
مدرس دوره
ساسان صفری
از سال 1390 دردنیای برنامهنویسی غرق شدم و هر روز بیشتر به این باور رسیدم که این کار نه تنها شغل، که یه سبک زندگیه. به کد نویسی با زبانهای جاوا، کاتلین، سویفت و دارت علاقه زیادی دارم و تو این سالها، کلی پروژه داخلی و خارجی رو دست گرفتم و توسعه دادم. حتی استارت آپ ها و ایده های شخصی خودم رو هم تجربه کردم که تجارب . درسهای زیادی ازشون گرفتم.
چیزی که همیشه برام جذابتر از کدنویسی بوده، یادگیری و یاد دادنه. از همون ابتدا سعی کردم تجربههام رو با دیگران به اشتراک بذارم؛ چه با پادکست، چه با سخنرانیها و ورکشاپها که باعث شد بخشی از حرکت رو به جلو در کامیونیتی برنامهنویسی فارسی باشم.
برنامهنویسی برای من همیشه یه چالش بود که توش میتونستم مشکلات واقعی رو حل کنم و از هر پروژه یه درس جدید بگیرم. همیشه در حال یادگیری و خلق چیزهای جدیدم و هدفم اینه که با کدم به دنیای اطرافم تاثیر بذارم.
سوالات متداول
فریم ورک فلاتر یکی از جذابترین فریم ورک ها است که برای توسعه اپلیکیشن های مختلف از آن استفاده میشود و قابلیت های زیادی دارد که برای توسعه دهندگان اپلیکیشن بسیار مفید و کاربردی است
بهتر است قبل از آموزش فلاتر، با الگوریتم و فلوچارت و همینطور زبن برنامه نویسی دارت آشنایی کافی داشته باشید.
فلاتر سرعت توسعه اپلیکیشن ها را افزایش می دهد. به علاوه قابلیت کراس پلتفرم بودن نیز آن را بسیار محبوب کرده است.