
ทำความรู้จักกับ Local-first software development
เป็นแนวคิดที่ให้ความสำคัญกับการจัดการข้อมูลต่าง ๆ
ไว้กับอุปกรณ์ของผู้ใช้งานเป็นหลัก ไม่ว่าจะเป็น web browser, mobile
นั่นคือ สามารถทำงานแบบ offline ได้เป็นพื้นฐาน
เมื่อทำการเชื่อมต่อกับ server แล้ว จะทำการ sync ข้อมูลต่อไป
โดยแนวคิดนี้ ทำมาเพื่อแก้ไขปัญหาเดิม ๆ เช่น
- การ load ข้อมูลผ่าน network ที่ล่าช้า
- เกิดความผิดพลาดเมื่อ server มีปัญหา หรือ ไม่พร้อมใช้งาน
- ไม่สามารถทำงานแบบ offline ได้
- เรื่องความเป็นเจ้าของข้อมูล
ดังนั้นแนวคิดของ Local-first จึงมีหลักการสำคัญดังนี้
- การเข้าถึงข้อมูล หรือ load ข้อมูลได้ทันที ไม่ต้องไปดึงจาก server
- เป็นอิสระจากระบบ network
- ทำงานอย่างต่อเนื่อง
- เรื่องของ security และ privacy ของข้อมูล สำคัญมาก ๆ มันคือพื้นฐานสำคัญของ Local-first ต้องมีการเข้ารหัสข้อมูลเพื่อปกป้องข้อมูลผู้ใช้งานเสมอ
- ผู้ใช้งานสามารถควบคุม data ของตัวเองได้
แต่สุดท้ายข้อมูลทั้งใน device และ server ก็ยังต้อง sync และตรงกันเสมอ
มันคือเรื่องของความถูกต้อง และ น่าเชื่อถือ
รูปแบบของระบบงานในรูปแบบของ Local-first แบ่งได้เป็น
- Local-only application จัดเก็บข้อมูลใน device ของผู้ใช้งานคนนั้น ๆ ทั้งหมด ไม่มีการ sync ใด ๆ ผู้ใช้งานต้องทำการ sync หรือ โอนถ่ายข้อมูลเอง
- Sync-enabled application ทำการ sync ไปยัง server ให้อัตโนมัติเมื่อมีการเชื่อมต่อ แต่ถ้าระบบ network มีปัญหาก็จะเก็บใน device ของผู้ใช้งานให้ทันที ซึ่งเพิ่มความซับซ้อนของระบบงานมากขึ้น และจะเกิดข้อขัดแย้งของข้อมูลที่ sync ก็เป็นไปได้
มีเครื่องมือให้ใช้งานจำนวนมาก ทั้ง storage และ การ sync data
สามารถดูเพิ่มเติมได้ที่ Build :: Local-first