دوره آموزش فلاتر از صفر تا ساخت اپلیکیشن حرفهای Android و iOS
دوره آموزش Flutter یک مسیر پروژهمحور برای یادگیری برنامهنویسی اپلیکیشنهای چندسکویی با زبان Dart و فریمورک Flutter است. در این کلاس، آموزش از نصب ابزارها و مبانی برنامهنویسی Dart شروع میشود و به طراحی رابط کاربری، مدیریت State، اتصال به API، دیتابیس، Firebase، معماری نرمافزار، تست، بهینهسازی و انتشار اپلیکیشن در Android و iOS میرسد.
فلاتر فقط برای ساخت اپ موبایل نیست و میتوان با آن برای Android، iOS، Web، Windows، macOS و Linux نیز نرمافزار توسعه داد. با این حال تمرکز اصلی دوره روی مهارتهایی است که یک Flutter Developer برای ساخت پروژههای واقعی، کار تیمی و ورود به بازار کار نیاز دارد.
آموزش Flutter 3.47 و تکنولوژیهای جدید فلاتر

در آموزش بهروز فلاتر، مباحث براساس نسل جدید Flutter و Dart تدریس میشوند. در نسخههای جدید، موتور Impeller نقش اصلی در رندر موبایل دارد و در iOS تنها Renderer پشتیبانیشده محسوب میشود. در Android نیز روی دستگاههای پشتیبانیشده و نسخههای جدید سیستمعامل بهصورت پیشفرض استفاده میشود.
همچنین موضوعاتی مانند Material 3، Widget Previews، Predictive Back، PopScope، Router API، go_router، DevTools، Performance Profiling و معماریهای جدید پروژه در طول دوره بررسی میشوند.
Flutter چگونه اپلیکیشن را اجرا میکند؟
- آشنایی با Flutter Framework
- شناخت Flutter Engine
- زبان برنامهنویسی Dart
- تفاوت Debug، Profile و Release Mode
- کامپایل JIT در فرآیند توسعه
- کامپایل AOT برای نسخه Release در پلتفرمهای پشتیبانیشده
- شناخت موتور رندر Impeller
- شناخت نقش Skia در بخشهایی از اکوسیستم Flutter از جمله Web
نصب Flutter SDK و راهاندازی محیط برنامه نویسی

در اولین بخش عملی کلاس، محیط توسعه Flutter روی سیستم آماده میشود و هنرجو یاد میگیرد مشکلات رایج نصب را خودش تشخیص دهد.
نصب ابزارهای موردنیاز Flutter
- نصب Flutter SDK
- تنظیم PATH
- اجرای
flutter doctor - نصب Android Studio
- نصب Android SDK
- ساخت Android Emulator
- نصب Visual Studio Code
- نصب افزونههای Flutter و Dart
- اتصال گوشی واقعی برای Debug
- فعالسازی Developer Options و USB Debugging در Android
- آشنایی با تنظیمات Xcode برای توسعه iOS روی macOS
ساخت اولین پروژه Flutter
- اجرای
flutter create - شناخت فایل
main.dart - اجرای پروژه روی Emulator
- اجرای پروژه روی گوشی واقعی
- کار با Hot Reload
- کار با Hot Restart
- مشاهده Logها
- رفع خطاهای Build اولیه
آموزش زبان Dart برای برنامه نویسی Flutter

