สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาแอพมือถือ · MBC-23

Flutter Advanced

หลักสูตร Flutter Advanced เป็นการอบรมต่อยอดจากขั้นกลางในหัวข้อที่ใช้กับงานจริง ทั้ง UI แบบ Material 3 และ Cupertino แอปหลายภาษา สถาปัตยกรรม MVVM กับ Bloc การเขียน Test ฐานข้อมูล SQLite และ Firebase จนถึงแอปแชตแบบเรียลไทม์และการนำแอปขึ้น Store เหมาะกับนักพัฒนาที่เขียน Flutter มาแล้วหรือผ่าน Flutter ขั้นกลาง

อัปเดตล่าสุด
ราคาเริ่มต้น 12,150 บาท / ท่าน 13,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา30 ชั่วโมง · 5 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

เมื่อเขียน Flutter ได้แล้ว โจทย์ถัดไปคือการทำแอปที่ใช้งานจริงได้ในระดับองค์กร ซึ่งต้องมีโครงสร้างโค้ดที่ดูแลง่าย จัดการ State อย่างเป็นระบบ รองรับหลายภาษา เก็บข้อมูลทั้งในเครื่องและบน Cloud ส่งการแจ้งเตือน และใช้ความสามารถของอุปกรณ์ได้ ตัวอย่างจำนวนมากที่พบบนอินเทอร์เน็ตยังเป็นแนวทางยุค Flutter 2 และ Flutter 3 ช่วงแรก เช่น MVC แบบเก่า การทำหลายภาษาด้วยไฟล์ JSON เอง หรือการตั้งค่า Firebase แบบทำมือ ทำให้นำมาใช้กับโปรเจกต์ปัจจุบันได้ยาก

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่สำหรับ Flutter 3.47 และ Dart 3.13 ต่อยอดจากขั้นกลางไปสู่หัวข้อที่ใช้ในงานจริง ทั้ง Material 3 ขั้นสูง แอปสไตล์ iOS ด้วย Cupertino แอปหลายภาษาด้วย gen-l10n สถาปัตยกรรมแบบ MVVM ตาม Architecture Guide ของ Flutter การจัดการ State ด้วย Bloc การเขียน Test ฐานข้อมูล SQLite การอัปโหลดรูปผ่าน REST API ระบบสมาชิกและ Cloud Firestore แอปแชตแบบเรียลไทม์ Push Notifications งานเสียงและวิดีโอ Device APIs ไปจนถึงการ Build และนำแอปขึ้น Store (อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง ระดับ Advanced)

สิ่งที่คุณจะได้รับ

  • ออกแบบ UI ขั้นสูงด้วย Material 3, Animation และแอปสไตล์ iOS ด้วย Cupertino ได้
  • ทำแอปหลายภาษาด้วย gen-l10n และไฟล์ ARB ได้
  • วางสถาปัตยกรรมแอปแบบ MVVM และจัดการ State ด้วย Bloc และ Cubit ได้
  • เขียน Unit Test, Widget Test และ Integration Test ให้แอปได้
  • เก็บข้อมูลในเครื่องด้วย SQLite และอัปโหลดรูปไปยัง REST API ได้
  • ใช้ Firebase Authentication, Cloud Firestore และ Cloud Storage ทำแอปแชตแบบเรียลไทม์ได้
  • ส่ง Push Notifications ด้วย Firebase Cloud Messaging และใช้งานเสียง วิดีโอ และ Device APIs ได้
  • ปรับประสิทธิภาพ Build และนำแอปขึ้น Google Play และ App Store ได้

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนาที่ผ่าน Flutter ขั้นกลางหรือเขียน Flutter มาแล้วและอยากทำแอประดับใช้งานจริง
  • นักศึกษาและผู้ทำโปรเจกต์แอปมือถือที่ต้องเชื่อมต่อ Backend และ Cloud
  • ครู อาจารย์ และวิทยากรที่สอน Flutter และต้องการเนื้อหาขั้นสูงที่ทันสมัย
  • นักไอทีหรือทีมพัฒนาที่ดูแลแอป Flutter ขององค์กร

