برنامه نویسی Flutter

آشنایی با توسعه نرم‌افزار با Flutter

Flutter یک فریم‌ورک متن‌باز و محبوب برای ساخت اپلیکیشن‌های موبایل، وب و دسکتاپ است که توسط گوگل توسعه داده شده است. این فریم‌ورک به دلیل عملکرد سریع، رابط کاربری زیبا و قابلیت توسعه چندسکویی (cross-platform) به سرعت مورد توجه توسعه‌دهندگان قرار گرفته است. با Flutter می‌توانید از یک کد واحد، اپلیکیشن‌هایی برای iOS، Android، وب و حتی دسکتاپ تولید کنید.

Flutter چیست؟

Flutter یک فریم‌ورک UI است که برای ساخت اپلیکیشن‌های موبایل، وب و دسکتاپ با استفاده از یک زبان واحد یعنی Dart استفاده می‌شود. این فریم‌ورک از موتور گرافیکی خود برای رندر کردن رابط کاربری استفاده می‌کند و به توسعه‌دهندگان اجازه می‌دهد تا با استفاده از ویجت‌های قابل تنظیم، رابط کاربری زیبا و پرسرعتی طراحی کنند. بر خلاف فریم‌ورک‌های سنتی، Flutter مستقیماً با GPU دستگاه ارتباط برقرار می‌کند که این امر باعث افزایش کارایی و کاهش تاخیر می‌شود.

چرا Flutter برای توسعه مناسب است؟

Flutter به دلیل سرعت بالا، رابط کاربری یکپارچه و پشتیبانی از توسعه چندسکویی، یکی از بهترین انتخاب‌ها برای توسعه اپلیکیشن‌های موبایل و وب است. با Flutter شما می‌توانید بدون نیاز به نوشتن کدهای جداگانه برای هر پلتفرم، اپلیکیشن‌هایی با کیفیت بالا و عملکرد سریع تولید کنید. از جمله ویژگی‌های برجسته Flutter می‌توان به امکان Hot Reload اشاره کرد که به توسعه‌دهندگان اجازه می‌دهد تغییرات کد را بلافاصله مشاهده کنند، بدون نیاز به بارگذاری مجدد کل اپلیکیشن.

تاریخچه Flutter

Flutter اولین بار در سال ۲۰۱۵ به عنوان پروژه‌ای به نام “Sky” معرفی شد که هدف آن اجرای اپلیکیشن‌های اندروید با سرعت 120 فریم بر ثانیه بود. بعداً گوگل Flutter را در سال ۲۰۱۷ به عنوان یک فریم‌ورک توسعه موبایل چندسکویی منتشر کرد. با رشد روزافزون Flutter، این فریم‌ورک به ابزاری برای توسعه وب و دسکتاپ نیز تبدیل شد. با به‌روزرسانی‌های متعدد و بهبود کارایی، Flutter اکنون یکی از محبوب‌ترین فریم‌ورک‌های توسعه اپلیکیشن‌های موبایل و وب است.

کاربردهای Flutter

Flutter در طیف گسترده‌ای از پروژه‌ها و صنایع مورد استفاده قرار می‌گیرد. از اپلیکیشن‌های موبایل گرفته تا وبسایت‌ها و حتی نرم‌افزارهای دسکتاپ، Flutter این امکان را به توسعه‌دهندگان می‌دهد که پروژه‌هایی با کیفیت بالا و سرعت توسعه سریع ایجاد کنند. شرکت‌های بزرگ مانند علی‌بابا، eBay و Google Ads از Flutter برای توسعه اپلیکیشن‌های خود استفاده کرده‌اند. علاوه بر این، Flutter برای ساخت بازی‌های سبک، ابزارهای داخلی شرکت‌ها، و اپلیکیشن‌های تجاری نیز کاربرد دارد.

امنیت در Flutter

