WordPres in WebAssembly

WebAssembly (WASM) เริ่มมีบทบาทมากขึ้นเรื่อยๆ เพราะเราสามารถ compile โปรแกรมแทบจะทุกภาษาให้เป็น WASM แล้วไปรันบน browser หรือบน edge ได้สะดวกและปลอดภัย

นักพัฒนาชื่อ Adam Zielinski ได้ compile PHP 7.4 และ SQLite เป็น WASM แล้ว config ให้ WordPress ใช้ SQLite แทน MySQL จากนั้นก็ใช้ Emscripten Toolkit แพ็คไฟล์ทั้งหลายแหล่ของ WordPress ให้เป็น bundled FileSystem

ตอนรันก็ให้ Worker โหลด Bundle ขึ้นมาแล้ว launch WordPress Instant ขึ้นมา แล้วให้ HTTP traffic ทั้งหมดของเว็บเข้ามารัน WordPress instant นี้

ผลที่ได้คือ WordPress ที่รันทั้งตัวใน Browser เนื่องจาก instant ทั้งตัวรวมทั้ง database วิ่งใน memory และ FileSystem ทั้งหมดก็ preload ทำให้มันทำงานได้เร็ว

หลายอย่างยังไม่เวิร์ค เช่น Plugin ยังไช้ไม่ได้เพราะติดต่อกับ WordPress.org ไม่ได้ แต่เราสามารถใส่ plugin ของเราใน Must-have Plugin directory ได้ ดังนั้นเราสามารถใช้ตัวนี้สำหรับการพัฒนา Plugin ได้

ยังไม่มีเวลาลองมากแต่ตัวนี้น่าสนใจจริงๆ WordPress กำลังจะกลายเป็น CMS ที่ติดตั้งง่ายและรันได้ทุกหนทุกแห่งเร็วๆนี้แน่นอน…

ใครสนใจจะลองไปโหลดได้ที่นี่ครับ adamziel/wordpress-wasm: Run WordPress in the browser thanks to WebAssembly magic (github.com)

ป.ล. ลองทำตามใน Repository ได้เลย Username & Password เริ่มต้นคือ admin/password แต่เล่นแล้ว refresh web จะหายหมดเพราะทุกอย่างวิ่งบน memory