พื้นฐานของผู้เข้าอบรม

  • เขียน Flutter มาบ้างแล้ว หรือผ่านหลักสูตร Flutter ขั้นกลาง
  • มีพื้นฐานภาษา Dart เช่น Class, Async และ Null Safety
  • ไม่จำเป็นต้องเขียน Swift, Kotlin หรือ Java มาก่อน
  • มีบัญชี Google สำหรับสร้างโปรเจกต์ Firebase และโน้ตบุ๊กที่ติดตั้ง Flutter ได้

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ที่มาแทนหลักสูตร Flutter 3 advanced รุ่นเดิม เนื้อหาเขียนใหม่ให้ตรงกับ Flutter 3.47 และ Dart 3.13 อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายสลับ Lab และ Workshop ตลอดหลักสูตร ระดับ Advanced ต่อยอดจาก Flutter for Beginners และ Flutter ขั้นกลาง ผู้เรียนจะได้วางสถาปัตยกรรมแบบ MVVM จัดการ State ด้วย Bloc ทำแอปหลายภาษา เขียน Test เก็บข้อมูลด้วย SQLite และ Firebase สร้างแอปแชตแบบเรียลไทม์พร้อม Push Notifications ใช้ Device APIs ปรับประสิทธิภาพ และ Build แอปเพื่อนำขึ้น Store พร้อมรับ Lab Guide และซอร์สโค้ดครบทุก Workshop กลับไปใช้งานต่อ

Day 1 UI ขั้นสูงและแอปหลายภาษา

Section 1: Lab: Dart 3 ขั้นสูงและการเตรียมโปรเจกต์

  • ทบทวน Flutter 3.47 และ Dart 3.13 พร้อมสิ่งที่เปลี่ยนจาก Flutter 3 รุ่นแรก
  • Records, Pattern Matching, sealed class และ switch แบบ Expression
  • Extension Methods และ Extension Types สำหรับโค้ดที่อ่านง่าย
  • ตั้งค่า Lint และ flutter analyze เพื่อรักษาคุณภาพโค้ดของทีม
  • Lab: แปลงโค้ดรุ่นเก่าให้ใช้ฟีเจอร์ Dart 3

Section 2: Lab: Material 3 ขั้นสูงและ Animation

  • สร้าง Theme ด้วย ColorScheme.fromSeed และ ThemeExtension สำหรับสีของแบรนด์
  • NavigationBar, NavigationRail และ Layout ที่ปรับตามขนาดจอ
  • Shape, Card และ Component ที่ปรับแต่งให้เป็นเอกลักษณ์ของแอป
  • Implicit Animation, Hero และ AnimatedSwitcher สำหรับการเปลี่ยนหน้าที่ลื่นไหล
  • Lab: หน้าแค็ตตาล็อกสินค้าพร้อมเมนูแบบ Backdrop และ Animation

Section 3: Lab: แอปสไตล์ iOS ด้วย Cupertino

  • CupertinoApp, CupertinoTabScaffold และโครงสร้างแอปแบบ 3 แท็บ
  • รายการสินค้า ช่องค้นหา และฟอร์มข้อมูลลูกค้าแบบ Cupertino
  • CupertinoDatePicker, Action Sheet และ Dialog แบบ iOS
  • Widget แบบ Adaptive ที่แสดงผลตามแพลตฟอร์มโดยอัตโนมัติ
  • Lab: แอปร้านค้าแบบ iOS พร้อมตะกร้าสินค้า

Section 4: Lab: แอปหลายภาษาด้วย gen-l10n

  • ตั้งค่า flutter_localizations, intl และไฟล์ l10n.yaml
  • เขียนข้อความในไฟล์ ARB ทั้งภาษาไทยและอังกฤษ พร้อม Placeholder และ Plural
  • ใช้ AppLocalizations ที่ Generate ให้ใน UI แทนการเขียน Delegate เอง
  • จัดรูปแบบวันที่ ตัวเลข และสกุลเงินตามภาษา
  • Lab: ให้ผู้ใช้สลับภาษาเองและจำค่าที่เลือกไว้ในเครื่อง
Day 2 สถาปัตยกรรม, State และ Testing

Section 5: Lab: สถาปัตยกรรมแอปแบบ MVVM

  • ทำไมต้องแยกชั้นโค้ด และปัญหาของโปรเจกต์ที่รวมทุกอย่างไว้ใน Widget
  • แบ่ง UI Layer และ Data Layer ตาม Architecture Guide ของ Flutter
  • หน้าที่ของ View, ViewModel, Repository และ Service
  • Dependency Injection แบบเรียบง่ายและการจัดโฟลเดอร์ตาม Feature
  • Lab: ปรับแอปตัวอย่างจากโครงสร้างแบบ MVC เดิมให้เป็น MVVM

