recherche
Cours Crash BaseMar 26, 2025 am 11:24 AM

Course de la base de la base de la base

Le guide de ce développeur frontal émouvait les mystères de Firebase. Nous explorerons les capacités de Firebase, ses avantages et ses exemples pratiques. Mais d'abord, une brève histoire ...

Il y a huit ans, Andrew Lee et James Tamplin ont lancé Envolve, une startup de chat en temps réel. Son succès, alimenté par des utilisateurs de célébrités comme Ricky Martin et Limp Bizkit, découle de sa facilité d'utilisation et de la livraison rapide de messages. Envold était un widget de chat simple - une balise de script ajoutée à une page gérée tout. Il a effectivement fourni une base de données et un serveur prédéfinis pour les messages de chat.

Au fur et à mesure que Envold a grandi, une tendance surprenante est apparue: les développeurs utilisaient le widget (souvent invisible) non seulement pour le chat, mais à des fins diverses - des données de jeu, des scores élevés, des paramètres d'applications, etc. Ils ont exploité les capacités en temps réel du widget pour la synchronisation des données sans faille, en contournant la nécessité d'un développement back-end complexe.

Cette épiphanie a conduit à la création de Firebase. Les fondateurs ont envisagé une plate-forme permettant aux développeurs de construire et d'étendre rapidement les applications, éliminant le fardeau de l'infrastructure arrière et leur permettant de se concentrer sur le frontal.

Comprendre la base de feu

Firebase est-il juste une base de données? Pas entièrement. Alors qu'au départ une base de données cloud en temps réel, Firebase est devenu une plate-forme complète englobant une infrastructure pour les développeurs et les outils pour les spécialistes du marketing. Actuellement, il possède 19 produits intégrés, chacun conçu pour prendre en charge un aspect spécifique du développement d'applications et fournir des informations précieuses sur les performances des applications et le comportement des utilisateurs. Ces produits peuvent être utilisés individuellement ou collectivement pour former une solution back-end complète.

Voici un aperçu des diverses offres de Firebase:

  • Hébergement: déploiement sans effort des mises à jour du site Web avec chaque demande de traction GitHub.
  • Firestore: fonctionnalité de base de données en temps réel, même hors ligne, sans gestion du serveur.
  • AUTH: Authentification et gestion des utilisateurs à l'aide de divers fournisseurs.
  • Stockage: stockage sécurisé pour le contenu généré par l'utilisateur (images, vidéos, etc.).
  • Fonctions cloud: fonctions sans serveur déclenchées par des événements (création de données, inscription utilisateur, etc.).
  • Extensions: fonctions pré-construites avec interfaces utilisateur (par exemple, paiements de rayures, services de traduction).
  • Google Analytics: suivi et analyse complets des activités des utilisateurs.
  • Configuration à distance: Store de valeur de clé dynamique pour les drapeaux de fonctionnalité et les tests A / B.
  • Surveillance des performances: métriques de performances détaillées et traces personnalisées.
  • Messagerie cloud: notifications push multiplateformes.

Ce n'est qu'une fraction des capacités de Firebase. Vous n'avez pas besoin d'utiliser chaque service; La sélection des outils pertinents pour votre projet est parfaitement acceptable. Plongeons les applications pratiques.

Les sections suivantes vous guideront dans la configuration de Firebase et démontrent ses fonctionnalités à l'aide d'exemples intégrés. Il s'agit d'un aperçu de haut niveau, pas d'un tutoriel étape par étape. Pour des tutoriels détaillés, laissez un commentaire!

Configuration de Firebase

Cette section est cruciale si vous prévoyez d'intégrer l'application de démonstration avec votre propre back-end Firebase. Sautez ceci si vous connaissez les projets Firebase.

Firebase est basé sur le cloud, nécessitant la configuration initiale du compte. Cependant, le développement peut se produire hors ligne à l'aide d'émulateurs locaux. Ce guide utilise Codepen, nécessitant une connexion cloud. Le processus consiste à créer un projet Firebase et à récupérer la configuration nécessaire à l'intégration frontale.

Création d'un projet de base de feu

Accédez à la console Firebase. Vous pouvez ignorer la configuration Google Analytics pour l'instant.

Création d'une application Web Firebase

Créez une nouvelle application Web et attribuez-lui un nom. Les projets Firebase peuvent contenir plusieurs applications. Après la création, vous recevrez un objet de configuration:

 Laissez FirebaseConfig = {
  apikey: "votre clé",
  AuthDomain: "Your-Domain.fireBaseApp.com",
  projectid: "votre projectide",
  StorageBucket: "your-projectid.appspot.com",
  MessagingSenderid: "Votre-Senderid",
  appid: "votre appidé",
  MesurementId: "Your-MeasureId"
};

Cette configuration connecte votre frontal à Firebase. L'inclusion de ces propriétés dans votre code frontal est sécurisée. Les mécanismes de sécurité seront expliqués plus tard.

Maintenant, représentons cette application dans le code. Cette application agit comme un conteneur pour la logique partagée et l'authentification entre les services Firebase. Nous utiliserons les bibliothèques Firebase à partir d'un CDN (bien que les bundlers du module soient également pris en charge).

 // Ce stylo ajoute une base de feu via l'option "Ajouter des scripts externes" dans Codepen
// https://www.gstatic.com/firebasejs/8.2.10/firebase-app.js
// https://www.gstatic.com/firebasejs/8.2.10/firebase-auth.js

// Créer un projet sur la console Firebase
// (console.firebase.google.com)
Laissez FirebaseConfig = {
  apikey: "votre clé",
  AuthDomain: "Your-Domain.fireBaseApp.com",
  projectid: "votre projectide",
  StorageBucket: "your-projectid.appspot.com",
  MessagingSenderid: "Votre-Senderid",
  appid: "votre appidé",
  MesurementId: "Your-MeasureId"
};

