Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Dowiedz się więcej o sieci i Firebase

Podczas tworzenia aplikacji internetowej przy użyciu Firebase możesz napotkać nieznane pojęcia lub obszary, w których potrzebujesz więcej informacji, aby podjąć właściwe decyzje dotyczące projektu. Ta strona ma na celu odpowiedzieć na te pytania lub wskazać zasoby, aby dowiedzieć się więcej.

Jeśli masz pytania dotyczące tematu, który nie został omówiony na tej stronie, odwiedź jedną z naszych społeczności internetowych . Będziemy również okresowo aktualizować tę stronę o nowe tematy, więc sprawdzaj ponownie, czy dodaliśmy temat, o którym chcesz się dowiedzieć.

SDK w wersjach 8 i 9

Firebase udostępnia dwie wersje SDK dla aplikacji internetowych, z których jedna jest obecnie w wersji Beta:

  • Wersja 8. Jest to interfejs JavaScript, który Firebase utrzymuje przez kilka lat i jest znany programistom internetowym z istniejącymi aplikacjami Firebase.
  • Wersja modułowa 9 (Beta) . Ten zestaw SDK wprowadza podejście modułowe, które zapewnia mniejszy rozmiar zestawu SDK i większą wydajność dzięki nowoczesnym narzędziom do kompilacji JavaScript, takim jak Webpack lub Rollup .

Wersja 9 dobrze integruje się z narzędziami do budowania, które usuwają kod, który nie jest używany w Twojej aplikacji, proces znany jako „potrząsanie drzewami”. Aplikacje utworzone za pomocą tego zestawu SDK mają znacznie mniejsze rozmiary. Wersja 8, choć dostępna jako moduł, nie ma ściśle modułowej struktury i nie zapewnia takiego samego stopnia redukcji rozmiaru.

Chociaż większość pakietu SDK w wersji 9 jest zgodna z tymi samymi wzorcami co w wersji 8, organizacja kodu jest inna. Ogólnie wersja 8 jest zorientowana na przestrzeń nazw i wzorzec usług, podczas gdy wersja 9 jest zorientowana na funkcje dyskretne. Na przykład getAuth() kropek w wersji 8, takie jak firebaseApp.auth() , w wersji 9 jest zastępowane przez pojedynczą getAuth() która pobiera firebaseApp i zwraca instancję uwierzytelniania.

Oznacza to, że aplikacje internetowe utworzone w wersji 8 lub wcześniejszej wymagają refaktoryzacji, aby skorzystać z modułowego podejścia w wersji 9. Firebase udostępnia kompatybilne biblioteki, które ułatwiają to przejście; Więcej informacji można znaleźć w przewodniku aktualizacji .

Co jest obsługiwane?

Chociaż wersja 8 i wersja 9 (Beta) mają różne style kodu, zapewniają bardzo podobną obsługę funkcji i opcji Firebase. Jak szczegółowo opiszemy w tym przewodniku, obie wersje SDK obsługują warianty JavaScript i Node.js, a także kilka opcji dodawania / instalowania pakietów SDK.

Dodaj zestawy SDK z 8.0 (z przestrzenią nazw) 9.0 (modułowa wersja beta)
npm
  • W przypadku JavaScript
  • W przypadku Node.js
  • W przypadku JavaScript
  • W przypadku Node.js
CDN (sieć dostarczania treści)
  • W przypadku JavaScript
  • Wkrótce w JavaScript
Hostingowe adresy URL
  • W przypadku JavaScript
  • W przypadku Node.js
  • Wkrótce dla JavaScript i Node.js.

Aby uzyskać więcej informacji, zobacz Sposoby dodawania internetowych pakietów SDK do aplikacji i warianty Firebase Web SDK w dalszej części tej strony.

Wersja 9 dla nowych aplikacji

Jeśli zaczynasz nową integrację z Firebase, możesz zdecydować się na wersję 9 Beta SDK podczas dodawania i inicjowania pakietu SDK .

Podczas tworzenia aplikacji pamiętaj, że Twój kod będzie zorganizowany głównie wokół funkcji . W wersji 9 usługi są przekazywane jako pierwszy argument, a funkcja następnie wykorzystuje szczegóły usługi do wykonania reszty. Na przykład:

import { getAuth, onAuthStateChanged } from "firebase/auth";

const auth = getAuth(firebaseApp);
onAuthStateChanged(auth, user => {
  // Check for user status
});

Więcej przykładów i szczegółów można znaleźć w przewodnikach dla każdego obszaru produktu, a także w dokumentacji referencyjnej wersji 9 .

Sposoby dodawania internetowych pakietów SDK do aplikacji

Firebase udostępnia biblioteki JavaScript dla większości produktów Firebase, w tym Remote Config, FCM i nie tylko. Sposób dodawania pakietów SDK Firebase do aplikacji internetowej zależy od tego, czy zdecydowałeś się korzystać z Hostingu Firebase w swojej aplikacji, jakich narzędzi używasz z aplikacją (np. Pakietu modułów), czy też aplikacja działa w przeglądarce innej niż przeglądarka środowisko, takie jak Node.js.

