Backend-as-a-Service (BaaS) се отнася до платформи, които предоставят backend услуги, като съхранение на данни, анализи, известия, абонаменти в реално време и удостоверяване, на софтуерни приложения. Доставчиците на BaaS намаляват времето, необходимо за разработване на приложение, тъй като елиминира необходимостта от изграждане на бекенда от нулата.
Някои популярни доставчици на BaaS, които поддържат React приложения, са AWS Amplify, Firebase и SupaBase.
AWS Amplify
Услугите на AWS могат да бъдат трудни за използване без опит в облака. Стартирала през 2017 г., AWS Amplify е библиотека с отворен код, която опростява начина, по който взаимодействате с и интегрирате услугите на AWS във вашето приложение.
Той предоставя услуги като съхранение, удостоверяване, GraphQL, REST API и насочени известия, наред с други. Освен това предоставя лесен начин за добавяне на ресурси на AWS като Cognito, DynamoDB и ElasticSearch към приложение, без да използвате конзолата на AWS. Можете да използвате CLI или администраторския потребителски интерфейс за достъп до Amplify.
Основни характеристики на AWS Amplify
- AWS Amplify работи с много рамки и езици. За уеб приложения поддържа популярни JavaScript рамки и библиотеки като React, Angular и Vue. Той също така поддържа iOS и Android.
- Amplify интегрира Amazon Cognito, за да поддържа удостоверяване на имейл/парола, социално удостоверяване с доставчици като Facebook и Amazon и многофакторно удостоверяване.
- Amplify ви позволява да добавяте GraphQL и REST API към вашето приложение. Можете да използвате тези API за достъп до данни от източник на данни като DynamoDB.
- Amplify ви позволява да използвате S3 за съхраняване и управление на медийни файлове на устройството и в облака.
- Amplify CLI ви позволява да създавате и внедрявате ламбда функции. Ламбда функция е a функция без сървър което ви позволява да изпълнявате код, без да осигурявате сървър. Някои обичайни случаи на използване на ламбда функции включват изпращане на SMS известия при задействане на събитие, изпращане на имейли и манипулиране на изображения, като например създаване на миниатюри. Вижте документите на AWS за повече обичайни случаи на употреба на ламбда функции.
- Евтино е да започнете. Можете да започнете да създавате своето приложение в безплатното ниво, което предлага повечето от функциите на Amplify. След като безплатният период приключи, можете да платите за специфичните функции, които сте използвали.
- Amplify намалява времето за пускане на пазара на софтуерни приложения, защото не е необходимо да кодирате бекенда от нулата.
AWS Amplify е насочен само към AWS Cloud. За Google Cloud трябва да помислите за Firebase.
Firebase
Firebase е BaaS платформа, изградена върху Google Cloud, която предоставя управлявана бекенд платформа за уеб и мобилни приложения. Firebase предлага продукти, които помагат на разработчиците да изградят бекенд инфраструктура, да пуснат и наблюдават приложението и да се ангажират с потребителите.
Основни характеристики на Firebase
- Firebase поддържа интеграция с iOS, уеб и Android.
- Firebase има база данни Cloud Firestore, която е NoSQL база данни, която можете да използвате за съхраняване на данни за вашите приложения. Firebase също така предоставя база данни в реално време, която ви позволява да съхранявате и синхронизирате данни между потребителите в реално време.
- Firebase ви позволява да добавяте разширения към приложението си. Разширенията са предварително опаковани пакети от код, които добавят повече функционалност към приложението. Пример за разширение е Search with Algolia, пакет, който позволява пълнотекстово търсене в облачната база данни Firestore с помощта на Algolia. Можете да видите други разширения на пазар за разширения.
- Можете да добавите функционалност към приложението си, като интегрирате Firebase с други инструменти като Google Ads, Google Play, Jira и Slack.
- Firebase е изграден в Google Cloud, което ви позволява лесно да мащабирате приложението си.
- Планът Spark е безплатен, което помага на разработчиците да започнат лесно с Firebase.
- The Удостоверяване на Firebase услугата поддържа удостоверяване на потребителите с помощта на имейл и пароли, телефонни номера и доставчици на социално удостоверяване като Twitter и GitHub.
- Продукти на Firebase като crashlytics, мониторинг на производителността, Google Analytics и тестова лаборатория ви помагат да следите ефективността на приложението си.
Както можете да видите, Firebase има страхотни функции, но не е с отворен код и може да се използва само в Google Cloud. Ако искате алтернатива с отворен код, опитайте Supabase.
Супабаза
Supabase е платформа, която позволява на разработчиците бързо да настроят бекенд за своите приложения. Всеки проект, създаден на Supabase, е база данни на Postgres, която е 100% преносима, което опростява миграцията към и от Supabase. Базата данни е активирана в реално време и можете да се абонирате и да реагирате на актуализации на базата данни. Други услуги, предоставяни от Supabase, са крайни функции, удостоверяване и автоматично генерирани API.
Основни характеристики на Supabase
- Supabase предоставя пълноценна база данни на Postgres. Базата данни е преносима и има вградено удостоверяване, което можете да използвате, за да контролирате потребителския достъп.
- Той предлага множество методи за удостоверяване като социални влизания с Google, Facebook и Twitter, удостоверяване на имейл/парола и вградена система за управление на потребители, до която имате достъп чрез API.
- Supabase поддържа крайни функции, които са функции без сървър, които работят близо до потребители по целия свят. Използвайки крайни функции, вие намалявате латентността и увеличавате скоростите на изпълнение на кода.
- Той също така поддържа актуализации в реално време, които ви позволяват да слушате събития в базата данни на Postgres.
- Supabase и Firebase предлагат подобни услуги и основната разлика между тях е, че Supabase е изградена на база данни PostgreSQL, релационна база данни, докато Firebase е базирана на база данни NoSQL.
- Ценообразуването на Supabase се основава на количеството съхранявани данни, което прави сметките предвидими. Безплатният пакет вече ви дава до 500 MB база данни и 1 GB място за съхранение на файлове и е идеален за странични проекти. Ако имате нужда от повече място за съхранение, следващото ценово ниво е $25 на месец.
- Можете да направите запитване към съществуваща база данни PostgreSQL, като използвате GraphQL.
Коя BaaS платформа трябва да използвате?
Избраната от вас платформа зависи от нуждите на проекта, върху който работите. Firebase е страхотен за нерелационни данни, тъй като използва NoSQL база данни, докато Supabase е добър избор, ако искате да използвате релационна база данни. Amplify ви позволява да създадете NoSQL база данни, поддържана от DynamoDB или S3, но можете също да използвате ламбда функция, за да се свържете с релационна база данни.
Освен това, ако искате да използвате GraphQL API, изберете Amplify или Supabase, тъй като Firebase не го поддържа.
Трябва също така да вземете предвид вашия съществуващ доставчик на облак, тъй като може да ви е по-лесно да използвате платформа, изградена на доставчика, който вече използвате. Например, ако използвате AWS, може да предпочетете Amplify или Firebase, ако използвате Google Cloud. Supabase е добър вариант, ако предпочитате да не сте обвързани с конкретен облачен доставчик.
Как BaaS доставчиците ви помагат да доставяте по-бързо
Досега научихте за функциите на Amplify, Firebase и Supabase и някои от факторите, които трябва да имате предвид при избора на доставчик на BaaS. Независимо от платформата, която изберете, BaaS ще ви помогне да спестите време за разработка. Вместо да конфигурирате базата данни, да изграждате система за удостоверяване, да настройвате анализи и други бекенд услуги, можете да се съсредоточите върху дизайна и предния край.