قبل از ورود جدی به طراحی اپلیکیشن، هنرجو باید زبان Dart را بهاندازهای یاد بگیرد که بتواند کد Flutter را تحلیل و توسعه دهد.
مبانی Dart از صفر
- Variable
- String
- int و double
- bool
- List
- Set
- Map
- Operatorها
- شرط if و switch
- حلقه for و while
- Function
- Named Parameter
- Optional Parameter
- Arrow Function
Null Safety در Dart
Null Safety یکی از مفاهیم مهم Dart است. هنرجو یاد میگیرد تفاوت متغیر Nullable و Non-Nullable را درک کند و بهجای استفاده بیرویه از علامت !، ساختار داده را صحیح طراحی کند.
- Nullable Type
- Non-Nullable Type
- علامت
? - Null-aware Operatorها
???.- Late Variable
- مدیریت خطاهای Null
برنامه نویسی شی گرا در Dart
- Class و Object
- Constructor
- Named Constructor
- Factory Constructor
- Inheritance
- Encapsulation
- Abstract Class
- Interface
- Mixin
- Enum
- Extension Method
- Generic
آموزش Future، async و await در Dart
تقریباً تمام اپلیکیشنهای واقعی با عملیات Async مانند دریافت API، خواندن دیتابیس یا فایل سروکار دارند.
- Future چیست؟
- ساخت Future
asyncawait- مدیریت خطاهای Async
- FutureBuilder
- اجرای چند عملیات غیرهمزمان
Stream و برنامه نویسی Reactive
- Stream
- StreamSubscription
- StreamBuilder
- Single Subscription Stream
- Broadcast Stream
- کاربرد Stream در چت و اطلاعات Real-Time
ساختار پروژه Flutter و مدیریت فایل ها
هنرجو قبل از بزرگ شدن پروژه یاد میگیرد فایلها و Folderها را بهصورت قابل توسعه سازماندهی کند.
فایل های مهم پروژه Flutter
| فایل یا پوشه | کاربرد |
|---|---|
| lib | محل اصلی کدهای Dart پروژه |
| main.dart | Entry Point اصلی اپلیکیشن |
| pubspec.yaml | مدیریت Package، Asset، Font و تنظیمات پروژه |
| android | تنظیمات Native مربوط به Android |
| ios | تنظیمات Native مربوط به iOS |
| test | تستهای پروژه |
آموزش Widget در Flutter از Stateless تا Stateful

در Flutter رابط کاربری از مجموعهای از Widgetها ساخته میشود. برای یادگیری صحیح Flutter باید رابطه Parent و Child، Build Method و Widget Tree بهصورت مفهومی درک شود.
StatelessWidget
برای بخشهایی از UI که State داخلی قابل تغییر ندارند، از StatelessWidget استفاده میشود.
StatefulWidget
هنگامی که رابط کاربری براساس تغییر اطلاعات نیاز به Rebuild دارد، مفهوم State و StatefulWidget وارد پروژه میشود.
Widgetهای پرکاربرد Flutter
- Text
- Container
- Scaffold
- AppBar
- Icon
- Image
- Buttonها
- TextField
- Card
- Divider
- SafeArea
- Padding
- Center
- Align
آموزش Layout در Flutter و طراحی رابط کاربری حرفه ای

یکی از مهمترین قسمتهای آموزش طراحی UI با Flutter، درک سیستم Constraints است. هنرجو یاد میگیرد چرا یک Widget اندازه خاصی میگیرد و چگونه Layout بدون Overflow ایجاد کند.
Widgetهای اصلی Layout
- Row
- Column
- Stack
- Positioned
- Expanded
- Flexible
- Wrap
- Spacer
- AspectRatio
- FractionallySizedBox
- LayoutBuilder
- MediaQuery
آموزش طراحی Responsive در Flutter برای موبایل، تبلت و دسکتاپ
یک رابط کاربری حرفهای نباید فقط روی اندازه گوشی مدرس درست نمایش داده شود. در کلاس، طراحی Responsive براساس محدودیت واقعی Layout آموزش داده میشود.
- MediaQuery
- LayoutBuilder
- Breakpoint
- Adaptive Layout
- Responsive Grid
- تغییر Layout در Tablet
- طراحی برای Desktop
- مدیریت Orientation
- Text Scaling
- Safe Area
آموزش ListView، GridView و Scroll در Flutter
- ListView
- ListView.builder
- GridView
- GridView.builder
- SingleChildScrollView
- ScrollController
- Pagination
- Infinite Scroll
- Pull to Refresh
آموزش CustomScrollView و Sliver
- CustomScrollView
- SliverAppBar
- SliverList
- SliverGrid
- SliverToBoxAdapter
- ساخت Headerهای متحرک
- طراحی صفحات پیچیده Scroll
آموزش Material 3 و طراحی Theme در Flutter
در پروژههای جدید، Material 3 بخش مهمی از طراحی رابط کاربری Flutter است. هنرجو یاد میگیرد بهجای تنظیم دستی رنگ و Style در هر صفحه، Design System پروژه را مدیریت کند.
ThemeData و ColorScheme
- ThemeData
- ColorScheme
- Typography
- Button Theme
- Input Theme
- Card Theme
- Light Theme
- Dark Theme
- مدیریت Theme در کل پروژه
آموزش Widget Previews در نسخه های جدید Flutter
در Flutter 3.47 قابلیت Widget Previews به وضعیت Stable رسیده است. این قابلیت به توسعهدهنده کمک میکند Widgetها و حالتهای مختلف UI را با سرعت بیشتری بررسی کند.
کاربرد Widget Preview در کلاس
- بررسی Widget بدون اجرای کامل Flow اپ
- تست چند وضعیت UI
- تست Light و Dark Theme
- بررسی سریع تغییرات Design
- توسعه Componentهای قابل استفاده مجدد
آموزش فرم در Flutter و اعتبارسنجی اطلاعات
- TextField
- TextFormField
- Form
- GlobalKey
- Validator
- TextEditingController
- FocusNode
- Keyboard Type
- مدیریت Focus
- نمایش Error Message
ساخت فرم ثبت نام و ورود
- Mobile Number
- Password
- Confirm Password
- OTP
- Validation
- Loading State
- Error State
آموزش State Management در Flutter

