เหตุผลที่เราเปลี่ยนจาก Firebase ไปใช้ Supabase
(koptional.com)- ข้อดีของ Firebase
- Firebase Realtime DB ในยุคแรกถือว่าเป็นนวัตกรรมอย่างมาก (ก่อนที่ WebSocket/SSE จะได้รับความนิยม)
- การใช้ Firestore ช่วยแก้ปัญหาด้านการจัดการสถานะฝั่งไคลเอนต์ที่เกี่ยวข้องกับข้อมูลล่าสุด
- มอบประสบการณ์แบบเรียลไทม์ได้ฟรี
- ข้อเสีย
- จำเป็นต้องใช้การล็อกอิน Google/GSuite
- Firebase Hosting ไม่สามารถจัดการไฟล์แบบละเอียดได้
- การสร้างดัชนีของ Firebase ช้าและไม่ค่อยดี ทำงานแบบเดียวกันได้ช้ากว่า Algoria Index มาก
- ไม่ใช่โอเพนซอร์ส จึงไม่มีอะไรรับประกันว่าจะคงอยู่ต่อเนื่อง (เหมือน Parse) และก็ไม่สามารถพึ่งพา API เวอร์ชันใดเวอร์ชันหนึ่งได้
- ไม่สามารถรันได้สมบูรณ์บนเครื่องโลคัล แม้จะมี Emulator แต่ก็ช้า ดีบักยาก และฟีเจอร์ไม่ครบ
- Firebase CLI ค่อนข้างปิดมาก
- จากประเด็นล่าสุดต่าง ๆ เราจึงมองว่าสิ่งอย่าง Supabase เหมาะกับอนาคตของเรามากกว่า
- ช่วงหลัง Firebase เอาฟีเจอร์ Cloud Function logs ออกจากแดชบอร์ด ถ้าอยากดูต้องไปดูใน GCP
- ดูเหมือนว่า GCP กำลังกินพื้นที่สภาพแวดล้อมสำหรับนักพัฒนา Firebase (Cannibalizing)
- CI/CD ของ Cloud Function แย่ลง
- แม้จะบอกว่าสามารถ deploy ได้ 80 ครั้งต่อ 100 วินาที และก่อนหน้านี้ก็ไม่มีปัญหา แต่ช่วงหลังถ้าเกินกว่านี้จะเริ่มล้มเหลว
- Firebase ไม่มีวิธีที่สะอาดในการ deploy เฉพาะฟังก์ชันที่เปลี่ยนไป ทำให้เงื่อนไข 80 ครั้งนี้เล็กเกินไปและใช้งานยาก
- Firebase ยิ่งนานยิ่งพาผู้ใช้ไปใช้ GCP เพื่อใช้งานบริการจำเป็นต่าง ๆ
- ช่วงหลัง Firebase เอาฟีเจอร์ Cloud Function logs ออกจากแดชบอร์ด ถ้าอยากดูต้องไปดูใน GCP
- ไม่นานมานี้เราได้ลองพัฒนาด้วย Supabase และพบว่าประสบการณ์นักพัฒนาดีมาก
- โดยเฉพาะ Row Level Security ที่ทรงพลังกว่า Firestore Rules
- การที่ Supabase ใช้ Deno/PostgreSQL ก็เป็นข้อดีเช่นกัน
2 ความคิดเห็น
Supabase กำลังมาแรงเลยนะ ดูเหมือนว่าจะดีมากจริงๆ เวลาใช้ PostgreSQL
Supabase เปิดตัว Public Beta - ตัวแทน Firebase แบบโอเพนซอร์ส
Supabase เริ่มรองรับ GraphQL
Supabase Realtime - เปิดตัวฟีเจอร์ Multiplayer แบบ GA