Flutter به دلیل استفاده از Dart و معماری جدا از پلتفرم‌های بومی، سطح امنیت مناسبی را ارائه می‌دهد. با این حال، توسعه‌دهندگان باید به مسائل امنیتی عمومی مانند مدیریت اطلاعات حساس، احراز هویت کاربر، و ارتباطات امن نیز توجه داشته باشند. Flutter از ابزارهای امنیتی مختلف مانند Firebase Auth و کتابخانه‌های رمزنگاری برای ایجاد ارتباطات امن پشتیبانی می‌کند. همچنین، توسعه‌دهندگان باید با استفاده از بهترین شیوه‌های امنیتی، اپلیکیشن‌های خود را در برابر حملات مختلف محافظت کنند.

مزایای Flutter

  • توسعه سریع: با قابلیت Hot Reload، توسعه‌دهندگان می‌توانند بلافاصله تغییرات را مشاهده کنند و زمان توسعه را کاهش دهند.
  • چندسکویی (Cross-Platform): Flutter این امکان را می‌دهد که یک کد واحد برای چندین پلتفرم (iOS، Android، وب و دسکتاپ) استفاده شود.
  • رابط کاربری زیبا: با استفاده از ویجت‌های متنوع و قابل تنظیم، می‌توان اپلیکیشن‌هایی با رابط کاربری زیبا و کاربرپسند طراحی کرد.
  • عملکرد بالا: به دلیل ارتباط مستقیم با GPU و عدم وابستگی به لایه‌های رابط کاربری بومی، اپلیکیشن‌های Flutter عملکرد بسیار سریعی دارند.

چالش‌های استفاده از Flutter

اگرچه Flutter مزایای زیادی دارد، اما برخی چالش‌ها نیز وجود دارد. برای مثال، با وجود اینکه Flutter به سرعت در حال رشد است، اما همچنان نسبت به فناوری‌های بومی (Native) برخی محدودیت‌ها در دسترسی به API‌های خاص سیستم‌عامل‌ها دارد. همچنین، یادگیری زبان Dart برای توسعه‌دهندگانی که به سایر زبان‌های برنامه‌نویسی عادت دارند، می‌تواند کمی زمان‌بر باشد. به علاوه، اپلیکیشن‌های ساخته‌شده با Flutter ممکن است در برخی موارد حجم بیشتری نسبت به اپلیکیشن‌های بومی داشته باشند.

سرفصل های آموزشی طبق استاندارد فنی و حرفه ای کشور

زمان آموزش نظری
0
زمان آموزش عملی
0
طول دوره آموزش
0
هزینه دوره (تومان)
0
هزینه دوره ویژه (تومان)
0

انجام تنظیمات اولیه Flutter و شروع كار با فلاتر

در این بخش، با فریم‌ورک Flutter و معماری آن آشنا می‌شوید. سپس نحوه نصب Flutter و ابزارهای مورد نیاز مانند Android Studio و پکیج‌های Flutter بر روی سیستم‌عامل ویندوز را فرا خواهید گرفت تا بتوانید محیط کاری خود را برای توسعه آماده کنید.

دانش :
  • معرفی فلاتر
  • معماری Flutter
مهارت :
  • نصب و راه اندازی در ویندوز
  • نصب اندروید استادیو
  • نصب پکیج فلاتر
سال 1400 (زمان تدوین استاندارد فنی‌وحرفه‌ای):

نصب Flutter، Android Studio و تنظیمات اولیه برای ویندوز مطرح بود. در این دوره کاربران بیشتر با نصب محیط توسعه و پکیج‌های اولیه آشنا می‌شدند.

زمان حال و بازار کار:

علاوه بر نصب اولیه، از ابزار جدید Go Router برای مدیریت ساده‌تر ناوبری بین صفحات استفاده می‌شود. همچنین Flutter Desktop برای توسعه برنامه‌های چندپلتفرمی روی macOS، Linux و Windows به طور کامل پشتیبانی می‌شود که قبلاً تنها در نسخه‌های بتا در دسترس بود

معرفی زبان Dart