Section 6: Lab: จัดการ State ด้วย Bloc และ Cubit

  • แนวคิด Bloc: Event, State และ Transition
  • Cubit สำหรับ State ที่ไม่ซับซ้อน และ Bloc เมื่อต้องติดตาม Event
  • BlocProvider, BlocBuilder, BlocListener และ BlocConsumer
  • ออกแบบ State ด้วย sealed class และจัดการสถานะโหลด สำเร็จ และผิดพลาด
  • Lab: หน้ารายการสินค้าพร้อมตัวกรองที่ขับด้วย Bloc

Section 7: Lab: Navigation ขั้นสูงด้วย go_router

  • กำหนด Route แบบประกาศ พร้อม Path Parameter และ Query Parameter
  • ShellRoute สำหรับแอปที่มี Bottom Navigation คงที่
  • Redirect เพื่อบังคับ Login ก่อนเข้าหน้าที่ต้องยืนยันตัวตน
  • รองรับ Deep Link บน Android และ iOS

Section 8: Lab: เขียน Test ให้แอป Flutter

  • Unit Test สำหรับ Repository และ ViewModel
  • จำลอง Dependency ด้วย mocktail
  • ทดสอบ Bloc และ Cubit ด้วย bloc_test
  • Widget Test และ Integration Test ที่รันบนอุปกรณ์จริง
  • Lab: เขียน Test ให้หน้ารายการสินค้าครบทุกชั้น
Day 3 ข้อมูลในเครื่อง, REST API และ Firebase

Section 9: Lab: ฐานข้อมูลในเครื่องด้วย SQLite

  • ติดตั้ง sqflite และ path แล้วเปิดฐานข้อมูลด้วย openDatabase
  • สร้าง Model พร้อม toMap และ fromMap
  • เขียน Repository สำหรับเพิ่ม ค้นหา แก้ไข และลบข้อมูล
  • อัปเกรดโครงสร้างตารางเมื่อแอปออกเวอร์ชันใหม่
  • Lab: แอปบันทึกรายจ่ายที่ทำงานได้แม้ไม่มีอินเทอร์เน็ต

Section 10: Lab: อัปโหลดรูปไปยัง REST API

  • เลือกรูปจากกล้องหรือ Gallery ด้วย image_picker และย่อขนาดก่อนส่ง
  • เตรียม REST API ฝั่ง Backend ด้วย Laravel สำหรับรับไฟล์ภาพ
  • ส่งไฟล์แบบ Multipart พร้อม Token และแสดงความคืบหน้า
  • จัดการ Error, Timeout และการลองส่งใหม่
  • Lab: หน้าแก้ไขโปรไฟล์พร้อมเปลี่ยนรูป

Section 11: Lab: ตั้งค่า Firebase และระบบสมาชิก

  • สร้างโปรเจกต์ Firebase และเชื่อมแอปด้วย FlutterFire CLI (flutterfire configure)
  • เริ่มต้น Firebase ด้วย DefaultFirebaseOptions ทั้ง Android และ iOS
  • สมัครสมาชิก เข้าสู่ระบบ และออกจากระบบด้วย Firebase Authentication
  • ฟังสถานะการเข้าสู่ระบบด้วย Stream และพาไปหน้าที่เหมาะสม
  • Lab: หน้า Login และสมัครสมาชิกพร้อม Loading และข้อความแจ้งเตือน

Section 12: Lab: CRUD บน Cloud Firestore

  • โครงสร้างข้อมูลแบบ Collection และ Document
  • เพิ่ม อ่าน แก้ไข และลบข้อมูลใน Cloud Firestore
  • ฟังข้อมูลแบบเรียลไทม์ด้วย snapshots และแสดงผลด้วย StreamBuilder
  • Query, การเรียงลำดับ และการแบ่งหน้า
  • เขียน Security Rules ให้เฉพาะผู้ใช้ที่ล็อกอินเข้าถึงข้อมูลของตัวเอง
Day 4 แอปแชต, การแจ้งเตือน และ Media

