Πώς να επιλέξετε το καλύτερο Backend Mobile ως υπηρεσία (MBaaS)

Firebase εναντίον CloudKit εναντίον Kinvey

Το Mobile Backend-as-a-Service ή το MBaaS γεννήθηκε για να επιτρέψει σε προγραμματιστές κινητής τηλεφωνίας που ήταν σύντομα στην ώρα τους και ήθελαν να δημιουργήσουν λύσεις αξιοποιώντας τις τελευταίες δυνατότητες σε μια κινητή συσκευή καθώς και να διαχειριστούν σύνθετες εντολές υπηρεσιών. Ο πρόωρος ηγέτης σε αυτόν τον εκκολαπτόμενο χώρο ήταν η Parse. Το Parse θέτει τις βάσεις για όλες τις εταιρείες του MBaaS, παρέχοντας μας οικονομικά αποδοτικά και εύχρηστα εργαλεία για το MBaaS. Νωρίτερα φέτος η υπηρεσία έκλεισε. Αλλά η ορμή του Parse άνοιξε ένα δρόμο για άλλες υπηρεσίες να ανταγωνίζονται στον ίδιο χώρο. Οι τρεις αναδυόμενοι ηγέτες σε αυτό το χώρο είναι το Firebase της Google, το CloudKit της Apple και το Kinvey.

Με το κλείσιμο του Parse, οι προγραμματιστές που το είχαν υπολογίσει για υπηρεσίες back-end αφέθηκαν να κρεμαστούν. Όταν γύρισαν γύρω για να ζητήσουν καλύτερες εναλλακτικές λύσεις για το Parse, οι απαντήσεις που πήραν ήταν στο πνεύμα του "Θα πρέπει να έχετε χτίσει τις δικές σας υπηρεσίες και υποδομές back-end" ή "Ήρθε η ώρα να απολαύσετε AWS." Ίσως αυτή τη φορά θα πρέπει να σκεφτεί προσεκτικότερα το κόστος λήψης συντομεύσεων. Αλλά το πράγμα είναι, οι περισσότεροι ανεξάρτητοι προγραμματιστές εφαρμογών και οι μικρές επιχειρήσεις δεν έχουν την πολυτέλεια να διατηρούν ένα αποκλειστικό back-end. Μερικοί είναι νωρίς στον κύκλο ζωής τους. Πρέπει να αναπτύξουν γρήγορα και να δοκιμάσουν για να φτάσουν στην αγορά προϊόντων πριν επενδύσουν στη δική τους υποδομή και υπηρεσίες. Χρειάζονται Mobile Backend-as-a-Service (MBaaS).

Για τις επιχειρήσεις, η MBaaS παρέχει μια επιλογή λύσεων που επιτρέπουν την ταχεία ανάπτυξη εξελιγμένων λύσεων για κινητά. Βλέπετε, ένα Backend είναι κάτι περισσότερο από ένα κατάστημα δεδομένων. Σήμερα δεν υπάρχει ανάγκη για μια εταιρεία να κλιμακώνει τις βάσεις δεδομένων cloud, τον κεντρικό διακομιστή ειδοποιήσεων push ή να παρακολουθεί τα αναλυτικά στοιχεία των εφαρμογών μόνοι τους.

Cloudkit της Apple

Apple CloudKit

Το CloudKit είναι ένα αξιοπρεπές Backend-as-a-Service, παρόλο που είναι πολύ ανώριμο. Ο ισχυρισμός της για τη φήμη είναι η απρόσκοπτη ενσωμάτωσή της στο οικοσύστημα ανάπτυξης της Apple. Για να καταστήσει το CloudKit ένα απαραίτητο και ισχυρό εργαλείο για τους προγραμματιστές, η Apple εξακολουθεί να χρειάζεται να κάνει κάποια ακόμα δουλειά. Σήμερα, το CloudKit είναι ουσιαστικά ένα κατάστημα δεδομένων με κάποια βασική υποστήριξη ταυτότητας ταυτότητας iCloud και ένα API μπροστά του. Το μοντέλο τιμολόγησης που προσφέρει προσφέρει προσαρμόζει τα ελεύθερα όρια βάσει του αριθμού των ενεργών χρηστών της εφαρμογής σας. Το CloudKit είναι εξαιρετικό αν η εμμονή των δεδομένων είναι η βασική σας προτεραιότητα. Οι ενσωματωμένες ειδοποιήσεις μπορούν να είναι χρήσιμες για κοινωνικές και άλλες εφαρμογές κοινής χρήσης περιεχομένου. Το CloudKit θα στείλει την ειδοποίησή σας για την εφαρμογή, μόλις η εφαρμογή σας προσυπογράψει τις αλλαγές σε ορισμένα αντικείμενα και όταν τροποποιηθούν αυτές οι εγγραφές.