در این سرفصل، با زبان برنامه‌نویسی Dart آشنا خواهید شد و اصول اولیه آن مانند متغیرها، دیتا تایپ‌ها، توابع، عملگرها و دستورات شرطی و حلقه‌ها را یاد می‌گیرید. همچنین مهارت‌های پیشرفته‌تری مانند استفاده از لیست‌ها، Generic‌ها، و اصول شی‌گرایی و ارث‌بری در این زبان آموزش داده می‌شود.

دانش :
  • معرفی زبان Dart
  • نحوه استفاده از متغیر ها و دیتا تایپ ها
  • نحوه استفاده از توابع و عملگرها
  • نحوه استفاده از دستورات شرطی، حلقه ها
مهارت :
  • کاربا متغیر ها و دیتا تایپ ها
  • کار با توابع
  • کار با عملگر ها
  • کار با دستورات شرطی و حلقه ها
  • کار با زبان Flutter
  • کار با List ها
  • کار با Generic ها
  • ارث بری در شی گرایی و Abstract class
سال 1400 (زمان تدوین استاندارد فنی‌وحرفه‌ای):

تمرکز روی مفاهیم پایه Dart از جمله متغیرها، نوع داده‌ها، توابع و ساختارهای شرطی بود.

زمان حال و بازار کار:

نسخه‌های جدید Dart (از 2.15 به بعد) ویژگی‌های پیشرفته‌ای مانند Constructor Tearoffs، Enhanced Enums و Super Initializer Parameters را معرفی کرده که امکان نوشتن کدهای بهینه‌تر و ساده‌تر را فراهم می‌کند. این نسخه‌ها بهینه‌سازی‌های زیادی برای اجرای سریع‌تر برنامه‌ها ارائه داده‌اند​.

نصب برنامه Flutter

در این بخش، نحوه استفاده از ویجت‌های Stateless و Stateful را یاد می‌گیرید. سپس با ایجاد پروژه‌های عملی مانند شمارنده و سبد خرید، مهارت خود را در ایجاد و استفاده از ویجت‌های مختلف Flutter تقویت خواهید کرد.

دانش :
  • روش های ویجت ها در فلاتر
  • نحوه استفاده از ویجت های Stateful
  • نحوه استفاده از ویجت های Stateless
مهارت :
  • ایجاد و استفاده از ویجت های Stateless و پیش فرض
  • ایجاد ویجت های Stateful و پروژه شمارنده
  • انجام پروژه سبد خرید
سال 1400 (زمان تدوین استاندارد فنی‌وحرفه‌ای):

استفاده از ویجت‌های ساده مانند Stateful و Stateless برای ایجاد پروژه‌های کوچک مانند سبد خرید مطرح بود.

زمان حال و بازار کار:

Flutter اکنون به طور کامل از ویجت‌های پیچیده‌تر و ابزارهای سفارشی‌سازی بیشتری مانند Flutter Animate برای انیمیشن‌های پیشرفته پشتیبانی می‌کند. همچنین توسعه برنامه‌های دسکتاپ به صورت بومی در دسترس است و امکان توسعه چندپلتفرمی افزایش یافته است.

کار با اپلیکیشن اینستاگرام

در این بخش، نحوه کار با عناصر UI مانند Bottom Navigation و Layoutهای اینستاگرام را یاد می‌گیرید. همچنین با پیاده‌سازی لیست‌ها، استفاده از فونت‌های فارسی و راست‌چین کردن اپلیکیشن، توانایی طراحی اپلیکیشن‌هایی با رابط کاربری مشابه اینستاگرام را کسب می‌کنید.

دانش :
  • نحوه کار با Buttom navigation
  • نحوه کار با Layout اینستاگرام
  • لیست هادر Layout
  • نحوه استفاده از فونت ها در اپلیکیشن
مهارت :
  • پیاده سازی Buttom navigation bar
  • پیاده سازی Layout اینستاگرام
  • کار با لیست ها در Layout
  • استفاده از فونت فارسی و راست چین کردن اپلیکیشن
