TrailBase v0.12.0 เปิดตัวการเปลี่ยนแปลงครั้งใหญ่ใน API Filters ขณะที่ชุมชนถกเถียงเรื่องการอ้างว่าเป็นทางเลือกแทน Firebase

BigGo Editorial Team
TrailBase v0.12.0 เปิดตัวการเปลี่ยนแปลงครั้งใหญ่ใน API Filters ขณะที่ชุมชนถกเถียงเรื่องการอ้างว่าเป็นทางเลือกแทน Firebase

TrailBase แพลตฟอร์มฐานข้อมูลแบบ self-hosted ได้ปล่อยเวอร์ชัน 0.12.0 พร้อมการเปลี่ยนแปลงครั้งใหญ่ในระบบการกรองข้อมูลผ่าน API การอัปเดตครั้งนี้นำมาซึ่งทั้งการปรับปรุงด้านเทคนิคและการอภิปรายในชุมชนเกี่ยวกับความหมายของการเป็นทางเลือกแทน Firebase

การปรับปรุงใหญ่ของ API สร้างการเปลี่ยนแปลงที่ทำลายความเข้ากันได้

รีลีสล่าสุดได้ปรับโครงสร้างใหม่ทั้งหมดในวิธีที่นักพัฒนากรองข้อมูลผ่าน API รูปแบบเดิมที่เรียบง่ายถูกแทนที่ด้วยระบบที่ซับซ้อนกว่าแต่มีประสิทธิภาพมากกว่า ซึ่งรองรับการแสดงออกแบบซ้อนกัน นี่หมายความว่าแอปพลิเคชันที่มีอย�ู่จะต้องได้รับการอัปเดตเพื่อให้ทำงานกับเวอร์ชันใหม่ได้

การเปลี่ยนแปลงนี้ส่งผลต่อวิธีที่นักพัฒนาเขียนคิวรี เดิมทีการยกเว้นค่าต่างๆ ใช้วิธีการที่ตรงไปตรงมา แต่ตอนนี้ต้องใช้ไวยากรณ์ที่ละเอียดกว่าตามแบบแผนมาตรฐานของ query string แม้ว่าจะเพิ่มความซับซ้อน แต่ก็ช่วยให้สามารถทำการกรองข้อมูลที่ซับซ้อนมากขึ้นซึ่งไม่สามารถทำได้มาก่อน

แบบแผน Query string: วิธีมาตรฐานในการจัดรูปแบบที่อยู่เว็บเพื่อส่งข้อมูลระหว่างแอปพลิเคชัน

การเปลี่ยนแปลงรูปแบบ API Filter:

  • รูปแบบเก่า: col[ne]=val
  • รูปแบบใหม่: filter[col][$ne]=val
  • ตัวอย่าง query ที่ซับซ้อน: ?filter[$or][0][col][$gt]=v_max&filter[$or][1][col][$lt]=v_min

ชุมชนตั้งคำถามเกี่ยวกับการวางตำแหน่งเป็นทางเลือกแทน Firebase

การปล่อยรีลีสนี้ได้จุดประกายการอภิปรายในวงกว้างเกี่ยวกับวิธีที่ TrailBase และเครื่องมือที่คล้ายกันวางตำแหน่งตัวเองในตลาด สมาชิกชุมชนบางคนโต้แย้งว่าการเรียกสิ่งใดสิ่งหนึ่งว่าเป็นทางเลือกแทน Firebase ควรหมายความว่ามันมีฟีเจอร์แบบเรียลไทม์เหมือนกันที่ทำให้ Firebase เป็นที่นิยมตั้งแต่แรก

ฉันรำคาญที่การเป็นทางเลือกแทน Firebase กลายมาหมายถึงฐานข้อมูลที่โฮสต์พร้อมชั้น API หมายความว่า จุดขายหลักของ Firebase มันเป็นฐานข้อมูลแบบเรียลไทม์มาตลอด