Με την ευκολία χρήσης του έρχονται ορισμένες προειδοποιήσεις. Δεν υπάρχει λειτουργικότητα για την υλοποίηση της λογικής πλευράς διακομιστή. Ένα άλλο μειονέκτημα είναι ότι οι χρήστες καλούνται να συνδεθούν στο iCloud κατά την αποθήκευση οποιωνδήποτε δεδομένων. Οι περισσότερες σύγχρονες εφαρμογές χρησιμοποιούν σήμερα backends με πολύ πιο εξελιγμένους τρόπους από τα χαρακτηριστικά που παρέχει το CloudKit. Πολλές εφαρμογές απαιτούν πιο ευέλικτες και εξελιγμένες δυνατότητες διαχείρισης χρηστών για τη διαχείριση της ταυτότητας, ένα πλήρες σύνολο χαρακτηριστικών αφοσίωσης όπως SMS, push, email κ.λπ., δυνατότητα πρόσβασης σε καταστήματα δεδομένων και αρχείων και μια πλατφόρμα για την εκτέλεση προσαρμοσμένης λογικής εφαρμογής που συνδέει τα πάντα μαζί. Παρουσιάζονται σφάλματα και στο σχεδιασμό του CloudKit. Για παράδειγμα, η Apple ζητά από τους προγραμματιστές να εκτελούν λογική συγκεκριμένης εφαρμογής στον πελάτη. Αυτός είναι ένας λανθασμένος τρόπος για την αρχιτεκτονική μιας εφαρμογής. Αυτή η μέθοδος μπορεί να είναι μια αποστράγγιση πόρων στη ίδια τη συσκευή, αναγκάζοντας τους προγραμματιστές να ενημερώσουν την εφαρμογή όποτε χρειάζεται να κάνουν βελτιώσεις σε αυτή τη λογική. Ένας άλλος περιορισμός είναι ότι το CloudKit υποστηρίζει μόνο εφαρμογές iOS. Ωστόσο, οι περισσότερες εφαρμογές ζουν σε πολλαπλά σημεία και πρέπει να χρησιμοποιούνται σε άλλες πλατφόρμες κινητής τηλεφωνίας καθώς και σε προγράμματα περιήγησης ιστού. Το Webhooks, το οποίο εισήχθη πρόσφατα, μπορεί να σας επιτρέψει να συνδυάσετε μια λύση μεταξύ των πλατφορμών, αλλά το CloudKit σχεδιάστηκε για να διατηρήσει τις εφαρμογές iOS, Mac και Web. Τούτου λεχθέντος, είμαστε ενθουσιασμένοι που βλέπουμε την κατεύθυνση στην οποία η Apple παίρνει το CloudKit.

Από την άλλη πλευρά, το CloudKit αποτελεί πλεονέκτημα για τους προγραμματιστές που χτίζουν απλές εφαρμογές. Σκεφτείτε τις λίστες κοινής χρήσης, τις εφαρμογές αξιολόγησης βάσει τοποθεσίας, τους κλώνους Twitter κ.λπ. Αλλά οι εφαρμογές με λίγο πιο περίπλοκη λογική χρειάζονται κάτι περισσότερο από λίγο φωτοτυπικό έλεγχο και αποθήκευση δεδομένων. Απαιτούν πρόσβαση σε δεδομένα, ταυτότητα και επιχειρησιακή λογική από οποιαδήποτε πηγή, είτε στον πάροχο της πλατφόρμας είτε σε άλλο σημείο του cloud, ειδικά για τις επιχειρήσεις, σε υπάρχοντα συστήματα εγγραφών επί τόπου. Συνολικά, αυτή φαίνεται να είναι η πιο αδύναμη υπηρεσία σε αυτόν τον κατάλογο, αλλά, όπως συμβαίνει με το Firebase, το CloudKit της Apple είναι πολύ πιο εύκολο να ενσωματωθεί σε εφαρμογές iOS.

Kinvey

Kinvey

