Google Flutter

สรุป Flutter และ WebAssembly ตอนที่ 1: การใช้งานร่วมกัน

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

ตอนนี้กระแส Flutter ค่อนข้างแรงขึ้นมาเรื่อยๆ โดยเฉพาะหลังจากงานเปิดตัว Flutter 2

ที่ Flutter 2 กลับมาเป็นกระแสแรงอีกรอบ ก็คงไม่พ้นที่ตัวเครื่องมือรองรับการรันใช้งานโปรเจคในรูปแบบของ Web Application อันนี้ใครสนใจรายละเอียดทั้งหมดแบบกระชับๆ ไปอ่านที่พลเขียนสรุปไว้ได้

แต่วันนี้จะมาว่ากันเรื่องเว็บที่แหละครับ

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

ทีนี้กระแสในฝั่งเว็บที่ร้อนแรงอีกอัน ไม่มีตกคือ Web Assembly (WASM)

คำถามคือ Flutter ที่รันเป็นเว็บแอพพลิเคชั่น มันเอามาใช้งานร่วมกับ Web Assembly ได้ไหม

ทำได้แล้วด้วยอ่ะ

หากสนใจ ไปดูเดโมของคุณ Aseem Wangoo ได้ โดยขั้นตอนสรุปการทำจะเป็นแบบนี้

  1. สร้างไฟล์ binary ที่ได้จากกระบวนการแปลงโค้ด เป็น Web Assembly ก่อน (C#.NET, C++, C, Rust, Go ก็ทำได้ มีอีกตัวหนึ่งคือ AssemblyScript น่าสนใจอยู่เดี๋ยวมาว่ากันทีหลัง)
  2. ใช้ wasm_interop package ในโปรเจค Flutter
  3. เขียนโค้ดเรียกใช้ฟังก์ชั่นต่างๆ ใน WASM ได้เลย

เออ ง่ายดีแหะ

CanvasKit: ขุมพลังการ render บนเว็บของ Flutter ผ่าน WebAssembly

ในอีกทางหนึ่ง ตัว Flutter เองก็ได้ใช้ Web Assembly อยู่แล้วด้วย ในฝั่ง Web นั่นก็คือ CasvasKit

ซึ่ง CanvasKit ก็คือ Skia Library ที่ได้จากการหลอมรวมเทคนิคของ WebAssembly และ WebGL เข้าด้วยกันนี่เอง

ถ้าสนใจรายละเอียด ทางเทคนิคเพิ่มเติม สามารถอ่านต่อได้ในแหล่งอ้างอิงเนื้อหาครับ

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

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

อ้างอิงเนื้อหาเพิ่มเติม

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

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

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

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

Privacy Preferences

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

Allow All
Manage Consent Preferences
  • Always Active

Save