อย่างไรก็ตาม คนอื่นๆ ชี้ให้เห็นว่า Firebase เองก็พัฒนาไปไกลเกินกว่ารากเหง้าฐานข้อมูลแบบเรียลไทม์เดิมแล้ว หลังจากที่ Google เข้าซื้อกิจการ Firebase กลายเป็นแพลตฟอร์มที่ครอบคลุมสำหรับการสร้างแอปพลิเคชันโดยไม่ต้องพัฒนาแบ็กเอนด์แบบดั้งเดิม การตีความในแง่กว้างนี้ทำให้การใช้ป้ายทางเลือกแทนนั้นสมเหตุสมผลมากขึ้น

การปรับปรุงด้านเทคนิคและฟีเจอร์ใหม่

นอกเหนือจากการเปลี่ยนแปลง API แล้ว เวอร์ชัน 0.12.0 ยังเพิ่มการปรับปรุงที่เป็นประโยชน์หลายอย่าง แพลตฟอร์มตอนนี้รวม Swift client library ซึ่งขยายการสนับสนุนสำหรับการพัฒนา iOS แดชบอร์ดผู้ดูแลระบบแสดงข้อมูลเวอร์ชันและลิงก์ไปยังบันทึกการปล่อยรีลีส ทำให้ผู้ดูแลระบบติดตามการอัปเดตได้ง่ายขึ้น

ทีมพัฒนายังได้อัปเดต dependencies พื้นฐาน ซึ่งโดยทั่วไปจะปรับปรุงความปลอดภัยและประสิทธิภาพแม้ว่าผู้ใช้จะไม่เห็นการเปลี่ยนแปลงทันที

ฟีเจอร์ใหม่ใน v0.12.0:

  • การแสดงผลแบบ filter ที่ซับซ้อนและมีโครงสร้างแบบซ้อน
  • การพัฒนา client สำหรับภาษา Swift
  • การแสดงเวอร์ชันของ release ใน admin dashboard
  • การอัปเดต dependencies
  • client ทั้งหมดที่มีอยู่ได้รับการอัปเดตสำหรับ syntax ใหม่

การวางตำแหน่งเทียบกับผู้เล่นที่มีชื่อเสียง

TrailBase ยังคงสร้างความแตกต่างจากคู่แข่งรายใหญ่อย่าง Supabase ผ่านสถาปัตยกรรมแบบ single-executable การออกแบบนี้ทำให้ self-host ได้ง่ายขึ้นและโดยทั่วไปใช้ทรัพยากรเซิร์ฟเวอร์น้อยกว่า แพลตฟอร์มนี้ดึงดูดใจองค์กรที่ให้ความสำคัญกับความเป็นเจ้าของข้อมูลและการลดการพึ่งพาบริการคลาวด์สาธารณะโดยเฉพาะ

โปรเจกต์นี้ยอมรับแรงบันดาลใจจากทั้ง PocketBase และ Supabase แสดงให้เห็นว่าพื้นที่ database-as-a-service ยังคงพัฒนาต่อไปด้วยแนวทางที่แตกต่างกันสำหรับปัญหาที่คล้ายกัน แต่ละแพลตฟอร์มมีการแลกเปลี่ยนที่แตกต่างกันระหว่างความง่ายในการใช้งาน ฟีเจอร์ และความยืดหยุ่นในการติดตั้ง

แม้ว่าการเปลี่ยนแปลง API ใน v0.12.0 จะสร้างความท้าทายระยะสั้นสำหรับผู้ใช้ที่มีอยู่ แต่ก็วางรากฐานสำหรับแอปพลิเคชันที่ซับซ้อนมากขึ้น การอภิปรายในชุมชนเกี่ยวกับทางเลือกแทน Firebase ยังเน้นย้ำว่าพื้นที่นี้กำลังพัฒนาอย่างรวดเร็วเพียงใด โดยมีเครื่องมือต่างๆ ที่ตอบสนองความต้องการที่แตกต่างกันภายในหมวดหมู่ที่กว้างขึ้นของแพลตฟอร์ม backend-as-a-service

อ้างอิง: v0.12.0