Możesz dodać dowolną z dostępnych bibliotek do swojej aplikacji za pomocą jednej z obsługiwanych metod:

  • npm (dla pakietów modułów i Node.js)
  • CDN (sieć dostarczania treści)
  • Adresy URL hostingu Firebase

Aby uzyskać szczegółowe instrukcje konfiguracji dla każdej metody, zobacz Dodawanie Firebase do aplikacji JavaScript . Pozostała część tej sekcji zawiera informacje, które pomogą Ci wybrać jedną z dostępnych opcji.

npm

Pobranie pakietu Firebase npm (który obejmuje zarówno przeglądarkę, jak i pakiety Node.js) zapewnia lokalną kopię pakietu SDK Firebase, który może być potrzebny w przypadku aplikacji innych niż przeglądarki, takich jak aplikacje Node.js, React Native lub Electron. Pobieranie obejmuje pakiety Node.js i React Native jako opcję dla niektórych pakietów. Pakiety Node.js są niezbędne na etapie renderowania po stronie serwera (SSR) struktur SSR.

Używanie npm z pakietem modułów, takim jak Webpack lub Rollup, zapewnia opcje optymalizacji nieużywanego kodu „potrząsania drzewem” i stosowania ukierunkowanych wypełnień, co może znacznie zmniejszyć rozmiar aplikacji. Wdrożenie tych funkcji może zwiększyć złożoność konfiguracji i łańcucha kompilacji, ale różne popularne narzędzia interfejsu wiersza polecenia mogą to złagodzić. Narzędzia te obejmują Angular , React , Vue , Next i inne.

W podsumowaniu:

  • Zapewnia cenną optymalizację rozmiaru aplikacji
  • Dostępne są solidne narzędzia do zarządzania modułami
  • Wymagane dla SSR z Node.js.

CDN (sieć dostarczania treści)

Dodawanie bibliotek przechowywanych w sieci CDN Firebase to prosta metoda konfiguracji pakietu SDK, która może być znana wielu programistom. Używając CDN do dodawania zestawów SDK, nie będziesz potrzebować narzędzia do kompilacji, a łańcuch kompilacji może być prostszy i łatwiejszy w obsłudze w porównaniu z pakietami modułów. Jeśli nie martwisz się specjalnie o rozmiar zainstalowanej aplikacji i nie masz specjalnych wymagań, takich jak transpiling z TypeScript, CDN może być dobrym wyborem.

W podsumowaniu:

  • Znajome i proste
  • Odpowiedni, gdy rozmiar aplikacji nie jest głównym problemem
  • Odpowiednie, gdy Twoja witryna nie korzysta z narzędzi do tworzenia.

Hostingowe adresy URL

Hosting Firebase zapewnia zarezerwowane adresy URL, które pozwalają zwiększyć wydajność przez ładowanie plików z tego samego źródła. Jeśli korzystasz już z Hostingu Firebase lub planujesz go używać w swojej aplikacji, możesz dodać pakiety JavaScript SDK za pośrednictwem adresów URL hostingu i skorzystać z tego wzrostu wydajności. Ponadto ta metoda obsługuje automatyczną inicjalizację zestawu SDK, co może uprościć zarządzanie wieloma środowiskami, takimi jak tworzenie, przemieszczanie i produkcja. Dowiedz się więcej o dodawaniu pakietów SDK za pośrednictwem zarezerwowanych adresów URL hostingu .

W podsumowaniu:

  • Zapewnia niewielką przewagę wydajności nad CDN
  • Może uprościć pracę w wielu środowiskach programistycznych
  • Wygodne w przypadku aplikacji, które już korzystają z Hostingu Firebase

Warianty Firebase Web SDK

Obecnie Firebase udostępnia dwa warianty Web SDK:

  • Pakiet JavaScript obsługujący wszystkie funkcje Firebase do użytku w przeglądarce.
  • Pakiet Node.js po stronie klienta, który obsługuje wiele - ale nie wszystkie - funkcje Firebase. Zobacz listę obsługiwanych środowisk .

Oba te warianty SDK zostały zaprojektowane, aby pomóc w tworzeniu aplikacji internetowych lub aplikacji klienckich dla dostępu użytkownika końcowego, na przykład w aplikacji komputerowej Node.js lub aplikacji IoT. Jeśli Twoim celem jest skonfigurowanie dostępu administracyjnego ze środowisk uprzywilejowanych (takich jak serwery), zamiast tego użyj pakietu Firebase Admin SDK .

Wykrywanie środowiska za pomocą pakietów i frameworków

Podczas instalowania pakietu SDK sieci Web Firebase przy użyciu npm instalowane są obie wersje JavaScript i Node.js. Pakiet zapewnia szczegółowe wykrywanie środowiska w celu włączenia odpowiednich pakietów dla Twojej aplikacji.

Jeśli Twój kod używa instrukcji Node.js require , zestaw SDK znajduje pakiet specyficzny dla węzła. W przeciwnym razie ustawienia twojego pakietu muszą być poprawnie określone, aby wykryć właściwe pole punktu wejścia w pliku package.json (na przykład main , browser lub module ). Jeśli podczas wykonywania zestawu SDK wystąpią błędy, sprawdź, czy pakiet jest skonfigurowany do nadawania priorytetów poprawnemu typowi pakietu dla Twojego środowiska.

