- สร้างทั้งแอปได้ด้วยโค้ดฝั่งไคลเอนต์เท่านั้น
- ไม่จำเป็นต้องดีพลอยฐานข้อมูล, ออกแบบ SQL schema, ตั้งค่าความสัมพันธ์ หรือเขียนคิวรี
- แค่รู้ TypeScript ก็สามารถพัฒนาและดีพลอยแอปด้วย Jazz ได้
- ข้อมูลจะถูกบันทึกไว้ในเครื่องก่อน แล้วจึงซิงก์ไปยังเซิร์ฟเวอร์ภายหลัง
- ทำงานได้ลื่นไหลแม้อินเทอร์เน็ตไม่เสถียรหรืออยู่ในสถานะออฟไลน์ และเมื่อการเชื่อมต่อกลับมา ข้อมูลจะซิงก์อัตโนมัติ
- UI สะท้อนการเปลี่ยนแปลงทันทีจากการแก้ไขข้อมูล โดยไม่ต้องเรียก API
- ทุกอุปกรณ์ของบัญชีเดียวกันจะคงสถานะซิงก์ข้อมูลไว้เสมอ
- สร้างสภาพแวดล้อมแบบมัลติเพลเยอร์ได้ง่ายเพียงแชร์ข้อมูล และยังทำ UI เพื่อแสดงการมีอยู่ของผู้ใช้ (เช่น การแสดงเคอร์เซอร์) ได้สะดวก
- มีระบบจัดการสิทธิ์แบบอิงบทบาทในตัวเพื่อการทำงานร่วมกันอย่างปลอดภัย
- เมื่อสร้างข้อมูล จะมีการตั้งค่าสิทธิ์แบบอิงบทบาทเป็นค่าเริ่มต้น
- ประเภทสิทธิ์: อ่าน (reader), เขียน (writer), ผู้ดูแลระบบ (admin)
- จัดการสิทธิ์ผ่าน
Account หรือ Group
- มีฟีเจอร์ที่แอปต้องใช้มาให้ในตัว
- อัปโหลดไฟล์
- Progressive image loading
- Server Workers
- การยืนยันตัวตน: Passkey (Touch ID, Face ID), Clerk, Auth0, Okta, NextAuth
- Jazz Cloud : โครงสร้างพื้นฐานสำหรับการซิงก์แบบเรียลไทม์และการจัดเก็บข้อมูล ที่รองรับการขยาย Jazz app ไปถึงผู้ใช้ระดับหลายล้านคน
- สแตกที่รองรับ: Vanilla JS, React, React Native, Vue, Svelte, Node.js
- มีแผนรองรับ Swift, Rust, Kotlin เพิ่มเติม
- ฟีเจอร์เพิ่มเติมที่จะมาในเร็ว ๆ นี้
- เคอร์เซอร์และคาเร็ต: มี UI สำหรับแสดงผู้ใช้ระหว่างการทำงานร่วมกัน
- เคอร์เซอร์บนแคนวาส 2D
- คาเร็ตข้อความ
- การแสดงโฟกัสตามองค์ประกอบ
- ตัวช่วยแสดงสถานะและตำแหน่งเมื่อเลื่อนเกินขอบเขต
- การซิงก์ฐานข้อมูลแบบสองทาง
- สามารถเพิ่ม Jazz เข้าไปในแอปเดิมได้:
- รองรับ Prisma, Drizzle, PostgreSQL เป็นต้น
- รองรับวิดีโอและเสียง
- เชื่อมต่อ WebRTC ระหว่างสมาชิกในกลุ่มโดยอัตโนมัติ
- มีความสามารถด้านสตรีมมิงและการบันทึกเสียง/วิดีโอ
- CoPlainText และ CoRichText
- รองรับข้อความธรรมดาและข้อความริชเท็กซ์สำหรับการทำงานร่วมกัน
- ป้องกันความขัดแย้งในการแก้ไขได้ในกรณีส่วนใหญ่
- เรนเดอร์ได้ในหลายรูปแบบ เช่น Markdown, HTML, JSX
3 ความคิดเห็น
ให้ความรู้สึกเหมือน SuperSync เวอร์ชันเบา ๆ เลยนะครับ
ตอนนี้ยังอยู่ในสถานะที่เวอร์ชันเสียเงินยังไม่เปิดตัวด้วยซ้ำ ดังนั้นประเด็นคงเป็นเรื่องความน่าเชื่อถือ
อย่างน้อยความที่มันเบาก็ดูดีอยู่หรอก
แต่การโปรโมตว่าไม่ต้องใส่ใจ local DB เลยนี่แอบรู้สึกคาใจนิดหน่อย
ไม่มี SQLite, IndexedDB แล้วจะเป็น Lo-Fi ?? ก็ไม่แน่ใจนะ...
เขาบอกว่ารองรับ Vanilla JS แต่ไม่มี Documentation นะครับ เลยสงสัยว่าเป็นการแปลงจาก React, Svelte ฯลฯ มาใช้หรือเปล่า
เป็นเฟรมเวิร์กที่ทำฟีเจอร์ซับซ้อนมาก ๆ (แชตแบบเรียลไทม์, สตรีมมิง) เอาไว้ ซึ่งก็น่าจะมีความซับซ้อนสูงตามไปด้วย
น่าจะปรับแต่งและแก้ไขได้ยากครับ แต่ชอบแนวคิดการออกแบบแบบ Local First ครับ
Local-Fist -> Local-First