مدیریت State در Flutter یکی از اصلیترین مباحث دوره است. هنرجو ابتدا مفهوم State را میفهمد و سپس روش مناسب را براساس اندازه پروژه انتخاب میکند.
| روش | کاربرد آموزشی |
|---|---|
| setState | State ساده و Local |
| ValueNotifier | مدیریت State سبک در بخشهای محدود |
| Provider | آشنایی با Dependency و State اشتراکی |
| BLoC / Cubit | پروژههای ساختاریافته و Event/State |
| Riverpod | مدیریت State و Dependency در پروژههای مدرن |
آموزش BLoC و Cubit در Flutter
- State
- Event
- Bloc
- Cubit
- BlocProvider
- MultiBlocProvider
- BlocBuilder
- BlocListener
- BlocConsumer
- مدیریت Loading، Success و Error
آموزش Riverpod در Flutter
- Provider
- Consumer
- ref.watch
- ref.read
- مدیریت Async State
- Dependency Injection
- تفکیک Logic از UI
آموزش Navigation و Routing در Flutter
در پروژههای ساده میتوان از Navigator استفاده کرد، اما برای پروژههایی که Deep Link، Web URL یا Navigation پیچیده دارند، استفاده از Router API و Packageهایی مانند go_router گزینه کاربردیتری است.
Navigator در Flutter
- Navigator.push
- Navigator.pop
- MaterialPageRoute
- ارسال Parameter بین صفحات
- دریافت Result از صفحه
آموزش go_router
- تعریف Route
- Path Parameter
- Query Parameter
- Nested Route
- Redirect
- Authentication Guard
- Deep Link
- ShellRoute
- Bottom Navigation چندصفحهای
PopScope و Predictive Back در Android
در آموزشهای جدید بهجای WillPopScope که Deprecated شده است، از PopScope برای مدیریت Back Navigation در سناریوهای مناسب استفاده میشود.
- کنترل خروج از فرم
- نمایش Dialog قبل از خروج
- Android Predictive Back
- مدیریت نتیجه Pop
آموزش اتصال Flutter به API و وب سرویس