Dostępne biblioteki

Dodatkowe opcje konfiguracji

Opóźnienie ładowania pakietów SDK Firebase (z CDN)

Możesz opóźnić włączenie pakietów SDK Firebase do momentu wczytania całej strony.

  1. Dodaj flagę defer do każdego tagu script dla pakietów SDK Firebase, a następnie odrocz inicjalizację Firebase za pomocą drugiego skryptu, na przykład:

    <script defer src="https://www.gstatic.com/firebasejs/8.4.1/firebase-app.js"></script>
    
    <script defer src="https://www.gstatic.com/firebasejs/8.4.1/firebase-auth.js"></script>
    <script defer src="https://www.gstatic.com/firebasejs/8.4.1/firebase-firestore.js"></script>
    
    // ...
    
    <script defer src="./init-firebase.js"></script>
    
  2. Utwórz plik init-firebase.js , a następnie init-firebase.js do niego następujące elementy:

    // TODO: Replace the following with your app's Firebase project configuration
    var firebaseConfig = {
      // ...
    };
    
    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
    

Używaj wielu projektów Firebase w jednej aplikacji

W większości przypadków wystarczy zainicjować Firebase w jednej, domyślnej aplikacji. Możesz uzyskać dostęp do Firebase z tej aplikacji na dwa równoważne sposoby:

// Initialize Firebase with a "default" Firebase project
var defaultProject = firebase.initializeApp(firebaseConfig);

console.log(defaultProject.name);  // "[DEFAULT]"

// Option 1: Access Firebase services via the defaultProject variable
var defaultStorage = defaultProject.storage();
var defaultFirestore = defaultProject.firestore();

// Option 2: Access Firebase services using shorthand notation
defaultStorage = firebase.storage();
defaultFirestore = firebase.firestore();

Czasami jednak musisz mieć dostęp do wielu projektów Firebase w tym samym czasie. Na przykład możesz chcieć odczytać dane z bazy danych jednego projektu Firebase, ale przechowywać pliki w innym projekcie Firebase. Lub możesz chcieć uwierzytelnić jeden projekt, jednocześnie nie uwierzytelniając drugiego projektu.

Pakiet Firebase JavaScript SDK umożliwia jednoczesne inicjowanie i używanie wielu projektów Firebase w jednej aplikacji, przy czym każdy projekt korzysta z własnych informacji konfiguracyjnych Firebase.

// Initialize Firebase with a default Firebase project
firebase.initializeApp(firebaseConfig);

// Initialize Firebase with a second Firebase project
var otherProject = firebase.initializeApp(otherProjectFirebaseConfig, "other");

console.log(firebase.app().name);  // "[DEFAULT]"
console.log(otherProject.name);    // "otherProject"

// Use the shorthand notation to access the default project's Firebase services
var defaultStorage = firebase.storage();
var defaultFirestore = firebase.firestore();

// Use the otherProject variable to access the second project's Firebase services
var otherStorage = otherProject.storage();
var otherFirestore = otherProject.firestore();

Uruchom lokalny serwer WWW do programowania

Jeśli tworzysz aplikację internetową, niektóre części pakietu Firebase JavaScript SDK wymagają, aby aplikacja była obsługiwana z serwera, a nie z lokalnego systemu plików. Możesz użyć interfejsu wiersza polecenia Firebase, aby uruchomić lokalny serwer.

Jeśli masz już skonfigurowany Hosting Firebase dla swojej aplikacji, być może wykonałeś już kilka z poniższych kroków.

Aby udostępniać swoją aplikację internetową, będziesz używać Firebase CLI, narzędzia wiersza poleceń.

  1. Odwiedź dokumentację interfejsu wiersza polecenia Firebase, aby dowiedzieć się, jak zainstalować interfejs CLI lub zaktualizować go do najnowszej wersji .

  2. Zainicjuj projekt Firebase. Uruchom następujące polecenie z katalogu głównego lokalnego katalogu aplikacji:

    firebase init

  3. Uruchom lokalny serwer do programowania. Uruchom następujące polecenie z katalogu głównego lokalnego katalogu aplikacji:

    firebase serve

Zasoby typu open source dotyczące pakietów SDK Firebase JavaScript

Firebase wspiera rozwój oprogramowania typu open source i zachęcamy do wkładów społeczności i opinii.

Pakiety Firebase JavaScript SDK

Większość pakietów SDK Firebase JavaScript jest tworzonych jako biblioteki open source w naszym publicznym repozytorium Firebase GitHub .

Przykłady szybkiego startu

Firebase przechowuje zbiór przykładów szybkiego startu dla większości interfejsów API Firebase w internecie. Te przewodniki Szybki start znajdziesz w naszym publicznym repozytorium szybkiego startu Firebase GitHub . Możesz użyć tych przewodników Szybki start jako przykładowego kodu korzystania z pakietów SDK Firebase.