В чем разница между облачной функцией и функциями Firebase?
Облачные функции и функции Firebase выглядят одинаково.
Пожалуйста, опишите вариант использования каждого.
Оба используют функции HTTP.
В облачной функции
exports.helloHttp = function helloHttp (req, res) {
res.send(`Hello ${req.body.name || 'World'}!`);
};
и в функции Firebase
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
В чем разница между этими?
4 ответа
Нет продукта под названием Firebase Functions.
Есть три отдельные вещи:
- Облачные функции Google, которые позволяют запускать фрагменты кода JavaScript в инфраструктуре Google в ответ на события
- Облачные функции для Firebase, которые запускают облачные функции Google на основе событий в Firebase (таких как запись в базу данных или файл, создание пользователя и т. Д.)
- Firebase SDK для облачных функций, который включает в себя библиотеку (смешно называется
firebase-functions
), который вы используете в своем коде функций для доступа к данным Firebase (например, снимок данных, которые были записаны в базу данных)
Таким образом, Firebase предоставляет (относительно тонкую) оболочку для Google Cloud Functions, чтобы упростить использование последнего продукта и интегрировать его с Firebase. В этом смысле это похоже на то, как Firebase интегрирует Google Cloud Storage в "Cloud Storage for Firebase" (ранее известный как Firebase Storage).
Если вы используете Google Cloud Platform без Firebase, вам следует использовать простые функции Google Cloud. Если вы работаете в Firebase или являетесь разработчиком мобильных приложений, интересующимся облачными функциями, вам следует использовать облачные функции для Firebase.
Есть дополнительная разница: функции Firebase могут быть реализованы только на JS или Node.JS, в то время как облачные функции также позволяют использовать Python и Go.
Существует также небольшая разница в том, как они оцениваются, если вы используете план Spark. Посмотрите https://firebase.google.com/pricing и https://cloud.google.com/functions/pricing, если вы используете план Blaze, цены такие же.
Я использую оба в своем проекте Firebase.
В Google Cloud Platform, GCP, есть статья, посвященная этому вопросу, Google Cloud Functions и Firebase.
Облачные функции Google и Firebase
Облачные функции Google - это безсерверное вычислительное решение Google для создания приложений, управляемых событиями. Это совместный продукт между командой Google Cloud Platform и командой Firebase.
Для разработчиков Google Cloud Platform облачные функции служат связующим слоем, позволяющим вам переплетать логику между сервисами Google Cloud Platform (GCP), прослушивая и реагируя на события.
Для разработчиков Firebase облачные функции для Firebase предоставляют способ расширить поведение Firebase и интегрировать функции Firebase посредством добавления кода на стороне сервера.
Оба решения обеспечивают быстрое и надежное выполнение функций в полностью управляемой среде, где вам не нужно беспокоиться об управлении какими-либо серверами или подготовке какой-либо инфраструктуры.
...
Облачные функции для Firebase оптимизированы для разработчиков Firebase:
- Firebase SDK для настройки ваших функций через код
- Интегрирован с Firebase Console и Firebase CLI
- Те же триггеры, что и в облачных функциях Google, плюс база данных Firebase Realtime, аутентификация Firebase и триггеры Firebase Analytics
Официальное видео Google с описанием разницы: GCP и Firebase - Функции и Firestore
- Firebase предложит вам обернуть ваши функции в вызываемые функции, которые можно вызывать через firebase SDK.
- языковая поддержка, GCP также поддерживает Go, Python и java
- GCP может быть развернут как через консоль, так и через интерфейс командной строки, но firebase работает только через интерфейс командной строки.