یکی از مهمترین مهارتهای بازار کار، اتصال Flutter به REST API است. در این بخش هنرجو با ساختار HTTP و ارتباط Client و Server آشنا میشود.
مبانی REST API
- GET
- POST
- PUT
- PATCH
- DELETE
- Header
- Body
- Query Parameter
- Status Code
- JSON
اتصال به API با Dio
- ساخت Dio Client
- Base URL
- Timeout
- GET Request
- POST Request
- Header
- Interceptor
- Authorization Token
- Error Handling
- Cancel Request
آموزش تبدیل JSON به Model در Flutter
- تحلیل JSON
- ساخت Model Class
- fromJson
- toJson
- Nested Model
- List Mapping
- آشنایی با Code Generation
- کاهش خطاهای Mapping
آموزش Repository Pattern و Service Layer
در پروژه حرفهای، UI نباید مستقیماً در همه صفحات Request شبکه ارسال کند. هنرجو یاد میگیرد ارتباط با API را از Presentation Layer جدا کند.
- API Service
- Remote Data Source
- Repository
- Model
- Entity
- Error Mapping
- Dependency Injection
آموزش Clean Architecture در Flutter
Clean Architecture در پروژههای بزرگ کمک میکند وابستگی بین بخشهای مختلف کنترل شود و تغییر API، Database یا UI کمترین اثر را روی سایر لایهها داشته باشد.
لایه های پروژه Clean Architecture
| لایه | مسئولیت |
|---|---|
| Presentation | Widget، Page و State Management |
| Domain | Entity، Use Case و Contractها |
| Data | Repository Implementation، API و Local Storage |
اصول SOLID در پروژه Flutter
- Single Responsibility
- Open/Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
آموزش Dependency Injection در Flutter
- مفهوم Dependency
- Constructor Injection
- Service Locator
- Dependency Container
- مدیریت Repositoryها
- مدیریت API Service
- تفکیک Dependencyهای Development و Production
آموزش ذخیره اطلاعات در Flutter
Shared Preferences برای تنظیمات ساده
برای اطلاعات کوچک مانند Theme، وضعیت Onboarding یا تنظیمات ساده برنامه میتوان از Packageهای Key-Value مانند shared_preferences استفاده کرد.
آموزش SQLite و دیتابیس رابطه ای
- ساخت Database
- Table
- Insert
- Select
- Update
- Delete
- Query
- Migration
- مدیریت Connection
آشنایی با Drift
کتابخانهای که در گذشته با نام Moor شناخته میشد، اکنون با نام Drift توسعه پیدا میکند. در دوره، کاربرد ORM و Queryهای Type-Safe در پروژههای مناسب بررسی میشود.
آموزش Hive برای ذخیره سازی محلی
- Box
- Key-Value Storage
- Model
- Adapter
- خواندن داده
- نوشتن داده
- ویرایش و حذف
- Reactive Update
پروژه عملی ToDo List با Flutter و Hive
در این پروژه، هنرجو یک برنامه مدیریت وظایف میسازد تا همزمان UI، State و Local Database را تمرین کند.
مراحل پروژه ToDo
- طراحی Model وظیفه
- ساخت صفحه لیست کارها
- افزودن Task
- ویرایش Task
- حذف Task
- تغییر وضعیت انجامشده
- ذخیره اطلاعات در Hive
- آپدیت Reactive رابط کاربری
- فیلتر وظایف
آموزش Firebase در Flutter
Firebase مجموعهای از سرویسهای Backend است که برای پروژههای موبایل و Web قابل استفاده است. هنرجو با سرویسهایی که در پروژه واقعی کاربرد بیشتری دارند آشنا میشود.
Firebase Authentication
- Email و Password
- ثبت نام
- Login
- Logout
- مدیریت User
- شنود Authentication State
- آشنایی با Providerهای ورود پشتیبانیشده
Cloud Firestore
- Collection
- Document
- Read
- Write
- Update
- Delete
- Query
- Real-Time Listener
Firebase Cloud Messaging
- Push Notification
- Device Token
- Foreground Message
- Background Message
- Notification Permission
- مدیریت کلیک روی Notification
آموزش Notification در Flutter
در این بخش تفاوت Local Notification و Push Notification بررسی میشود.
- Local Notification
- Schedule Notification
- Push Notification
- Permission در Android و iOS
- Notification Channel در Android
- Deep Link از Notification
آموزش کار با دوربین، گالری و فایل در Flutter
- انتخاب تصویر از Gallery
- استفاده از Camera
- Permission Handling
- File Picker
- آپلود فایل
- نمایش Progress آپلود
- نمایش تصویر Profile
- مدیریت File Size
آموزش GPS و Location در Flutter
- دریافت Location
- Latitude و Longitude
- Permission
- بررسی فعال بودن Location Service
- Current Position
- Distance Calculation
- Geocoding
- Reverse Geocoding
پروژه مسیریابی و نقشه شبیه اپلیکیشن های تاکسی اینترنتی
یکی از پروژههای کاربردی دوره، طراحی یک سناریوی ساده مسیریابی و انتخاب مبدا و مقصد است. در این پروژه تمرکز روی کار با Map، Location و Stateهای متوالی رابط کاربری است.
ساخت زیرساخت نقشه
- آشنایی با OpenStreetMap
- کار با Packageهای نقشه سازگار با Flutter
- MapController
- Marker
- جابجایی و Zoom نقشه
- مدیریت State نقشه
انتخاب مبدا و مقصد
- دریافت Location کاربر
- انتخاب نقطه روی نقشه
- ثبت مبدا
- ثبت مقصد
- نمایش Marker
- محاسبه فاصله
- Geocoding آدرس
- لغو انتخاب و بازگشت به مرحله قبل
طراحی مراحل درخواست سفر
- انتخاب مبدا
- انتخاب مقصد
- نمایش خلاصه مسیر
- نمایش آدرس
- ورود به مرحله درخواست راننده
- لغو درخواست
آموزش WebSocket و ارتباط Real-Time در Flutter
برای پروژههایی مانند چت، مانیتورینگ، قیمت لحظهای و سیستمهای آنلاین، ارتباط Real-Time اهمیت زیادی دارد.
تفاوت REST API و WebSocket
- Request / Response در REST
- اتصال Persistent
- ارسال داده Real-Time
- Connection State
- Reconnect
- Heartbeat در معماریهای مرتبط
پروژه چت آنلاین با Flutter و Socket.IO
در پروژه چت، مفاهیم Socket، Stream، State Management، ارسال فایل و معماری Client/Server بهصورت ترکیبی تمرین میشوند.
راه اندازی ارتباط Socket
- اتصال Client به Server
- Connection Event
- Disconnect
- Reconnect
- Send Message
- Receive Message
ساخت صفحه چت
- صفحه Login
- Conversation
- Message Bubble
- Text Message
- وضعیت Typing
- Scroll به پیام جدید
- Stream Update
- مدیریت اتصال قطعشده
ارسال فایل در چت
- تصویر
- ویدیو
- File Upload
- نمایش Progress
- ارسال Metadata فایل
آموزش Video Player در Flutter
در پروژه Video Player، هنرجو یک Player قابل کنترل طراحی میکند و مدیریت State رسانه را تمرین میکند.
قابلیت های پروژه پخش ویدیو
- Load Video
- Play
- Pause
- Seek
- Forward
- Rewind
- Progress Bar
- Duration
- Full Screen
- Aspect Ratio
- Previous و Next
- Playlist
- مدیریت Lifecycle Player
آموزش Animation در Flutter
Implicit Animation
- AnimatedContainer
- AnimatedOpacity
- AnimatedAlign
- AnimatedSwitcher
Explicit Animation
- AnimationController
- Tween
- CurvedAnimation
- AnimatedBuilder
- Transition Widgetها
Hero Animation
Hero Animation برای ایجاد Transition بین یک Element مشترک در دو صفحه استفاده میشود و در پروژههایی مانند صفحه محصولات کاربرد زیادی دارد.
پروژه فروشگاه اینترنتی حرفه ای با Flutter