سال 1400 (زمان تدوین استاندارد فنی‌وحرفه‌ای):

تمرکز بر پیاده‌سازی Bottom Navigation، Layout ساده و کار با لیست‌ها و فونت‌ها بود.

زمان حال و بازار کار:

Flutter ابزارهای جدیدی برای طراحی UI تطبیقی معرفی کرده است که به توسعه‌دهندگان این امکان را می‌دهد تا طرح‌های پیشرفته‌تری را برای اپلیکیشن‌هایی مشابه اینستاگرام ایجاد کنند. همچنین، پشتیبانی از فونت‌های سفارشی و استفاده از Material 3 برای ایجاد رابط‌های کاربری مدرن‌تر بهبود یافته است​.

کار با اپلیکیشن واتساپ

در این سرفصل، به معرفی و پیاده‌سازی عناصر مهمی مانند Tabbar، PopUpMenuButton، و چک لیست پرداخته می‌شود. همچنین کار با انیمیشن‌ها، Splash Screen، فرم‌ها، و سیستم‌های لاگین و اعتبارسنجی آموزش داده خواهد شد تا بتوانید اپلیکیشنی مشابه واتساپ بسازید.

دانش :
  • معرفی tabbar
  • معرفی Pop up menubutton و check list
  • نحوه کار با سرچ باکس و اسکرول تو در تو
  • نحوه کار با Navigation
  • نحوه کار با Splash screen
  • نحوه کار با انیمیشن و انیمیشن با Stagger
  • نحوه کار با فرم و صفحه لاگین
  • نحوه کار با اعتبارسنجی فرم ها و دریافت اطلاعات
مهارت :
  • پیاده سازی Tabbar
  • پیاده سازی PopUpMenuButton و چک لیست (check list)
  • پیاده سازی سرچ باکس و اسکرول تو در تو
  • Navigation و انتقال اطلاعات بین صفحات
  • پیاده سازی Splash screen
  • کار با انیمیشن ها
  • پیاده سازی انیمیشن با Stagger
  • پیاده سازی فرم و صفحه لاگین
  • پیاده سازی انیمیشن صفحه لاگین
  • اعتبار سنجی فرم ها
  • دریافت اطلاعات از فرم
سال 1400 (زمان تدوین استاندارد فنی‌وحرفه‌ای):

آموزش‌هایی مانند پیاده‌سازی Tabbar، PopUpMenuButton، Navigation، Splash Screen و انیمیشن‌های ساده مطرح بود.

زمان حال و بازار کار:

Flutter ابزارهای بهتری مانند Go Router برای مدیریت ناوبری و انتقال اطلاعات بین صفحات معرفی کرده است. همچنین استفاده از Socket.io برای پیاده‌سازی چت آنلاین و مدیریت ارتباطات زنده در اپلیکیشن‌ها بهبود یافته است. Push Notifications و استفاده از WebSockets نیز برای پشتیبانی بهتر از پیام‌رسانی در زمان واقعی فراهم شده‌اند.

احراز هویت و پایگاه داده در فلاتر

در این بخش، با نحوه پیاده‌سازی سیستم‌های احراز هویت، درخواست‌های HTTP، و مدیریت بانک‌های اطلاعاتی مانند SQLite آشنا خواهید شد. همچنین روش‌های پیاده‌سازی API‌ها، Google Map، و طراحی لیست‌ها و GridView برای محصولات آموزش داده می‌شود.

دانش :
  • معرفی معماری اپلیکیشن های آنلاین
  • نحوه کار با HTTP برای صفحه ورود
  • نحوه احراز هویت
  • انواع محصولات api
  • بانک اطلاعاتی Sqlite
  • درباره ListVeiw و GridVeiw محصولات
  • درباره Google Map
