Tags:
Node Thumbnail

Flutter ออกเวอร์ชัน 2.10 ของใหม่ที่สำคัญคือ Flutter for Windows เข้าสถานะเสถียรอย่างเป็นทางการ หลังจากเริ่มพัฒนามาตั้งแต่ปี 2020

โครงการ Flutter บอกว่าตั้งใจรองรับการทำงานหลายแพลตฟอร์มอยู่แล้ว (ปัจจุบัน มี 6 แพลตฟอร์ม คือ Android, iOS, Web, Windows, macOS, Linux) แต่การใช้งาน Flutter บนเดสก์ท็อปมีความต่างจากบนมือถือ ทั้งในแง่ขนาดของหน้าจอและวิธีป้อนข้อมูล ทำให้ทีม Flutter ต้องสร้างเลเยอร์ที่เป็น C++ เพิ่มเข้ามา (สีเขียวในภาพ) เพื่อให้ทำงานกับ API ต่างๆ ของวินโดวส์ได้อย่างสมบูรณ์

Flutter for Windows มีระบบปลั๊กอินที่รองรับฟีเจอร์ต่างๆ ของวินโดวส์ เช่น camera, file_picker รวมถึงรองรับฟีเจอร์ใหม่ๆ อย่างระบบดีไซน์ Fluent UI และระบบแพ็กเกจแอพ MSIX มาให้พร้อมสรรพ แถมยังได้ทีมจากไมโครซอฟท์เข้ามาช่วยพัฒนา ตัวอย่างคือแพ็กเกจ fluentui_system_icons เป็นชุดไอคอนสำหรับ Fluent UI และช่วยเชื่อมต่อกับ Windows Narrator ตัวอ่านหน้าจอเป็นเสียงของวินโดวส์ด้วย

No Description

No Description

ของใหม่อย่างอื่นใน Flutter 2.10 คือการปรับปรุงประสิทธิภาพด้านการวาดหน้าจออีกหลายจุด, ฟีเจอร์ช่วยลดการใช้แรมบน iOS 64-bit, เพิ่มฟีเจอร์รองรับระบบธีมสีแบบใหม่ของ Android 12 Material You ที่เลือกธีมสีจากค่าสีของพื้นหลังได้

Flutter บอกว่าการรองรับเดสก์ท็อปแพลตฟอร์มอื่นๆ คือ macOS และ Linux จะเข้าสถานะเสถียรตามมาในอีกไม่กี่เดือนข้างหน้า

ที่มา - Flutter 2.10, Flutter for Windows

Get latest news from Blognone

Comments

By: sukjai
iPhoneAndroidRed HatUbuntu
on 4 February 2022 - 09:22 #1239646

แจ่มๆ มาถูกละครับที่ทำบนวินโดว์ก่อน ส่วนตัวผมคิดว่าผู้ใช้วินโดว์น่าจะเยอะกว่า os อื่น

By: nzing82
AndroidWindows
on 4 February 2022 - 11:20 #1239657

ชาบู!!!!

By: IDCET
Contributor
on 4 February 2022 - 13:46 #1239669

ผมก็หวังว่าเมื่อเขียนโปรแกรมแล้ว ตัวโปรแกรมจะรองรับการ Complie ให้ใช้งานได้ทั้ง Windows x86-64 และ Windows ARM ด้วยเลย ไม่ต้องเขียนใหม่ เหมือนที่ Apple ทำได้ตอนช่วงเปลี่ยนถ่ายทั้ง PPC > Intel กับ Intel > M1


ความล้มเหลว คือจุดเริ่มต้นสู่ความหายนะ มีผลกระทบมากกว่าแค่เสียเงิน เวลา อนาคต และทรัพยากรที่เสียไป - จงอย่าล้มเหลว

By: akira on 4 February 2022 - 14:02 #1239670 Reply to:1239669

ถ้าโดยหลักการแล้ว Flutter ทำงานคล้าย browser มี layer บนเป็น render engine ถ้า layer ล่างที่เป็น c++ รวมถึง library ที่ทำขึ้นมาเฉพาะมีรองรับก็น่าจะทำงานได้เลยนะครับ ปัญหาส่วนใหญ่เกิดจากเราไปเรียกใช้ library ภายนอกที่บางครั้งไม่รองรับในบาง OS หรือบางสถาปัตยกรรม วิธีแก้ง่ายสุดก็ทำให้ layer ล่างเป็น API แบบ JSON หรือเขียน plugin ให้ output เหมือนกันทุก OS เพื่อให้ส่วนเรียกใช้ใน Flutter เหมือนกัน แล้วทำ layer ล่างเรียกใช้ API ของ OS เองด้วยภาษาอะไรก็ได้ที่เราถนัดในแต่ละ OS