یکی از مهمترین پروژههای دوره، ساخت اپلیکیشن فروشگاهی با ساختاری نزدیک به یک پروژه واقعی است. این پروژه برای ترکیب UI، API، Authentication، BLoC، Routing، Repository و Clean Architecture طراحی شده است.
معماری پروژه فروشگاه
- Feature-Based Folder Structure
- Presentation Layer
- Domain Layer
- Data Layer
- Entity
- Use Case
- Repository
- Remote Data Source
- Local Data Source
- Dependency Injection
ساخت صفحه اصلی فروشگاه
- Banner و Slider
- دستهبندی محصولات
- محصولات ویژه
- Product Card
- Grid Product
- Loading State
- Error State
- Pagination
صفحه جزئیات محصول
- تصاویر محصول
- نام و توضیحات
- قیمت
- تخفیف
- ویژگیها
- افزودن به سبد خرید
- مدیریت State صفحه
ساخت سبد خرید
- افزودن محصول
- حذف محصول
- افزایش تعداد
- کاهش تعداد
- محاسبه مجموع قیمت
- همگامسازی با Server
- مدیریت Loading و Error
احراز هویت با OTP
- دریافت شماره موبایل
- ارسال Code
- ورود OTP
- تایید Code
- دریافت Token
- ذخیره امن اطلاعات موردنیاز Session
- مدیریت Logout
ساخت AuthInterceptor با Dio
- اضافه کردن Token به Header
- بررسی خطاهای Authentication
- مدیریت Response
- مدیریت Expired Token براساس Backend پروژه
- تفکیک Network Layer از UI
صفحه پروفایل و سفارش ها
- نمایش اطلاعات User
- ویرایش Profile
- آپلود تصویر
- نمایش سفارشها
- جزئیات Order
- ثبت سفارش نهایی
آموزش امنیت در اپلیکیشن Flutter
امنیت اپلیکیشن فقط با مخفی کردن یک String در کد حل نمیشود. هنرجو با اصولی آشنا میشود که در سمت Client اهمیت دارند.
مدیریت اطلاعات حساس
- عدم قرار دادن Secretهای مهم در Source Code
- مدیریت Token
- Secure Storage برای اطلاعات حساس قابل ذخیره در Client
- استفاده از HTTPS
- Validation سمت Client و Server
- عدم اعتماد به دادههای Client در Backend
- مدیریت Logهای حساس
- محافظت از اطلاعات شخصی کاربر
آموزش Platform Channel و ارتباط Flutter با Native
اگر قابلیت موردنیاز در Flutter Package مناسبی نداشته باشد، میتوان با استفاده از Platform Channel با کد Native ارتباط برقرار کرد.
ارتباط با Android و iOS
- Method Channel
- ارسال داده Dart به Native
- دریافت Result
- تعامل با قابلیتهای سیستمعامل
- آشنایی با Kotlin در سمت Android
- آشنایی با Swift در سمت iOS
آموزش ساخت Custom Plugin در Flutter
- ساخت Plugin
- تعریف API سمت Dart
- کد Native Android
- کد Native iOS
- مدیریت Platform-specific Implementation
- تست Plugin
آموزش بهینه سازی سرعت اپلیکیشن Flutter
Performance فقط به معنی سریع بودن API نیست. Rebuildهای اضافه، تصاویر بزرگ، Listهای سنگین و عملیات Blocking میتوانند UI را کند کنند.
کاهش Rebuildهای غیرضروری
- استفاده از const
- تقسیم Widgetهای بزرگ
- محدود کردن Scope تغییر State
- بررسی Rebuild با DevTools
- استفاده صحیح از Selectorها در State Managementهای مرتبط
بهینه سازی Listهای بزرگ
- ListView.builder
- Lazy Building
- Pagination
- Image Cache
- Placeholder
استفاده از Isolate برای پردازش های سنگین
عملیات CPU-Intensive در صورت اجرای نامناسب میتواند UI Thread را تحت فشار قرار دهد. در بخش Performance، کاربرد Isolate و جداسازی برخی پردازشهای سنگین بررسی میشود.
آموزش Flutter DevTools و پیدا کردن مشکلات Performance
- Widget Inspector
- Performance View
- CPU Profiler
- Memory View
- Network View
- Logging
- بررسی Frame Rendering
- شناسایی Rebuild
- تحلیل Memory Usage
آموزش Debugging حرفه ای در Flutter
- Breakpoint
- Step Into
- Step Over
- Watch Variable
- Stack Trace
- Exception
- Debug Console
- Flutter Error
- Debug Paint
- تحلیل خطاهای Layout
- رفع Overflow
آموزش Unit Test، Widget Test و Integration Test

