04 May 2023, 12:00
หลังจากพยายามเขียน Blog ด้วย Flutter for Web มาสักพัก ก็พอจะเข้าใจล่ะว่า Flutter for Web มันไม่ค่อยเหมาะกับ Web Content โดยเฉพาะ Blog นี้ตรงตัวเลย คือ ไม่เหมาะอย่างมาก หลายคนมักจะพูดเรื่อง SEO บลาๆ ซึ่งผมเองก็ใช้ WordPress มาตลอดเลยนึกไม่ค่อยออกเท่าไร WordPress มันทำให้หมดก็เลยไม่มีความรู้ด้านนี้เท่าไร แต่ก็นั่นแหละ โจทย์คือ ไม่ต่ออายุ Hosting และเขียน Web แบบครึ่งๆ กลางๆ โดยใช้ Flutter for Web และ Firebase Hosting นี่จะทำยังไง
ได้ไอเดียมาจาก Jekyll และ Hugo มา ก็เลยเขียน Markdown และข้อมูลของหน้า แยกเป็นไฟล์ย่อยๆ แล้วให้ CI สั่ง generate ไฟล์ที่จำเป็นออกมา เช่น sitemap.xml, rss.xml, markdown content ที่เป็น markdown ล้วนๆ ตอนแสดงผลก็เรียกไฟล์ออกมาแสดงผล เป็นเว็บแบบ SPA (Single Page Applications) ซึ่งก็น่าจะพอถูไถไปได้ แต่อย่าเพิ่งพูดถึง SEO หรือแบ่งเป็นหน้าๆ เพราะตอนนี้ เอาแค่หน้าเดียวก่อนละกัน
ประเด็นเรื่อง Flutter for Web นี้มีหลายเรื่องต้องคิด ทั้ง State ของหน้า ทั้ง Routing ของหน้า จำได้ว่าทำ Web Microlearning ใช้ Flutter for Web นี่ต้องคิดหลายมุม แต่ก็ได้ best practice มาในเรื่อง State Management ก็เป็นเรื่องที่แปลกใหม่ดี
เล่ายาวไปไกล กลับมาเรื่อง Blog ที่เขียน ก็นั่นแหละถ้า CI/CD อยู่บน Github ก็ใช้ Github Actions สั่งสร้างไฟล์ต่างๆ และ build Flutter Web application พร้อม deploy ไปยัง Firebase Hosting ซึ่งดูง่ายมากๆ คิดว่าน่าจะต้องทำแบ่งหน้า ไม่ก็สั่ง generate จาก HTML template น่าจะดี ... เขียนไปเขียนมา กลายเป็น Hugo เวอร์ชั่น Dart ซะงั้น ^o^