// Créez votre application Firebase
Soit FirebaseApp = Firebase.InitializeApp (FirebaseConfig);
// L'instance d'autorise
Console.log (FirebaseApp.Auth ());

Ensuite, activez les services Firebase requis.

Activer les fournisseurs d'authentification

Les exemples utilisent l'authentification pour la connexion et la sécurité des données de l'utilisateur. Initialement, les fournisseurs d'authentification sont désactivés pour des raisons de sécurité. Activez Google et les méthodes de connexion anonymes dans l'onglet Authentification. N'oubliez pas d'ajouter du codepen en tant que domaine autorisé à des fins de test (mais de le supprimer en production).

Création d'une base de données Firestore

Créez une base de données Firestore en "Mode Test". La sécurité sera abordée plus tard.

Maintenant, explorons les cas d'utilisation du monde réel.

Authentification des utilisateurs

La fonctionnalité de l'application nécessite souvent des comptes d'utilisateurs. Explorons l'authentification anonyme et la connexion Google.

Authentification anonyme

L'authentification anonyme de Firebase permet aux utilisateurs d'accéder à l'application sans enregistrement, fournissant un utilisateur temporaire pour l'association de données.

(Exemple de code démontrant la connexion anonyme et la mise à jour de profil omise pour la concision)

Authentification Google

La connexion Google fonctionne de manière similaire à l'authentification anonyme.

(Exemple de code démontrant la connexion Google omise pour la concision)

Surveillance de l'état d'authentification

La méthode onAuthStateChanged suit les modifications de l'authentification, permettant des mises à jour d'interface utilisateur en fonction de l'état de connexion.

(Exemple de code démontrant onAuthStateChanged omis pour la concision)

Convertir les invités en utilisateurs permanents

Les comptes d'invités peuvent être mis à niveau vers des comptes permanents à l'aide de linkWithRedirect .

(Exemple de code démontrant la fusion de compte omis pour la concision)

Gestion des erreurs de fusion de compte

La gestion des erreurs est essentielle lors de la fusion du compte.

(Exemple de code démontrant le traitement des erreurs omis pour la concision)

Visualisation des données et flux de données en temps réel

Cette section se concentre sur la création d'un graphique à secteurs et les synchroniser avec les données de Firestore.

(Explication des propriétés personnalisées de gradient conique et de CSS omises pour la concision)

(Exemple de code démontrant Firestore Data Retrieval and Pie That Update omis pour Brevity)

Modélisation des données dans les bases de données NoSQL

Firestore est une base de données de documents NoSQL avec une structure hiérarchique de collections et de documents. La modélisation des données implique de structurer efficacement les données à l'aide de collections et de sous-collections.

(Exemples de code démontrant la récupération des données de Firestore et l'interrogation omise par Brivity)

Streaming Data à la visualisation

La méthode .onSnapshot() de Firestore permet le streaming de données en temps réel.

(Exemple de code démontrant le streaming de données en temps réel omis pour la concision)

Sécuriser votre base de données avec des règles de sécurité Firebase

Les règles de sécurité contrôlent l'accès aux données dans Firebase. Ils sont évalués sur le serveur pour chaque demande.

(Explication des règles de sécurité et des exemples omis pour la concision)

Conclusion

Ce guide a couvert l'authentification des utilisateurs, la modélisation des données, la synchronisation des données en temps réel et la sécurité de la base de données à l'aide de Firebase. N'oubliez pas d'explorer des ressources de base d'incendie supplémentaires pour un apprentissage ultérieur. Firebase simplifie la gestion back-end, permettant aux développeurs de se concentrer sur le front-end.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiquesDemystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiquesMar 08, 2025 am 09:45 AM

Ceci est le 3ème article d'une petite série que nous avons faite sur l'accessibilité. Si vous avez manqué le deuxième article, consultez "Gestion de la mise au point des utilisateurs avec: Focus-visible". Dans

Créez un formulaire de contact JavaScript avec le cadre Smart FormsCréez un formulaire de contact JavaScript avec le cadre Smart FormsMar 07, 2025 am 11:33 AM

Ce tutoriel montre la création de formulaires JavaScript professionnels à l'aide du cadre Smart Forms (Remarque: non plus disponible). Bien que le cadre lui-même ne soit pas disponible, les principes et techniques restent pertinents pour d'autres constructeurs de formulaires.

Ajout d'ombres de boîte aux blocs et éléments WordPressAjout d'ombres de boîte aux blocs et éléments WordPressMar 09, 2025 pm 12:53 PM

Le CSS Box-Shadow et les propriétés de contour ont gagné le thème. Laissez regarder quelques exemples de la façon dont cela fonctionne dans des thèmes réels et des options que nous devons appliquer ces styles aux blocs et éléments WordPress.

Travailler avec GraphQL CachingTravailler avec GraphQL CachingMar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Faire votre première transition Svelte personnaliséeFaire votre première transition Svelte personnaliséeMar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Barbars CSS personnalisés chics et cool: une vitrineBarbars CSS personnalisés chics et cool: une vitrineMar 10, 2025 am 11:37 AM

Dans cet article, nous plongerons dans le monde des barres de défilement. Je sais, ça ne semble pas trop glamour, mais croyez-moi, une page bien conçue va de pair

Show, ne dit pasShow, ne dit pasMar 16, 2025 am 11:49 AM

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Que diable sont les commandes NPM?Que diable sont les commandes NPM?Mar 15, 2025 am 11:36 AM

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.