เพิ่งเห็นว่ามีการปล่อย Wails ใน version beta
เป็น framework สำหรับสร้าง Desktop application
ด้วยภาษา Go และ web technology ต่าง ๆ ได้เลย
ที่สำคัญสิ่งที่ได้ออกมาคือ ระบบงานที่อยู่ในไฟล์ binary เดียวเท่านั้น
ดังนั้นลองมาทำความรู้จักกันหน่อย

ก่อนอื่นทำการติดตั้ง

ทำการสร้าง project เล่น ๆ ชื่อว่า hello

มีให้เราเลือกด้วยว่า จะพัฒนาฝั่ง frontend ด้วยอะไรทั้ง

  • Angular
  • React
  • Vue

โครงสร้างของ project เป็นดังนี้

จะเห็นได้มามี Go และ folder frontend ให้

ที่สำคัญ Wails จะสร้างไฟล์ binary ของ project ให้ชื่อว่า hello
ตามที่กำหนดในการสร้าง project นั่นเอง
เอาไปใช้งานได้เลย ดังนั้นลอง run ดูหน่อย แสดงผลดังนี้

มีคำสั่งอื่น ๆ ให้ใช้งาน เหมือนกับการพัฒนา frontend ทั่วไปเลย

หลังจากติดตั้งและใช้งานกันแล้ว มาดูแนวคิดของ Wails กัน

แนวคิดหลัก ๆ คือ ส่วนของ frontend นั้น
จะใช้แนวคิดการ binding และ  Event ไปยังฝั่ง backend ที่พัฒนาด้วยภาษา Go
โดยที่ Wails จะเตรียมระบบการจัดการ Event ที่คล้ายกับ Event ใน Native JavaScript
นั่นหมายความว่า
ทั้งสองฝั่งสามารถติดต่อสื่อสารกันผ่าน Event นี้ได้เลย

ตัวอย่างของ backend พัฒนาด้วยภาษา Go

ฝั่ง frontend พัฒนาด้วย Vue
ทาง Wails จะสร้าง bridge ไว้ให้
เพื่อรับ event จากผู้ใช้งาน และ binding กับฝั่ง backend

ลองเล่นดูแล้วน่าสนใจดีนะครับ
ใครว่าง ๆ ลองเล่นกันดู
ตอนนี้ยังอยู่ในสถานะ beta น่าจะมีการปรับเปลี่ยนอีกเยอะ