درباره دوره
با گسترش استفاده از گوشی هاي موبایل توسط افراد مختلف در سراسر جهان صنعت نـرم افـزار نیـز دچار تحولات بسیار زیادي در این چند سال شده است.
از سال 2007 همزمان با معرفی اولین نسخه از گوشی موبایل آیفـون توسـط شـرکت اپـل سیسـتم عاملهاي مورد استفاده در گوشی ها نیز دستخوش تغییرات بنیادي عظیمی شدند و بـه سـمت سیسـتم عاملی با محوریت اپلیکیشن ها سوق پیدا کردند، که نتیجه آن اسـتقبال بسـیار زیـاد مـردم از ایـن نـوع گوشیها شد .
اپل با معرفی سیستم عامل iOS و گوگل با توسعه اندروید تقریباً تمام بازار گوشی هـاي هوشـمند و تبلت ها را به خود اختصاص دادند. تا قبل از این گسترش استفاده از گوشی هاي هوشمند ، برنامه هاي مربـوط بـه یـک گوشـی موبایـل توسط کمپانی از قبل توسعه پیدا میکرد و نصب نرم افزارهاي مختلـف روي گوشـی بـه شـکل امـروزي مرسوم نبود؛ اما در این میان بـا افـزایش اسـتفاده از ایـن دو سیسـتم عامـل نیـاز بـه توسـعه و سـاخت اپلیکیشن هاي کاربردي براي گوشی هاي هوشمند نیـز افـزایش پیـدا کـرد و بـا معرفـی فروشـگاه هـاي اختصاصی براي اپلیکیشن و بازيهاي موبایل، مهندسان نرم افـزار و توسـعه دهنـدگان بـا پلتفـرم نسـبتاً جدیدي در دنیاي کامپیوتر مواجه شدند . شرکت گوگل براي طراحی و ساخت نرم افزارهاي اندرویدي زبان جاوا را به عنوان زبـان رسـمی ایـن سیستم عامل معرفی کرد و نرم افزار اندروید استودیو را نیز به عنوان محیط توسعه به کاربران ارائه کرد . گوگل در سال 2017 همزمان با معرفی نسخه 3.0 اندرویـد اسـتودیو شـروع بـه پشـتیبانی از زبـان برنامه نویسی کاتلین در مسیر توسعه اندروید کرد. در نهایت، در سال 2019 گوگل زبان کاتلین را زبـان مناسب براي برنامه نویسی سیستم عامل اندروید برگزید و در حال حاضر زبان رسمی آن میباشد. در این میان رقیب اصلی اندروید؛ یعنی iOS که سیسـتم عامـل اختصاصـی گوشـی آیفـون و آیپـد میباشد ، از زبان برنامه نویسی C-Objective و محیط توسعه xCode بـراي سـاخت اپلیکیشـن هـاي موبایل استفاده میکند. اپل نیز مثل گوگل با گذشت زمان از زبان برنامه نویسی جدیدي به عنوان زبـان رسمی سیستم عامل گوشیهاي موبایل خود براي توسعه اپلیکیشن رونمایی کرد . زبان C-Objective تقریباً از دهه هشتاد تا به امروز به روزرسانی و تغییر بزرگی به خود ندیده بود؛ به همین دلیل در سال 2014 شرکت اپل زبان برنامه نویسی سویفت swift را بـه عنـوان زبـان رسـمی براي توسعه اپلیکیشن هاي مربوط به تمام گجتهاي این شرکت؛ مثل آیفون، آیپد، ساعت هوشمند، لپ تاپ هاي مک بوك و تلویزیون اپل معرفی کرد. تا به اینجا متوجه شدیم که این دو سیستم عامل گوشیهاي هوشمند امـروزي هـر کـدام از زبـان و محیط هاي توسعه مختلفی براي طراحی اپلیکیشنهاي کاربردي استفاده میکنند، که ایـن بـدان معنـی است که اگر شخصی قصد داشته باشد براي هر دوي این گوشیها برنامه اي طراحی کند باید با دو زبـان برنامه نویسی مختلف کاملاً آشنا باشد و همچنین تقریباً به دوبرابر زمان بیشتـر نیـز نیـاز دارد؛ یـا اگـر شرکتی قصد داشته باشد نسخه اي مخصوص از محصـول خـود را در قالـب یـک اپلیکیشـن موبایـل بـه کاربران ارائه دهد، نیاز به استخدام تعدادي زیادي برنامه نویس براي هر کدام از این سیستم عامل ها دارد، که باعث افزایش هزینه توسعه و نگهداري آن میشود. اما در پلتفرم هاي مختلف؛ مثل طراحی یک سایت با چنین مشکلاتی مواجه نیسـتیم . وب سـایتی کـه طراحی میشود در تمام کامپیوترهاي سراسر دنیا و گوشی هاي موبایل، به طور کلـی هـر وسـیله اي کـه داراي یک مرورگر اینترنتی باشد، تقریباً به یـک شـکل نمـایش داده مـی شـود و نیـازي بـه اسـتفاده از ابزارهاي جداگانه براي آنها نداریم . این مسأله باعث شد تا مفهومی تحت عنوان برنامـه نویسـی چندسـکویی یـا platform Cross در توسعه اپلیکیشن هاي موبایل روز به روز بیشتر شنیده شود. برنامه نویسی چندسکویی به شکل ساده؛ شامل فریمورك هایی هستند که با یـک بـار کدنویسـی بـه شما امکان دریافت خروجی هاي مختلف را میدهند؛ براي مثال شما با یکبار کدنویسی میتوانیـد بـر اي دو سیستم عامل اندروید و iOS خروجی مختلف بگیرید و از آن استفاده کنید. تا به امروز فریمورك هاي مختلفی براي این کار توسط شرکت هاي گوناگون معرفی شدهانـد ؛ امـا در ابتدا هیچکدام از آنها به دلیل ضعف هاي مختلفی که داشتند، نتوانستند انتظـارات توسـعه دهنـدگان را برآورده کنند؛ مانند فریمورك native React که توسط فیسبوك معرفی شد و از زبان جاوا اسکریپت استفاده میکرد و یا xamarin از طرف شرکت مایکروسافت که از زبان برنامه نویسی سی شـارپ قـدرت گرفته است. در این بین شرکتهاي دیگري هم بودند، که از فریمورك هاي چندسکویی مخـتص بـه خـود بـراي تولید محصولات مورد نیازشان استفاده میکردند؛ مثل شرکت اوبر که از فریمورك اختصاصی خـود بـه نام RIBs براي توسعه اپلیکیشن هاي موبایل استفاده میکنـد و باعـث صـرفه جـویی بسـیار زیـادي در هزینه و زمان شده است . با پیشرفت روز به روز تکنولوژي، فریمورك هاي چندسکویی نیز خود را نسبت به گذشته دستخـوش تغییرات و بهینه سازيهاي مختلفی قرار داده اند تا پا در جاي اپلیکیشنهاي بـومی (برنامـه هـاي نوشـته شده توسط زبان رسمی آن سیستم عامل) بگذارند و بتوانند سهم بیشتـري از صـنعت نـرم افـزار داشـته باشند. شرکتهاي بزرگ دنیا هم با پذیرش این ابزارها سهم قابـل تـوجهی در پیشـرفت برنامـه نویسـی چندسکویی داشته اند؛ از جمله این شرکت ها میتوان به اینستاگرام، اوبر، گوگل پلی و … اشاره کرد.
در یک دهه اخیر صنعت نرمافزار با رشد بسیار زیادی در زمینه توسعه اپلیکیشنهای موبایل روبرو شده است .
اکثر تلفنهای هوشمند موجود از دو سیستم عامل IOS و یا اندروید استفاده میکنند که روز به روز بر تعداد استفاده کنندگان این سیستمعاملها افزوده میشود. سال ۲۰۱۷ بود که گوگل فریمورک متن باز فلاتر را عرضه کرد. با استفاده از این فریمورک میتواند از برنامه نوشته شده برای هر دو سیستم عامل اندروید و IOS خروجی با کیفیتتر نسبت به سایر زبانهای Cross Platform دریافت نمایید. فلاتر بر اساس زبان برنامه نویسی گوگل، یعنی دارت (Dart) توسعه یافته است. عملکرد اپلیکیشنهایی توسعه داده یافته با فلاتر همچون اپلیکیشنهای Native است.
جالب است بدانید علی بابا، یکی از بزرگترین شرکتهای چینی در دنیا به فلاتر اعتماد کرده و اپلیکیشن خود را با این فریم ورک ساخته است.
پیش نیازه های دوره
آشنایی با مباحث مقدماتی کامپیوتر و ICDL
داشتن دانش کلی الگوریتم و برنامه نویسی
مخاطب هدف دوره
فارغ التحصیلان رشته های کامپیوتر
فارغ التحصیلان دوره های فول استک مجتمع بین الملل
علاقه مندان به دنیای برنامه نویسی موبایل
سوالات متداول
برای یادگیری و کسب درآمد فلاتر بهتر است یا جاوا؟
بازار کار فلاتر چطور است؟
سرفصل های دوره
Part 1 : Introduction Dart language
1- Variables and data types2- List review, Map review, difference between const and final
3- If, else if and switch-case control commands in Dart (Control Flow)
4- for, for each, while and do while loops in Dart
5- Library in Dart
6- Object Orientation in Dart
7- Definition of class (class) and constructor (Constructor) in Dart
8- Inheritance in Dart
9- Polymorphism in darts
10- The concept of abstraction or (Abstraction) - abstract class in Dart
11- The concept of interface in Dart
12- get, set and the concept of encapsulation in Dart
13- mixin in darts
14- Concurrency in Dart - async await
Part 2 : Introduction Flutter language
1- Flutter basic concepts2- User interface challenges in Flutter
3- Basic concepts of State Management, Dependency injection and GetX package in Flutter
4- Concepts of connection to the server and Api
5- Refactoring, error handling
6- Advanced animation in Flutter
7- Di, StateManagement, Design Pattern and Bloc introduction
8- Socket concepts and Real Time communication
9- Flutter web and output web app (Pwa) from Flutter
اساتید دوره :

بصورت پک ویژه
مدت زمان
240 ساعتتاریخ شروع
1404/02/28محل برگزاری
لابراتوار B
سرفصل براساس استاندارد کمپانی IBM
مدت زمان
70 ساعتتاریخ شروع
1404/01/17محل برگزاری
لابراتوار A
به همراه تایپ اسکریپت و API
مدت زمان
85 ساعتتاریخ شروع
1403/12/07محل برگزاری
لابراتوار Aدرخواست مشاوره ثبت نام
درصورت نیاز به مشاوره برای ثبت نام فرم درخواست زیر را تکمیل فرمایید.