มีโอกาสไปแนะนำเรื่องของการพัฒนาระบบงานด้วย Flutter
ที่มหาวิทยาลัยราชภัฏพิบูลสงคราม จำนวน 3 วัน
เป็นการปูพื้นฐานสำหรับการพัฒนาระบบด้วย Flutter
ซึ่งเน้นไปที่ Mobile app
โดยมีเนื้อหาดังนี้

  • Architecture ของ Flutter ว่าเป็นอย่างไร คืออะไรบ้าง
  • ภาษาโปรแกรมที่ต้องศึกษาให้ดีคือ Dart
  • การติดตั้งและเครื่องมือต่าง ๆ ที่จำเป็นต่อการพัฒนา ทั้ง editor, device เป็นต้น
  • CLI tool ต่าง ๆ ที่ flutter และ dart เตรียมไว้ให้เช่น fomat code, lint, analyze code, test, run, spect ui เป็นต้น
  • การลงมือสร้าง app เพื่อทำงานเรียนรู้ภาษาโปรแกรมและเครื่องมือ
  • โครงสร้างของระบบที่ดี เช่น MVC, MVP, MVVM และ clean architecture ซึ่งแบ่งเป็นสองกลุ่มคือ layer based และ feature/domain based

และอีกอย่างที่เยอะหน่อยคือ library ที่ใช้งาน
มีทั้ง standard และ 3-party
โดยจะสรุป library ที่เป็น 3-party ไว้นิดหน่อยดังนี้

  • Router ใช้งาน go_router
  • State management ใช้งาน GetX ซึ่งก็มี router ให้ด้วย ก็ใช้แทน go_router ไปเลย รวมทั้งยังไม่เรื่องของ dependency management ให้ด้วย ใช้ง่าย ๆ สบาย ๆ
  • สำหรับ State management ยังมีตัวอื่น ๆ ที่ใช้งานกัน เช่น riverpod, BLoC
  • การจัดการข้อมูลเช่น shared_preference และ secure storage
  • การจัดการข้อมูลงลง database นั้นแนะนำ 3 ตัวคือ sqflite, hive, supabase และ firebase realtime database ซึ่งใช้ง่ายดี
  • อย่าลืมติดตั้งพวก firebase crashlytic และ analytic ด้วย ขาดไม่ได้เลย
  • การเชื่อมต่อข้อมูลผ่าน HTTPs เช่นเรียกใช้งาน REST APIs แนะนำให้ใช้ dio หรือ retrofit หรือ chopper ส่วนในการทดสอบใช้งาน http_mock_adapter ไปก็สะดวกดี
  • พวก form ต่าง ๆ ลองใช้งาน flutter_form_builder
  • ถ้าต้องการ capture รูปของแต่ละ widget ไว้ดู ใช้งาน screenshot ได้
  • เรื่องของ adaptive และ responsive นั้น ชอบใช้งาน flutter_screenutil, responsive_framework และ responsive_builder เป็นต้น
  • ส่วน UI/widget ต่าง ๆ ลองดูแรงบันดาลใจจาก awesome flutter ได้
  • พวก animation ต่าง เช่น Lottie for Flutter และ Rive เป็นต้น

Reference Websites