Πίνακας περιεχομένων[Κρύβω][Προβολή]
Το Backend-as-a-Service (BaaS) είναι ένα παράδειγμα υπηρεσίας στο οποίο οι προγραμματιστές αναθέτουν σε εξωτερικούς συνεργάτες τα παρασκηνιακά στοιχεία της ανάπτυξης ιστού ή κινητής τηλεφωνίας, έτσι ώστε να μπορούν να επικεντρωθούν στη δημιουργία και τη διατήρηση του frontend σε βάση plug-and-play και ξεφύγετε από το βάρος της συγγραφής κώδικα από την πλευρά του διακομιστή.
Λογισμικό που υποστηρίζει εργασίες από την πλευρά του διακομιστή, όπως έλεγχος ταυτότητας, διαχείριση βάσης δεδομένων, ενημέρωση σε πραγματικό χρόνο, αποθήκευση, φιλοξενία και ειδοποιήσεις push παρέχεται από τις πλατφόρμες BaaS (για εφαρμογές για κινητά).
Παρόλο που διάφορες υπηρεσίες υποστήριξης παρέχουν βασικά την ίδια λύση, χρησιμοποιούν διαφορετικές τεχνολογίες υποστήριξης. Αυτός είναι ένας αποφασιστικός παράγοντας για πολλούς προγραμματιστές όταν επιλέγουν την καλύτερη υπηρεσία για ένα συγκεκριμένο έργο.
Σε αυτό το άρθρο, θα βουτήξουμε βαθιά στο Supabase.
Τι είναι Supabase?
Supabase είναι μια εναλλακτική λύση Firebase ανοιχτού κώδικα που προσφέρει το Backend ως υπηρεσία σε μια ποικιλία εφαρμογών. Είναι πολύ απλό στη ρύθμιση και λειτουργεί γρήγορα με μια ποικιλία πλαισίων. Το Supabase τιμολογείται ως αντικατάσταση ανοιχτού κώδικα για το Firebase.
Σκοπεύει να ωφελήσει τους προγραμματιστές στη γρήγορη ρύθμιση του backend τους. «Χτίστε σε ένα Σαββατοκύριακο, αυξηθείτε σε εκατομμύρια», λέει η Supabase.
Τα προϊόντα της Supabase περιλαμβάνουν μια βάση δεδομένων Postgres και υπηρεσία ελέγχου ταυτότητας, με υπηρεσίες αποθήκευσης και χωρίς διακομιστές (για τη λογική υποστήριξης) να βρίσκονται ακόμη στα σκαριά. Όλα τα εργαλεία του είναι ως επί το πλείστον δωρεάν και ανοιχτού κώδικα. Η βάση δεδομένων Postgres περιλαμβάνει εργαλεία που σχετίζονται με τη βάση δεδομένων, όπως παρακολούθηση σε πραγματικό χρόνο των τροποποιήσεων της βάσης δεδομένων και μια διεπαφή διαχείρισης.
Επιπλέον, παρέχει γρήγορα API και σύνταξη που είναι συγκρίσιμα με αυτά του Firebase. Αυτό σας επιτρέπει να χειρίζεστε εργασίες CRUD με συνεπή τρόπο, επιτρέποντάς σας να εστιάσετε στη δημιουργία αντί να ξαναγράφετε τον επαναλαμβανόμενο κώδικα CRUD.
Η βάση δεδομένων Postgres είναι ένας πίνακας που σας επιτρέπει να αποθηκεύετε οργανωμένα και συνδεδεμένα δεδομένα με τον ίδιο τρόπο που θα κάνατε σε ένα υπολογιστικό φύλλο. Παραδόξως, όταν δημιουργείτε ένα έργο, μπορείτε να χρησιμοποιήσετε ένα υπάρχον υπολογιστικό φύλλο ως βάση δεδομένων Postgres.
Πώς λειτουργεί το Supabase;
Το Supabase είναι μια συλλογή τεχνολογιών δωρεάν πηγής. Δημιουργούν δυνατότητες του Firebase με λύσεις ανοιχτού κώδικα εταιρικής ποιότητας. Εάν τα εργαλεία και οι κοινότητες είναι διαθέσιμα με άδεια MIT, Apache 2 ή παρόμοια ανοιχτή άδεια, θα τα χρησιμοποιήσουν και θα τα υποστηρίξουν.
Εάν το εργαλείο δεν υπάρχει ήδη, το δημιουργούν και το κάνουν διαθέσιμο ως ανοικτού κώδικα. Το Supabase δεν είναι μια αντιστοίχιση 1:1 του Firebase. Στόχος τους είναι να παρέχουν στους προγραμματιστές μια εμπειρία ανάπτυξης που μοιάζει με το Firebase χρησιμοποιώντας ανοικτού κώδικα τεχνολογίες.
Το Supabase είναι μια πλατφόρμα που φιλοξενείται. Μπορείτε να εγγραφείτε και να αρχίσετε να το χρησιμοποιείτε χωρίς να χρειάζεται να εγκαταστήσετε τίποτα. Μπορείτε επίσης να φιλοξενήσετε μόνοι σας και να δημιουργήσετε τον δικό σας διακομιστή.
- Η PostgreSQL έχει μεγάλη φήμη για τη σταθερότητα, την ευρωστία και την ταχύτητα. Μετά από περισσότερα από 30 χρόνια ενεργούς ανάπτυξης,
- Ο Realtime είναι ένας διακομιστής Elixir που σας επιτρέπει να ακούτε ένθετα PostgreSQL, ενημερώσεις και διαγραφές χρησιμοποιώντας το WebSockets. Το Supabase ακούει για αιτήματα αναπαραγωγής από την Postgres, μετατρέπει τη ροή byte αναπαραγωγής σε JSON και στη συνέχεια εκπέμπει το JSON μέσω των WebSockets.
- Ο PostgREST είναι ένας διακομιστής ιστού που μετατρέπει τη βάση δεδομένων PostgreSQL σε ένα RESTful API.
- Το Storage παρέχει μια RESTful διεπαφή για τη διαχείριση αρχείων που είναι αποθηκευμένα στο S3, με την Postgres ως διαχειριστή δικαιωμάτων.
- Το Postgres-meta είναι ένα RESTful API για τη διαχείριση του Postgres που σας επιτρέπει να κατεβάζετε πίνακες, να εκχωρείτε ευθύνες και να διεξάγετε ερωτήματα, μεταξύ άλλων.
- Το GoTrue είναι ένα API που βασίζεται σε SWT που σας επιτρέπει να διαχειρίζεστε χρήστες και να εκδίδετε διακριτικά SWT.
- Το Kong είναι μια πύλη API που εκτελείται στο cloud.
Ξεκινώντας
1. Έργο
Στο Supabase, ένα έργο είναι ένα κοντέινερ για όλες τις βάσεις δεδομένων, τους χρήστες ελέγχου ταυτότητας, τους κανόνες, τους πίνακες και την αποθήκευση αρχείων.
Υπάρχουν πολλά μέρη από τα οποία μπορείτε να φιλοξενήσετε το έργο σας και οι διαχειριστές του Supabase προσθέτουν συνεχώς νέους ιστότοπους για να μειώσουν τον λανθάνοντα χρόνο. Ένα έργο διαρκεί περίπου 2 λεπτά για να δημιουργηθεί, οπότε πάρτε έναν καφέ, καθίστε αναπαυτικά και χαλαρώστε.
2. Πίνακας ελέγχου έργου
Όταν ολοκληρωθεί το έργο σας, θα εμφανιστεί ένας πίνακας εργαλείων παρόμοιος με αυτόν που φαίνεται παρακάτω. Αυτός ο πίνακας εργαλείων σάς δείχνει όλα όσα χρειάζεται να γνωρίζετε για το έργο σας, συμπεριλαμβανομένων των συνδέσεων βάσης δεδομένων, των αιτημάτων ελέγχου ταυτότητας, της χωρητικότητας αποθήκευσης, της υλοποίησης της βιβλιοθήκης πελατών και πολλά άλλα.
3. Δημιουργός και επεξεργασία πίνακα
Η βάση δεδομένων του Supabase είναι μια σχεσιακή PostgreSQL με δυνατότητες σε πραγματικό χρόνο και έλεγχο πρόσβασης πολιτικής χρησιμοποιώντας Postgres RLS (Row Level Security). Οι προγραμματιστές μπορούν να χρησιμοποιήσουν τον πίνακα ελέγχου του Supabase για να δημιουργήσουν έναν Πίνακα και να προσθέσουν στήλες και ιδιότητες. Οι προγραμματιστές μπορούν να τροποποιήσουν τα δεδομένα απευθείας από τον πίνακα ελέγχου με το Supabase.
4. Έλεγχος ταυτότητας
Οι Google, GitHub, Facebook, Twitter, GitLab και άλλοι πάροχοι ελέγχου ταυτότητας είναι διαθέσιμοι στο Supabase. Αυτά μπορούν να ενεργοποιηθούν χρησιμοποιώντας τον Πίνακα ελέγχου ταυτότητας. Υποστηρίζει επίσης Phone OTP και Magic Link Authentication.
5. Αποθήκευση
Το Supabase είναι ένα σύστημα αποθήκευσης αντικειμένων ανοιχτού κώδικα που μπορεί να χειριστεί οποιονδήποτε τύπο αρχείου και έχει ενσωματωμένη επεκτασιμότητα. Διαθέτει ένα εύχρηστο API που επιτρέπει προσαρμοσμένους κανόνες και δικαιώματα. Η ενσωμάτωση CDN, καθώς και ο αυτόματος μετασχηματισμός και η βελτιστοποίηση (αλλαγή μεγέθους και συμπίεση του υλικού σας), θα είναι διαθέσιμα σύντομα. Η αποθήκευση Supabase θα είναι ένας τρομερός αντίπαλος της αποθήκευσης Firebase με τη συμπερίληψη αυτών των δυνατοτήτων.
Τι μπορείτε να φτιάξετε με το Supabase; (Μερικά παραδείγματα)
1. Πληρωμή συνδρομής με Supabase + Stripe + Next.js.
Το πλήρες σετ εκκίνησης για εφαρμογές SaaS υψηλής απόδοσης.
- Το Supabase παρέχει ασφαλή διαχείριση και έλεγχο ταυτότητας χρήστη.
- Stripe Checkout και ενσωμάτωση της πύλης πελατών Stripe.
- Το Supabase παρέχει ισχυρά εργαλεία πρόσβασης και διαχείρισης δεδομένων πάνω από το PostgreSQL.
- Τα stripe webhook επιτρέπουν τον αυτόματο συγχρονισμό των προγραμμάτων τιμών και των καταστάσεων συνδρομής.
2. KeepLink: Απλή υπηρεσία σελιδοδεικτών με ετικέτες και αρχειοθέτηση
Το KeepLink είναι μια βασική υπηρεσία σελιδοδεικτών με ετικέτες και ένα αρχείο που έχει δημιουργηθεί με το Supabase και το Next.js. Δεν διαθέτει λειτουργίες κοινής χρήσης κοινωνικής δικτύωσης, αλλά μπορείτε να φιλοξενήσετε τη δική σας παρουσία.
- Προσθέστε αυτόματα ετικέτες σε νέους σελιδοδείκτες με βάση τις υπάρχουσες ετικέτες.
- Η αναζήτηση πλήρους κειμένου για διευθύνσεις URL, τίτλους, περιγραφές, ετικέτες και περιεχόμενο αρχειοθέτησης χάρη στη στοίβα Supabase, τα ψευδώνυμα προσθήκης ετικετών για βάσεις δεδομένων διαχειριστή και η ξεκούραστη πρόσβαση στο API είναι πλέον δυνατή.
- Με το metascraper, μπορείτε να συγκεντρώσετε αυτόματα τίτλους και περιγραφές για τις σελίδες σας. Μπορείτε επίσης να αρχειοθετήσετε τις σελίδες σας με το SinglePage και το Headless Chrome.
3. Εφαρμογή συνομιλίας σε πραγματικό χρόνο με το Supabase + React
- Για ανταλλαγή μηνυμάτων σε πραγματικό χρόνο, χρησιμοποιείται το Supabase (πάνω από το PostgreSQL).
- Το Front-end χρησιμοποιεί React (CRA) + Vite
- Η βιβλιοθήκη UI που χρησιμοποιείται είναι το Chakra UI.
Βασικά χαρακτηριστικά
Εδώ είναι μερικά από τα χαρακτηριστικά του Supabase:
- Ένας πίνακας εργαλείων/διεπαφή χρήστη για τη ρύθμιση και τη διαχείριση της βάσης δεδομένων σας σε λιγότερο από ένα λεπτό.
- Για να εγγράψετε χρήστες και να ενημερώσετε τους περιορισμούς πρόσβασης στη βάση δεδομένων σας, εφαρμόστε έλεγχο ταυτότητας χρήστη.
- API και μια βιβλιοθήκη JavaScript.
- Ακροατές βάσεων δεδομένων σε πραγματικό χρόνο.
- Οι Λειτουργίες (κάπως). Αυτές είναι αποθηκευμένες διαδικασίες βάσης δεδομένων που μπορεί να είναι γραμμένες σε SQL, JavaScript, Python ή Java.
ΥΠΕΡ
Το Supabase διακρίνεται για τους ακόλουθους λόγους:
- Σε αντίθεση με το Firebase, μπορείτε να εκτελέσετε περίπλοκα ερωτήματα ή αναζητήσεις κειμένου.
- Το Supabase φροντίζει για εσάς την κλιμάκωση (παρόλο που χρησιμοποιεί μια βάση δεδομένων SQL)
- Η μετεγκατάσταση δεδομένων είναι απλή με το Supabase, καθώς αξιοποιεί την PostgreSQL και μπορείτε να εισάγετε δεδομένα χρησιμοποιώντας ένα αρχείο.sql.
ΚΑΤΑ
Υπάρχουν ορισμένα μειονεκτήματα της υιοθέτησης του Supabase. Είναι οι εξής:
- Για να λαμβάνετε αλλαγές σε πραγματικό χρόνο, πρέπει να ενεργοποιήσετε τη λειτουργία αναπαραγωγής για έναν πίνακα.
- Όταν είναι ενεργοποιημένες οι ενημερώσεις σε πραγματικό χρόνο, δεν ισχύουν οι πολιτικές ασφαλείας του Supabase.
- Τα χαρακτηριστικά είναι περιορισμένα.
- Το SDK του λειτουργεί μόνο με JavaScript (Η υποστήριξη για άλλες γλώσσες είναι ακόμα σε beta)
Τιμοκατάλογος
1. Δωρεάν Επίπεδο
- Βάση δεδομένων με 500 MB αποθηκευτικού χώρου και απεριόριστες κλήσεις API
- Έλεγχος ταυτότητας – Έως 10,000 χρήστες
- Αποθήκευση αρχείων – Έως 1 GB αποθηκευτικού χώρου, με μηνιαίους περιορισμούς μεταφοράς έως 2 GB.
2. Πληρώστε όσο πηγαίνετε
- Βάση δεδομένων – 0.125 $ ανά GB αποθηκευτικού χώρου, χωρίς όρια στις κλήσεις API
- Auth – Απεριόριστο
- Αποθήκευση αρχείων – Αποθηκευμένα δεδομένα 0.021 $ ανά GB με μεταφορά δεδομένων 0.07 $/GB
Για περισσότερες πληροφορίες σχετικά με τις τιμές, μπορείτε να δείτε τον ιστότοπό τους.
Συμπέρασμα
Το Supabase είναι το καλύτερο open-source εναλλακτική λύση στο Firebase της Google. Λόγω της ισχύος της PostgreSQL, προσφέρει διάφορα αξιόλογα χαρακτηριστικά και δεν έχει περιορισμούς τύπου δεδομένων όπως άλλα συστήματα βάσεων δεδομένων σε πραγματικό χρόνο.
Μπορείτε να δημιουργήσετε μια ποικιλία εφαρμογών χρησιμοποιώντας το Supabase και τις εξαιρετικές του δυνατότητες. Δοκιμάστε το σήμερα!
Μαρσέλο
Στην περίπτωση ενός B2B SaaS, είναι δυνατόν να υπάρχει 1 κύριος χρήστης ανά πελάτη και άλλοι N χρήστες που σχετίζονται με αυτόν τον κύριο να ασχολούνται μόνο με δεδομένα από αυτόν τον πελάτη;