Section 13: Workshop: แอปแชตแบบเรียลไทม์

  • ฟอร์มยืนยันตัวตนและเก็บข้อมูลผู้ใช้เพิ่มเติมใน Firestore
  • ส่งข้อความ เรียงตามเวลา และฟังข้อความใหม่แบบเรียลไทม์
  • สร้าง Chat Bubble แสดงชื่อผู้ส่งและเวลา
  • ตั้ง Security Rules สำหรับห้องแชต
  • Workshop: ทดสอบแชตพร้อมกันบนหลายเครื่อง

Section 14: Lab: อัปโหลดรูปด้วย Cloud Storage for Firebase

  • เลือกรูป ตรวจชนิดและขนาดไฟล์ก่อนอัปโหลด
  • อัปโหลดไฟล์ไปยัง Cloud Storage และติดตามความคืบหน้า
  • เก็บ URL ของรูปใน Firestore และแสดงผลพร้อม Cache
  • Security Rules สำหรับไฟล์ และทดสอบบนเครื่อง iOS จริง
  • Lab: ส่งรูปในห้องแชต

Section 15: Lab: Push Notifications ด้วย Firebase Cloud Messaging

  • ติดตั้ง firebase_messaging และตั้งค่าเฉพาะ Android และ iOS รวมถึง APNs
  • ขอสิทธิ์แจ้งเตือนบน Android รุ่นใหม่และ iOS
  • รับข้อความขณะเปิดแอป อยู่เบื้องหลัง และปิดแอป
  • แสดงการแจ้งเตือนขณะเปิดแอปด้วย flutter_local_notifications
  • Lab: ส่งการแจ้งเตือนจาก Firebase Console และเปิดหน้าที่เกี่ยวข้องเมื่อแตะ

Section 16: Lab: เสียงและวิดีโอในแอป

  • ขอสิทธิ์ไมโครโฟนและบันทึกเสียงด้วย Package บน pub.dev
  • เล่น หยุด เลื่อนตำแหน่ง และปรับระดับเสียง
  • เล่นวิดีโอด้วย video_player พร้อมปุ่มควบคุมที่ออกแบบเอง
  • ฝังวิดีโอจาก YouTube และข้อควรระวังเรื่องเงื่อนไขการใช้งาน
  • Lab: ส่งข้อความเสียงในห้องแชต
Day 5 Device APIs, ประสิทธิภาพ และการขึ้น Store

Section 17: Lab: ใช้ความสามารถของอุปกรณ์

  • จัดการสิทธิ์อย่างเป็นระบบด้วย permission_handler
  • ตำแหน่งด้วย geolocator และเซนเซอร์ด้วย sensors_plus
  • สแกนลายนิ้วมือหรือใบหน้าด้วย local_auth
  • เปิดลิงก์ อีเมล และโทรออกด้วย url_launcher และแสดงเว็บด้วย webview_flutter
  • ภาพรวมการใช้ Bluetooth และ NFC ผ่าน Plugin และข้อจำกัดของแต่ละแพลตฟอร์ม

Section 18: Lab: ปรับประสิทธิภาพและ Debug

  • วัดผลด้วย Flutter DevTools: Performance, CPU Profiler และ Memory
  • ลดการ Rebuild ด้วย const และการแยก Widget
  • จัดการรูปภาพ Cache และรายการยาวอย่างมีประสิทธิภาพ
  • ลดขนาดแอปและตรวจขนาดด้วย App Size Tool
  • Lab: หาและแก้จุดที่ทำให้แอปตัวอย่างกระตุก

Section 19: Build และนำแอปขึ้น Store

  • แยกค่าตั้งค่าตามสภาพแวดล้อมด้วย Flavor และ dart-define
  • ตั้งชื่อแอป ไอคอน Splash Screen และเลขเวอร์ชัน
  • ลงลายเซ็นและ Build App Bundle สำหรับ Google Play
  • Archive แอป iOS ทดสอบผ่าน TestFlight และส่งขึ้น App Store Connect
  • ติดตามข้อผิดพลาดหลังปล่อยแอปด้วย Firebase Crashlytics

Section 20: Workshop: Capstone แอปครบวงจร

  • ออกแบบแอปตามโจทย์ที่เลือกด้วยสถาปัตยกรรม MVVM และ Bloc
  • เชื่อม Firebase, SQLite และ REST API ตามความเหมาะสมของงาน
  • เพิ่มหลายภาษา การแจ้งเตือน และ Test ในส่วนสำคัญ
  • นำเสนอผลงาน รีวิวโค้ดร่วมกัน และแนะนำแนวทางพัฒนาต่อ

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

