เพิ่งเห็นว่ามีการปล่อย Wails ใน version beta
เป็น framework สำหรับสร้าง Desktop application
ด้วยภาษา Go และ web technology ต่าง ๆ ได้เลย
ที่สำคัญสิ่งที่ได้ออกมาคือ ระบบงานที่อยู่ในไฟล์ binary เดียวเท่านั้น
ดังนั้นลองมาทำความรู้จักกันหน่อย
ก่อนอื่นทำการติดตั้ง
[gist id="476326e73a4c49ed2db70b6266aa3e9c" file="1.txt"]ทำการสร้าง project เล่น ๆ ชื่อว่า hello
มีให้เราเลือกด้วยว่า จะพัฒนาฝั่ง frontend ด้วยอะไรทั้ง
- Angular
- React
- Vue
โครงสร้างของ project เป็นดังนี้
จะเห็นได้มามี Go และ folder frontend ให้
[gist id="476326e73a4c49ed2db70b6266aa3e9c" file="3.txt"]ที่สำคัญ Wails จะสร้างไฟล์ binary ของ project ให้ชื่อว่า hello
ตามที่กำหนดในการสร้าง project นั่นเอง
เอาไปใช้งานได้เลย ดังนั้นลอง run ดูหน่อย แสดงผลดังนี้
มีคำสั่งอื่น ๆ ให้ใช้งาน เหมือนกับการพัฒนา frontend ทั่วไปเลย
[gist id="476326e73a4c49ed2db70b6266aa3e9c" file="4.txt"]หลังจากติดตั้งและใช้งานกันแล้ว มาดูแนวคิดของ Wails กัน
แนวคิดหลัก ๆ คือ ส่วนของ frontend นั้น
จะใช้แนวคิดการ binding และ Event ไปยังฝั่ง backend ที่พัฒนาด้วยภาษา Go
โดยที่ Wails จะเตรียมระบบการจัดการ Event ที่คล้ายกับ Event ใน Native JavaScript
นั่นหมายความว่า
ทั้งสองฝั่งสามารถติดต่อสื่อสารกันผ่าน Event นี้ได้เลย
ตัวอย่างของ backend พัฒนาด้วยภาษา Go
[gist id="476326e73a4c49ed2db70b6266aa3e9c" file="main.go"]ฝั่ง frontend พัฒนาด้วย Vue
ทาง Wails จะสร้าง bridge ไว้ให้
เพื่อรับ event จากผู้ใช้งาน และ binding กับฝั่ง backend
ลองเล่นดูแล้วน่าสนใจดีนะครับ
ใครว่าง ๆ ลองเล่นกันดู
ตอนนี้ยังอยู่ในสถานะ beta น่าจะมีการปรับเปลี่ยนอีกเยอะ