Η Kinvey διαθέτει την ευρύτερη επιλογή των υπηρεσιών MBaaS, με πολλούς τρόπους. Ο κώδικας στον ιστότοπο επιτρέπει την ταχεία ανάπτυξη για iOS, Android, HTML5 και Xamarin. Βασικές υπηρεσίες της περιλαμβάνουν τη βάση δεδομένων, τις ειδοποιήσεις ώθησης, τις υπηρεσίες ελέγχου ταυτότητας και εντοπισμού θέσης. Υπάρχουν πολλές πρόσθετες βιβλιοθήκες αποσπάσματος κώδικα. Πολλοί άλλοι μπορούν να τεθούν σε λειτουργία, επίσης. Ελέγξτε τη λίστα για το Android. Η Kinvey προσφέρει μια ελεύθερη βαθμίδα για άτομα ή νεοσύστατες επιχειρήσεις με λιγότερους από 25 υπαλλήλους. Αλλά, για τα υπόλοιπα, είναι απίστευτα ακριβό στα $ 24k ανά εφαρμογή, το χρόνο στην πρώτη βαθμίδα. Λόγω της πληθώρας των υπηρεσιών που προσφέρουν, η τεκμηρίωση του Kinvey δεν είναι τόσο απλουστευμένη όσο η Parse's, η οποία έχει σχεδιαστεί για να αναβαθμίσει γρήγορα τους προγραμματιστές.

Η Kinvey είναι πολύ φιλική προς το χρήστη, αλλά η τιμολόγηση, η υποστήριξη και οι υπηρεσίες της δεν είναι ιδανικές για μικρές επιχειρήσεις. Αλλά δεδομένου ότι ο Kinvey επικεντρώνεται περισσότερο στον τομέα των επιχειρήσεων, υποθέτω ότι είναι εντάξει.

Firebase της Google

Firebase

Η Firebase είναι μια από τις πιο δημοφιλείς αντικαταστάσεις για το Parse, με καλό λόγο. Μπορείτε να ξεκινήσετε την αποθήκευση των δεδομένων σε ελάχιστο χρόνο και το SDK είναι απλό στη χρήση τους. Ο έλεγχος ταυτότητας με το Google, το Facebook, το Github, το Twitter ή το ηλεκτρονικό ταχυδρομείο είναι ένα αεράκι με το Firebase, ειδικά επειδή δεν χρειάζεται επιπλέον backend. Οι εξειδικευμένοι χρήστες του Parse θα απολαμβάνουν ανώνυμους χρήστες, οι οποίοι ήταν ένα Parse αγαπημένο. Επιπλέον, η αποθήκευση εκτός σύνδεσης είναι παρόμοια με την ανάλυση. Η Firebase θα μπορούσε επίσης να χρησιμεύσει ως αντικατάσταση των βασικών δεδομένων. Αυτό θα σας εξοικονομήσει ώρες χρόνου ανάπτυξης. Η βάση δεδομένων σε πραγματικό χρόνο είναι ιδανική για κάτι σαν μια εφαρμογή συνομιλίας ή οποιαδήποτε άλλη περίπτωση χρήσης όπου η μετάδοση δεδομένων είναι ευαίσθητη στο χρόνο. Οι Ειδοποιήσεις Push είναι εύκολο να εγκατασταθούν και να αποσταλούν μέσω του ταμπλό. Είναι δυνατή η εγγραφή των χρηστών σε προκαθορισμένα θέματα, η δημιουργία προσαρμοσμένων τμημάτων ή η αποστολή ειδοποιήσεων σε μεμονωμένες συσκευές. Το Firebase Analytics είναι αρκετά ανθεκτικό. Διαθέτει όχι μόνο προσαρμοσμένα συμβάντα, αλλά και δεδομένα υψηλού επιπέδου μαζί με δημογραφικά στοιχεία. Μπορείτε να αποκτήσετε μια πλήρη εικόνα της βάσης χρηστών σας προσθέτοντας απλά την ανάλυση Firebase. Επιπλέον χαρακτηριστικά όπως η αποθήκευση, η φιλοξενία και η απομακρυσμένη διαμόρφωση αποτελούν μέρος των προσφορών της Firebase. Όπως μπορείτε να δείτε, το Firebase μας προσφέρει ένα πλήρες σύνολο χαρακτηριστικών. Σε συνδυασμό με την ευκολία χρήσης του, βρίσκεται στην κορυφή της λίστας μας ως την καλύτερη αντικατάστασή μας.

