- เอนจิน ซิงก์ข้อมูลแบบ local-first ที่ใช้ CRDT เป็นพื้นฐาน ช่วยให้พัฒนาแอปทำงานร่วมกันได้ง่ายขึ้น และเหมาะอย่างยิ่งสำหรับ การทำงานร่วมกันแบบออฟไลน์ และ การจัดการเวอร์ชัน
- การเปลี่ยนแปลงที่ใหญ่ที่สุดในเวอร์ชัน 3.0 คือ การใช้หน่วยความจำลดลงมากกว่า 10 เท่า ทำให้นำไปใช้ได้กับสถานการณ์ที่หลากหลายยิ่งขึ้น
- Automerge มีโครงสร้างที่เก็บประวัติการเปลี่ยนแปลงทั้งหมดไว้เพื่อรองรับ การตรวจจับความขัดแย้งและการกู้คืนบันทึก
- ก่อนหน้านี้ เมื่อแก้ไขเอกสารจะมีการคลายการบีบอัด ทำให้เกิดปัญหาที่ การใช้หน่วยความจำพุ่งขึ้นไปถึงหลายร้อย MB ถึงหลาย GB
- ใน 3.0 มีการใช้ ฟอร์แมตแบบบีบอัดระหว่างรันไทม์ ด้วย จึงลดภาระด้านหน่วยความจำได้อย่างเป็นรากฐาน
- ตัวอย่าง: ในการทดสอบวางข้อความขนาดใหญ่จาก Moby Dick เวอร์ชัน 2.0 ใช้ 700MB ขณะที่ 3.0 ใช้เพียง 1.3MB
- ฝั่งเซิร์ฟเวอร์ก็จัดการเอกสารขนาดใหญ่จำนวนมากพร้อมกันได้ง่ายขึ้น ทำให้สร้างแอปคอลลาบอเรชันขนาดใหญ่ได้
- หากประวัติเอกสารมีขนาดใหญ่ ความเร็วในการโหลดก็เพิ่มขึ้นตั้งแต่หลายสิบเท่าจนถึงหลายหมื่นเท่า (17 ชั่วโมง→9 วินาที)
- นอกจากนี้ยังมีการปรับปรุง API ที่เกี่ยวกับการประมวลผลข้อความครั้งใหญ่ เพื่อเสริม ความสม่ำเสมอและความเรียบง่าย
- สตริงที่ทำงานร่วมกันได้ ใช้
string ปกติ ส่วนสตริงที่ไม่รองรับการทำงานร่วมกันแยกเป็น ImmutableString อย่างชัดเจน
- API ที่ซ้ำซ้อนเดิมอย่าง
Text/RawString ถูกนำออก และ API ในเนมสเปซ next กลายเป็นค่าปริยาย
- รองรับโค้ดเดิมได้แทบสมบูรณ์ โดยยังคงใช้ฟอร์แมตไฟล์เดิมและ API ส่วนใหญ่เหมือนเดิม จึงย้ายระบบได้ทันที
ยังไม่มีความคิดเห็น