- สร้างเว็บไซต์/เว็บแอปพลิเคชันแบบโต้ตอบที่ขยายระบบได้ด้วยแนวทาง Go ที่เบาและเป็น pure โดยใช้ go & htmx
- ผสานความเร็วและความเรียบง่ายของ go เข้ากับคุณสมบัติไฮเปอร์มีเดีย (htmx) เพื่อเพิ่มความสามารถแบบโต้ตอบให้กับเว็บไซต์
- สร้างเว็บไซต์แบบโต้ตอบที่เรียบง่ายและรวดเร็วได้โดยไม่ต้องแตะ JavaScript
- ทุกอย่างถูกคอมไพล์เป็น single binary เดียวที่พร้อมสำหรับ deployment
func IndexPage(ctx *h.RequestContext) *h.Page {
now := time.Now()
return h.NewPage(
h.Div(
h.Class("flex gap-2"),
h.TextF("the current time is %s", now.String())
)
)
}
ฟีเจอร์หลัก
- single binary ที่พร้อม deploy
- live reload (เมื่อมีการเปลี่ยนแปลงจะ rebuild css, go, ent schema และ routes)
- ลงทะเบียนหน้าและ partial โดยอัตโนมัติตาม file path
- รองรับ tailwindcss พร้อมสถาปัตยกรรมปลั๊กอินเริ่มต้น จึงไม่ต้องตั้งค่าอะไร
- สถาปัตยกรรมปลั๊กอิน: มีปลั๊กอินเสริมเพื่อให้การพัฒนาง่ายขึ้น (http://entgo.io เป็นต้น)
- custom htmx extensions เพื่อลด boilerplate ของงานที่พบบ่อย
2 ความคิดเห็น
พอลองใช้ streamlit แล้ว มุมมองของผมที่มีต่อเว็บในฐานะแอปพลิเคชันก็เปลี่ยนไปเล็กน้อย
ถ้ามันไม่ใช่สิ่งที่ผมต้องการ แต่เป็นวิธีที่ streamlit ต้องการ ก็ยังพูดได้ว่าเป็นตัวเลือกที่ดีเพียงพอ
ช่วงนี้เริ่มเห็นเฟรมเวิร์กที่ใช้ประโยชน์จาก htmx โผล่มาทีละตัวแล้วนะครับ
Fasthtml... ยังปรับตัวไม่ค่อยได้เท่าไร
https://th.news.hada.io/topic?id=16091
ผมเคยค่อนข้างสงสัยว่า Htmx จำเป็นขนาดนั้นไหม แต่ถือโอกาสนี้คงต้องลองดูให้ละเอียดสักหน่อยแล้วครับ