Το Firebase, το BaaS το οποίο μοιάζει περισσότερο με το Parse, υποστηρίζεται από μια μεγάλη εταιρεία με εξαιρετική φήμη στον τομέα των μεγάλων δεδομένων, λειτουργεί με πολλαπλές πλατφόρμες και είναι πλούσια σε χαρακτηριστικά. Επιπλέον, η υπηρεσία Firebase είναι ελεύθερη αρχικά, με την τιμολόγηση να αυξάνεται σταθερά καθώς κλιμακώνετε. Επίσης, το Firebase είναι πολύ πιο δημοφιλές και, ως εκ τούτου, υπάρχουν πολύ περισσότερα μαθήματα διαθέσιμα για αυτό από ό, τι για τους λιγότερο γνωστούς προμηθευτές BaaS. Αυτό κάνει μια από τις ευκολότερες επιλογές για έναν προγραμματιστή να επιταχύνει. Αλλά η αρχιτεκτονική δεδομένων δέντρων JSON είναι λίγο διαφορετική από την παραδοσιακή αρχιτεκτονική δεδομένων και θα πάρει μερικούς συνηθισμένους. Επίσης, ορισμένοι προγραμματιστές δεν συμπαθούν το API της Firebase και δεν έρχονται με ενσωματωμένη υποστήριξη για ειδοποιήσεις push. Η Firebase τείνει να είναι αρκετά δύσκολο να χρησιμοποιηθεί, σίγουρα είναι ισχυρή, αλλά είναι επίσης πολύ περίπλοκη. Η Firebase θα έχει μεγαλύτερη καμπύλη μάθησης, αλλά έχει περισσότερα να προσφέρει. Αν είστε πιο προσηλωμένοι στις υπηρεσίες Google και είστε άτομο ή εκκίνηση, σκεφτείτε Firebase.

Ποια MBaaS πρέπει να πάτε;

Μην αφήσετε το backend να καταλήξει σε μια συμφόρηση για την εφαρμογή σας. Επίσης, λάβετε υπόψη τον κίνδυνο μακροζωίας, ή μάλλον την έλλειψη. Εάν η υπηρεσία δεν είναι γύρω σε λίγα χρόνια, θα πρέπει να βρείτε μια άλλη εναλλακτική λύση και να μεταναστεύσετε. Επομένως, εξετάστε πόσο εύκολο είναι να μεταφέρετε δεδομένα μακριά από μια συγκεκριμένη πλατφόρμα. Ένα άλλο πράγμα είναι ότι μερικές από αυτές τις επιλογές απαιτούν περισσότερη γνώση διακομιστών και DevOps από άλλες, κάτι που θα μπορούσε να προσθέσει ένα σημαντικό βαθμό πολυπλοκότητας. Και εξετάζοντας το κόστος εκ των προτέρων είναι απαραίτητο, αλλά επίσης να ρίξετε μια ματιά στο πώς αυτές οι δαπάνες θα κλιμακώσουν καθώς η εφαρμογή σας κλιμακώνεται. Τέλος της ημέρας χρησιμοποιήστε την τεχνολογία που ήδη αισθάνεστε άνετα ή που ανυπομονούμε να μάθετε.

Αξιολογήστε σχολαστικά τις υπηρεσίες που αναφέρονται για να δείτε τι ταιριάζει καλύτερα στις ανάγκες σας, αλλά η ομάδα μας στρέφεται όλο και περισσότερο προς τη Firebase της Google. Το πιο εντυπωσιακό είναι ότι η υπηρεσία έχει σχεδιαστεί από το έδαφος ως μια πλατφόρμα, σε αντίθεση με το CloudKit της Apple που είναι κυρίως iOS-κεντρικό. Οι υπηρεσίες ώθησης και τα δωρεάν αναλυτικά στοιχεία είναι ένα μπόνους με τη Firebase. Ωστόσο, για πιο εκτεταμένες βάσεις δεδομένων, ίσως θελήσετε να εξετάσετε το ενδεχόμενο ανάμειξης του περιβάλλοντος σας με τις υπηρεσίες Amazon Web Services. Με λίγα λόγια, αν θέλετε έναν απλό τρόπο αποθήκευσης δεδομένων και είναι μόνο iOS, το CloudKit είναι ίσως η καλύτερη επιλογή. Αν ήσαστε άνετοι με την Parse και θέλετε κάτι παρόμοιο, το Firebase είναι το καλύτερο στοίχημα. Εάν μπορείτε να το αντέξετε οικονομικά, εξετάστε τον Kinvey.

Δημοσιεύθηκε αρχικά στο CognitiveClouds: Κορυφαία εταιρεία ανάπτυξης εφαρμογών για κινητά

Αυτή η ιστορία δημοσιεύεται στην έκδοση The Startup, το μεγαλύτερο επιχειρηματικό υλικό του Medium και ακολουθείται από 299.352+ ανθρώπους.

Εγγραφείτε για να λάβετε τις κορυφαίες ιστορίες μας εδώ.