در یک پروژه حرفهای، تغییر یک بخش نباید باعث خراب شدن بخش دیگری بدون اطلاع تیم شود. به همین دلیل تست نرمافزار در سطح کاربردی آموزش داده میشود.
| نوع تست | هدف |
|---|---|
| Unit Test | تست Logic، Function، Use Case و Repository |
| Widget Test | بررسی رفتار و نمایش Widget |
| Integration Test | بررسی Flow کامل چند بخش اپلیکیشن |
Mock کردن Dependencyها
- Mock API
- Mock Repository
- Test Data
- بررسی Success State
- بررسی Error State
- آشنایی با Mockito یا ابزارهای مشابه
آموزش Git و GitHub برای پروژه های Flutter
Git یکی از مهارتهای ضروری بازار کار برنامهنویسی است و در پروژههای دوره برای مدیریت نسخهها استفاده میشود.
- git init
- git add
- git commit
- Branch
- Merge
- Conflict
- GitHub Repository
- Push
- Pull
- Pull Request
- .gitignore
- مدیریت Feature Branch
آموزش CI/CD برای پروژه Flutter
در سطح پیشرفته، مفهوم Continuous Integration و Continuous Delivery معرفی میشود تا هنرجو بداند فرآیند Build و Test چگونه قابل خودکارسازی است.
- اجرای خودکار Test
- Flutter Analyze
- Build خودکار
- Versioning
- Environmentهای Development و Production
- آشنایی با GitHub Actions
- آشنایی با سرویسهای CI/CD مخصوص Mobile
آموزش Flutter Web
با Flutter میتوان از بخش قابل توجهی از Codebase مشترک برای ساخت Web Application استفاده کرد؛ اما طراحی Web باید با نیازهای مرورگر، Navigation، SEO و Performance همان پروژه تطبیق داده شود.
مباحث Flutter Web
- Responsive Design
- Browser Navigation
- Deep Link
- URL Routing
- Mouse و Keyboard Interaction
- Build Web
- Deployment
- Performance Web
آموزش Flutter Desktop برای Windows، macOS و Linux
- ساخت Desktop Project
- Responsive Desktop Layout
- Window Size
- Keyboard Shortcut
- Mouse Interaction
- File System
- Build Windows
- Build macOS
- Build Linux
آموزش انتشار اپلیکیشن Flutter در Google Play
پس از تکمیل پروژه، هنرجو با مراحل آمادهسازی نسخه Release برای Android آشنا میشود.
آماده سازی نسخه Android
- Application ID
- App Name
- Icon
- Splash Screen
- Version Name
- Version Code
- Signing
- Keystore
- Release Build
- Android App Bundle
آشنایی با Google Play Console
- ساخت Release
- Upload فایل App Bundle
- Store Listing
- Screenshot
- Privacy Policy
- Data Safety
- Testing Track
- Production Release
آموزش انتشار Flutter در Apple App Store
برای انتشار نسخه iOS به محیط macOS، Xcode و تنظیمات حساب توسعهدهنده Apple نیاز است.
- Bundle Identifier
- Signing
- Certificate
- Provisioning
- Xcode Archive
- TestFlight
- App Store Connect
- App Information
- Privacy Settings
- Release Version
روش واقعی یادگیری Flutter در کلاس
| مرحله | تمرین عملی | مهارت هدف |
|---|---|---|
| ۱ | تمرین Dart | منطق برنامهنویسی |
| ۲ | ساخت UI | Widget و Layout |
| ۳ | State Management | مدیریت داده و UI |
| ۴ | API و Database | ارتباط با Backend |
| ۵ | پروژه فروشگاه | Architecture و پروژه واقعی |
| ۶ | Test و Debug | کیفیت نرمافزار |
| ۷ | Build و Release | تحویل اپلیکیشن |
پروژه های عملی دوره آموزش Flutter
- اپلیکیشن ToDo با Local Database
- Video Player
- اپلیکیشن فروشگاهی
- سبد خرید
- ورود و ثبت نام OTP
- پروفایل و آپلود تصویر
- اتصال به REST API
- پروژه چت Real-Time
- ارسال فایل در Chat
- اپلیکیشن نقشه و مسیریابی
- Notification
- Firebase
- پروژه نهایی با Clean Architecture
چک لیست مهارت Flutter Developer بعد از پایان دوره
- توانایی برنامهنویسی با Dart
- ساخت UI حرفهای با Widgetها
- طراحی Responsive
- مدیریت State
- کار با BLoC یا Riverpod
- اتصال به REST API
- کار با Dio
- مدیریت JSON و Modelها
- Authentication
- Local Storage
- Firebase
- WebSocket
- Clean Architecture
- Repository Pattern
- Dependency Injection
- Unit و Widget Test
- Debugging با DevTools
- Git و GitHub
- Build نسخه Release
- آمادهسازی اپلیکیشن برای انتشار
کاربرد Flutter در توسعه نرم افزار
ساخت اپلیکیشن Android و iOS
یکی از اصلیترین کاربردهای Flutter، توسعه اپلیکیشن موبایل با Codebase مشترک برای Android و iOS است. بخش قابل توجهی از Logic و UI میتواند بین دو پلتفرم مشترک باشد و در صورت نیاز بخشهای Platform-specific نیز جداگانه پیادهسازی شوند.
ساخت اپلیکیشن های سازمانی
Flutter برای طراحی Dashboard، نرمافزارهای فروش، CRM، اپلیکیشن خدماتی، سفارشگیری، مدیریت کارکنان و بسیاری از نرمافزارهای تجاری قابل استفاده است.
ساخت نرم افزارهای چندپلتفرمی
در پروژههایی که Mobile، Web یا Desktop بهصورت همزمان موردنیاز است، Flutter میتواند امکان اشتراک بخش قابل توجهی از Codebase را فراهم کند؛ البته طراحی هر Platform باید براساس تجربه کاربری همان محیط انجام شود.
ساخت اپلیکیشن های تعاملی و بازی های سبک
Flutter برای تجربههای تعاملی، Animation و بازیهای سبک دوبعدی قابل استفاده است. برای پروژههای بازی پیچیده و سهبعدی، Game Engineهای تخصصی گزینههای متفاوتی ارائه میکنند.
بازار کار Flutter و مسیر شغلی برنامه نویس فلاتر

