Google Flutter

สรุปเข้าใจง่าย: ความคืบหน้า Flutter สำหรับการสร้างโปรแกรม Desktop

เรื่องที่เกี่ยวข้อง - Flutter, Flutter for Desktop, Flutter Update, Google Flutter

Flutter สำหรับทำแอพใช้งานบน Desktop (Windows, MacOS, Linux) นั้น พลเคยเกริ่นในช่อง Youtube มาสักพักใหญ่ๆ แล้ว (ใช่สิ ก็มันเป็น alpha ตั้งแต่ปลายปีที่แล้วนี่)

แต่ก่อนวัน Flutter Day ประมาณหนึ่งอาทิตย์แบบนี้ ก็ได้มีการเผยรายละเอียดของ Flutter for Desktop ออกมาให้ได้ตื่นเต้นกันพอสมควร

พลได้อ่านแล้วน่าสนใจมาก เลยมาสรุปให้คนที่ขี้เกียจไปตามตัวเต็มไว้ด้านล่างให้แล้วครับ

ประสบการณ์พัฒนาแอพระดับ Desktop

  • มีการเพิ่ม visualDensityเข้ามาในเทมเพลตได้สักพักแล้ว (ใครอัพเป็น 1.17 แล้วสร้างโปรเจคใหม่ จะเห็นอยู่ใน MaterialApp()) เพื่อควบคุมาการแสดงผลใน platform ต่างๆ
  • TextField เป็น Widget แรกๆ ที่ได้ใช้งานกลไก visualDensity นี้ เช่นการเว้นระยะห่าง ความสวยงาม
  • รองรับการทำงานกับเมาส์และคีย์บอร์ด เช่น
    • รองรับ key code บน Windows
    • รองรับการคลิกขวา
    • การเปลี่ยนแสดง cursor และ scroll wheel (ใครว่าไม่สำคัญ ?)
  • มีคลาส Platform สำหรับอ้างอิงค่าต่างๆ ของระบบ Windows, MacOS, และ Linux
  • มีการโชว์การเรียก Native Message Box ของ Windows ให้ดู
  • มีการโหลดใช้งานไฟล์ DLL (Dynamic Link Library)
แอพ Flutter แสดงการเรียก pop up แบบ native ของระบบ Windows

การพัฒนา Plugin ให้รองรับหลาย Platform

  • เนื่องจากพอ Flutter รองรับ Desktop แล้ว การพัฒนา Plugin จะเป็นเรื่องที่ท้าทายได้ เพราะอาจจะต้องทำทั้ง iOS, Android, Windows, MacOS, และ Linux
  • มีการเสนอรูปแบบการจัดการ Plugin แบบใหม่ เพื่อให้สามารถช่วยกันพัฒนาได้
  • โค้ชพลมีสร้าง ส่วนตรวจสอบเลขบัตรประชาชนไทย, และการแสดงปีพ.ศ.ด้วย Date และ DateTime ด้วย แต่ส่วนนี้คงไม่ต้องใช้ model ใหม่นะ ?
  • มีการแนะนำให้ใช้ Interface เป็นตัวกลางระหว่างแต่ละ platform ก็โอเคดี
  • ด้วยความซับซ้อนของระบบ Windows และ Linux ทำให้ทีม Flutter ยังไม่แนะนำให้ใช้บน Production เร็วๆ นี้

ความท้าทายของระบบ Win32 และ UWP

เราไม่ให้ไม่ทำนะ แต่อาณาจักร Windows มันยิ่งใหญ่เหลือเกิน

  • เพื่อให้ทำงานได้บนหลายระบบ Flutter ได้สร้าง embedder (เป็น Container App รูปแบบหนึ่ง) ขึ้นมาใช้งาน
  • หลักการ embedder จะคล้ายๆ กับกลไกของ Unity
  • เนื่องจากก่อน Windows 10 ทาง Microsoft ใช้รูปแบบการทำโปรแกรมที่เรียกกันว่า Win32
  • แต่หลังจาก Windows 10 เป็นต้นมา ได้ผลักดัน UWP แทน ไม่ใช่ว่าไม่ดี เพราะทำให้เปิดโอกาศกับ Flutter ในการขยายไป Windows 10X และ Xbox
  • แต่ด้วย 2 ระบบใหญ่ที่แตกต่างกันนี่แหละ ที่ยังไม่มี Solution ที่ลงตัวตอนนี้ แต่ทีม Flutter ก็ทำงานใกล้ชิดกับฝั่ง Microsoft แล้วนะ

ถ้าอยากมันส์กับ Flutter Desktop ตอนนี้?

แอพตัวอย่างการจัดการการเรียนสำหรับนักเรียน, ผู้สอน, และผู้ปกครอง สร้างด้วย Flutter

  • ตอนนี้ก็ยังอยู่ในระดับ Technical Preview เครื่องมือ และวิธีใช้งาน ยังไม่มีกำหนดอะไรตายตัวมาก
  • อยากลอง ต้องสลับไปใช้ flutter channel master (ตอนนี้มีการรองรับ Windows กับ Linux)
  • อยากลอง macOS ต้องใช้คำสั่งสลับไปใช้ flutter channel dev
  • สุดท้ายรันคำสั่งใน Flutter SDK ตาม platform ที่ต้องการลองนะ
C:\flutter> flutter config --enable-windows-desktop

flutter config --enable-macos-desktop

flutter config --enable-linux-desktop

เริ่มต้นเรียนรู้สร้างแอพ iOS และ Android ด้วย Google Flutter ไปกับโค้ชพล

เหมาะสำหรับผู้เริ่มต้น

เขียนครั้งเดียว ใช้ได้ทั้งระบบ iOS และ Android ประหยัดเวลา

เรียนได้ทุกเวลา ไม่มีวันหมดอายุ

ได้รู้ตั้งแต่วิธีติดตั้งโปรแกรม จนเอาขึ้นApp Store และ Play Store

ได้ทำแอพของจริง เริ่มต้นจาก 0 ทุกโปรเจค มีระบบถามตอบ กรณีติดปัญหา

 

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save