مهارت :
  • معماری اپلیکیشن های آنلاین
  • درخواست HTTP برای صفحه ورود
  • ذخیره سازی اطلاعات با Shared Preferences
  • سیستم احراز هویت و چک کردن اتصال اینترنت
  • دریافت محصولات از api
  • پیاده سازی ListVeiw و GridVeiw محصولات
  • پیاده سازی لیست بی نهایت و درخواست رفرش لیست
  • مدیریت بر روی دکمه برگشت و کار با Dialog
  • ذخیره سازی اطلاعات با Sqlite
  • نصب و راه اندازی Google Map بر روی اندروید و ios
  • آموزش کار با google map
  • مکان یابی کاربران
  • روش پیاده سازی نقشه Map box
  • Drawer Layout روش پیاده سازی
سال 1400 (زمان تدوین استاندارد فنی‌وحرفه‌ای):

کار با پایگاه داده SQLite و احراز هویت محلی مطرح بود.

زمان حال و بازار کار:

ابزارهای جدید مانند Firebase Authentication و Supabase به توسعه‌دهندگان اجازه می‌دهد که احراز هویت را به‌سادگی پیاده‌سازی کنند. Drift به عنوان جایگزینی برای SQLite معرفی شده است که کار با پایگاه داده‌ها را در Flutter ساده‌تر و مدرن‌تر کرده است.

کار با دوربین تلفن همراه در فلاتر

این سرفصل به نحوه کار با دوربین تلفن همراه، ذخیره عکس و فیلم، و استفاده از Socket.io برای چت اختصاص دارد. همچنین پیاده‌سازی سیستم چندزبانه، Push Notification، و پرداخت درون‌برنامه‌ای و گرفتن خروجی پروژه برای اندروید از دیگر مباحث این بخش است.

دانش :
  • نحوه ذخیره سازی فیلم و عکس
  • معرفی io
  • نحوه سیستم پرداخت
مهارت :
  • ایجاد ظاهر بخش کار با دوربین
  • گرفتن عکس از دوربین و ذخیره سازی آن
  • ضبط ویدیو از طریق دوربین
  • پیش نمایش و عکس و ویدیو بند از ذخیره سازی
  • ایجاد یک ویدیو پلیر
  • پیاده سازی ظاهر چت برای استفاده از io
  • پیاده سازی io برای چت
  • دریافت عکس و ویدیو از گالری و دوربین
  • پیاده سازی اپلیکیشن چند زبانه
  • پویا سازی اپلیکیشن چند زبانه
  • پیاده سازی Push notification در اپلیکیشن
  • سیستم پرداخت در اپلیکیشن ها نقدی
  • گرفتن خروجی پروژه برای اندروید
سال 1400 (زمان تدوین استاندارد فنی‌وحرفه‌ای):

آموزش کار با دوربین و پیاده‌سازی سیستم پرداخت نقدی در اپلیکیشن‌ها ارائه می‌شد.

زمان حال و بازار کار:

Flutter اکنون ابزارهای پیشرفته‌تری برای کار با Socket.io برای ارتباطات لحظه‌ای در چت‌ها فراهم کرده است. همچنین، پرداخت‌های آنلاین و چند زبانه کردن اپلیکیشن‌ها بهبود یافته و ابزارهای جدیدی برای پیاده‌سازی پرداخت‌های درون‌برنامه‌ای نیز معرفی شده‌اند.

ثبت نام در دوره

انواع فایل های مجاز : jpg, gif, png, pdf, حداکثر اندازه فایل‌ها : 10 MB.
انواع فایل های مجاز : jpg, gif, png, pdf, حداکثر اندازه فایل‌ها : 10 MB.
انواع فایل های مجاز : jpg, gif, png, pdf, حداکثر اندازه فایل‌ها : 10 MB.
انواع فایل های مجاز : jpg, gif, png, pdf, حداکثر اندازه فایل‌ها : 10 MB.
دوره های آموزشی(الزامی)
این زمینه برای اعتبار سنجی است و باید بدون تغییر باقی بماند .