Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Wails :: สร้าง Desktop app ด้วยภาษา Go และ Web technology

$
0
0

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

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

[gist id="476326e73a4c49ed2db70b6266aa3e9c" file="1.txt"]

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

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

  • Angular
  • React
  • Vue
[gist id="476326e73a4c49ed2db70b6266aa3e9c" file="2.txt"]

โครงสร้างของ 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

[gist id="476326e73a4c49ed2db70b6266aa3e9c" file="main.js"]

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


Viewing all articles
Browse latest Browse all 1997

Trending Articles