ใช้ SQLite เก็บข้อมูลในแอป Flutter ทำอย่างไร

เพิ่ม Package sqflite และ path ด้วย flutter pub add แล้วสร้าง Model Class ที่แปลงเป็น Map และกลับได้ด้วย toMap และ fromMap จากนั้นเขียน Repository ที่เปิดฐานข้อมูลด้วย openDatabase สร้างตารางใน onCreate และมีเมธอดเพิ่ม ค้นหา แก้ไข และลบ เมื่อแอปออกเวอร์ชันใหม่ให้ปรับโครงสร้างตารางใน onUpgrade แล้วเรียกใช้ผ่าน ViewModel หรือ Bloc แทนการเรียกจากหน้าจอโดยตรง ข้อมูลอยู่ในเครื่องจึงใช้งานได้แม้ไม่มีอินเทอร์เน็ต

ทำแอป Flutter ให้รองรับหลายภาษามีขั้นตอนอย่างไร

แนวทางปัจจุบันคือใช้เครื่องมือ gen-l10n ที่มากับ Flutter โดยเพิ่ม flutter_localizations และ intl ใน pubspec.yaml เปิด generate และสร้างไฟล์ l10n.yaml จากนั้นเขียนข้อความในไฟล์ ARB แยกตามภาษา เช่น app_en.arb และ app_th.arb Flutter จะสร้างคลาส AppLocalizations ให้อัตโนมัติ นำ localizationsDelegates และ supportedLocales ไปใส่ใน MaterialApp แล้วเรียกข้อความผ่าน AppLocalizations.of(context) ถ้าให้ผู้ใช้สลับภาษาเองให้เก็บค่าที่เลือกไว้ในเครื่องเพื่อใช้ครั้งถัดไป

ใช้ StreamBuilder กับ Cloud Firestore แสดงข้อมูลแบบเรียลไทม์ทำอย่างไร

Cloud Firestore ส่งข้อมูลเป็น Stream ได้ด้วยเมธอด snapshots() เช่น FirebaseFirestore.instance.collection('messages').orderBy('createdAt').snapshots() นำ Stream นี้ไปใส่ใน StreamBuilder แล้วสร้าง ListView จากเอกสารใน snapshot ทุกครั้งที่มีการเพิ่ม แก้ไข หรือลบข้อมูล หน้าจอจะอัปเดตเองโดยไม่ต้องดึงซ้ำ ซึ่งเป็นหลักการเดียวกับแอปแชตแบบเรียลไทม์ในหลักสูตรนี้ ก่อนเริ่มต้องตั้งค่าโปรเจกต์ด้วย flutterfire configure และควรตั้ง Security Rules ให้เฉพาะผู้ใช้ที่ล็อกอินอ่านเขียนได้

หลักสูตร Flutter Advanced เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนาที่เขียน Flutter มาแล้วหรือผ่านหลักสูตร Flutter ขั้นกลาง นักศึกษาที่ทำโปรเจกต์แอปที่ต้องเชื่อม Backend และ Cloud ครูอาจารย์ที่สอน Flutter และทีมที่ดูแลแอปขององค์กร ควรมีพื้นฐานภาษา Dart เช่น Class, Async และ Null Safety ไม่ต้องเคยเขียน Swift, Kotlin หรือ Java มาก่อน และควรมีบัญชี Google สำหรับสร้างโปรเจกต์ Firebase

เรียนจบหลักสูตร Flutter Advanced แล้วทำอะไรได้บ้าง

ออกแบบ UI ด้วย Material 3 และ Cupertino ทำแอปหลายภาษาด้วย gen-l10n วางโครงสร้างแอปแบบ MVVM จัดการ State ด้วย Bloc ใช้ go_router เขียน Test เก็บข้อมูลด้วย SQLite อัปโหลดรูปไปยัง REST API ทำระบบสมาชิกและ CRUD บน Cloud Firestore สร้างแอปแชตแบบเรียลไทม์พร้อมส่งรูปและ Push Notifications ใช้ Device APIs ปรับประสิทธิภาพ และนำแอปขึ้น Store ได้ ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Flutter Advanced ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึกวางโครงสร้าง MVVM และ Bloc กับฟีเจอร์ของแอปที่ทีมกำลังพัฒนาอยู่ ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449