یادگیری Flutter میتواند مسیر ورود به توسعه اپلیکیشن موبایل و نرمافزارهای Cross-Platform باشد. مهارت واقعی بازار کار تنها با دانستن Widgetها ایجاد نمیشود و شرکتها معمولاً به توسعهدهندهای نیاز دارند که API، Git، State Management، Architecture، Debugging و اصول نرمافزار را نیز بداند.
| مسیر شغلی | مهارت های مکمل |
|---|---|
| Flutter Developer | Dart، State Management، API و Git |
| Mobile App Developer | Android، iOS، Notification و Store Release |
| Cross-Platform Developer | Mobile، Web، Desktop و Responsive UI |
| Full-Stack Mobile Developer | Flutter به همراه Backend، Database و API |
دوره Flutter برای چه افرادی مناسب است؟
- افرادی که میخواهند برنامهنویسی موبایل را از پایه شروع کنند.
- برنامهنویسان وب که قصد ورود به توسعه اپلیکیشن دارند.
- توسعهدهندگان Android که میخواهند Cross-Platform کار کنند.
- توسعهدهندگان iOS
- دانشجویان رشتههای کامپیوتر و IT
- افرادی که قصد فعالیت بهعنوان Flutter Developer دارند.
- فریلنسرهایی که میخواهند اپ Android و iOS توسعه دهند.
- صاحبان ایدههای استارتاپی که میخواهند فرآیند توسعه اپ را بهتر بشناسند.
کلاس آموزش Flutter در آموزشگاه کامتک
در کلاس آموزش فلاتر کامتک مسیر یادگیری از Dart و ساخت رابط کاربری آغاز شده و با اجرای پروژههای واقعی ادامه پیدا میکند. هنرجو در طول دوره با API، دیتابیس، State Management، Git، معماری پروژه، Firebase، WebSocket و ابزارهای Debugging کار میکند.
پروژههایی مانند اپلیکیشن فروشگاهی، ToDo List، Video Player، چت Real-Time و اپلیکیشن نقشه و مسیریابی کمک میکنند مفاهیم مختلف در یک سناریوی واقعی کنار یکدیگر قرار گیرند و هنرجو صرفاً مجموعهای از مثالهای جداگانه را حفظ نکند.


