- ทำให้สามารถใช้ sqlite3 ได้ในเบราว์เซอร์สมัยใหม่ที่รองรับ WASM
- เบตาสาธารณะระยะแรกเริ่มต้นในเวอร์ชัน 3.40 และมีแผนทำให้ API เสถียรในรีลีส 3.41 ตามฟีดแบ็กจากชุมชน
กรณีใช้งานจริง
- มีการใช้งานอยู่ในหลายโปรเจกต์ เช่น SQLime, Evolu, SQLiteNext
- โปรเจกต์ที่เกี่ยวข้อง ได้แก่ sql.js ของ Alon Zakai, wa-sqlite ของ Roy Hashimoto, absurd-js ของ James Long
สรุปโดย GN⁺
- sqlite3 WASM และ JavaScript API เป็นโปรเจกต์สำคัญที่ทำให้สามารถใช้ฐานข้อมูล sqlite3 ได้ในเว็บเบราว์เซอร์
- มีทั้งตัวอย่างโค้ดฝั่งไคลเอนต์หลายแบบและรายละเอียดการเปลี่ยนแปลงของ API ซึ่งเป็นข้อมูลที่มีประโยชน์สำหรับนักพัฒนา
- การเปรียบเทียบกับโปรเจกต์ที่เกี่ยวข้องช่วยให้เข้าใจความโดดเด่นและประโยชน์ใช้สอยของโปรเจกต์นี้ได้
- โปรเจกต์ที่แนะนำซึ่งมีความสามารถคล้ายกัน ได้แก่ sql.js และ wa-sqlite
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
แนวคิดในการรัน SQLite ในหน่วยความจำภายในเบราว์เซอร์ และใช้เทคนิคของ Litestream กับ Cloudflare Durable Objects เพื่อสตรีม WAL log ไปยังเซิร์ฟเวอร์นั้นน่าสนใจ
SQLite รุ่นที่ออกล่าสุดคือ 3.46.1 แต่หน้าเว็บยังไม่อัปเดต ทำให้เกิดความสับสนเกี่ยวกับเสถียรภาพของ API
โดยส่วนตัวชอบ SQLite-in-WASM ของ Pyodide มากกว่า
การใช้ SQLite ในสภาพแวดล้อมแบบ local-first ให้ความรู้สึกค่อนข้างหนัก
ใน Golang แพ็กเกจ wasm SQLite ของ ncruces ใช้งานได้ดี
เคยพยายามใช้ SQLite ใน ecosystem ของ Rust แต่ตอนนี้ยังขาด wrapper ที่รองรับ
มีคำถามว่า SQLite จะกลายเป็นตัวแทนของ IndexedDB ได้หรือไม่
ขนาด dependency ขั้นต่ำของ SQLite WASM อยู่ที่ประมาณ 1.3MB
มีความเห็นว่าถ้า WebSQL เป็น SQLite จริง ๆ ecosystem ของ offline-first และ app storage ทั่วไปน่าจะดีกว่านี้
มีการใช้ SQLite จาก WASM build และรันไทม์ Chicory เพื่อสร้างไลบรารี SQLite ที่รันบน JVM แบบล้วน
มีแผนจะรวม SQLite เข้าไปใน exaequOS.com