P: Ale to oznacza również, że musiałbym umieścić logikę biznesową w interfejsie, w aplikacji internetowej Angular2, prawda ?
Tak. Jeśli nie jest wspierany przez serwer, firma powinna gdzieś zostać wdrożona.
Po przejęciu Google Firebase przekształciło się w platformę dla programistów aplikacji mobilnych, których nie było stać (lub nie trzeba) na wdrożenie własnego zaplecza. Chociaż większość usług ma charakter przekrojowy: przechowywanie, logowanie, analityka i obsługa wiadomości, to prawda, że zapewnia również funkcje w chmurze (rodzaj lambdas), których można używać do wykonywania niektórych reguł biznesowych. Jednak w przypadku aplikacji korporacyjnych lub dużych aplikacji o złożonej logice domeny i biznesu tego rodzaju obsługa jest niewystarczająca.
Jak więc można się domyślić, Firebase nie zwalnia nas z posiadania zaplecza dedykowanego do hostowania i prowadzenia operacji biznesowych.
P: Więc jeśli kiedyś w przyszłości chciałbym stworzyć interfejs aplikacji mobilnej, musiałbym zduplikować kod logiki biznesowej?
Niekoniecznie. Jeśli aplikacja internetowa jest zbudowana na Angular, międzyplatformowe, takie jak NativeScript, mogą pozwolić ci na ponowne użycie komponentów internetowych, bibliotek, narzędzi, modeli itp. Nie zagłębiłem się w temat, więc nie mogę zapewnić pełnej kompatybilności. Klucz leży na TypeScript , zarówno Angular, jak i NativeScript wymaga od nas kodowania w TS.
Chodzi zatem o to, gdzie hostować Javascript w celu jego dystrybucji i wersjonowania . Słowo CDN .
P: Wydaje mi się, że alternatywą byłoby utworzenie zaplecza zawierającego logikę biznesową i wykorzystującego Firebase do przechowywania danych, ale wydaje się to trochę dziwne (czy nie mogę po prostu użyć ORM lub czegoś bezpośrednio w moim backendie, aby osiągnąć to samo wynik bez dużo więcej pracy?)
Kilka uwag.
Z jednej strony hosting, wdrażanie, zarządzanie i utrzymywanie bazy danych to niemała rzecz. Nie wspominając o obsłudze bezpieczeństwa, skalowalności, dostępności itp. Tak więc interesujący jest fakt, że dostawca DB zajmuje się tymi rzeczami. To nie jest szalony pomysł, aby nasza baza danych była gdzieś w chmurze. Oczywiście nie sugerowałbym tego, gdybyśmy wdrażali oprogramowanie pośrednie i zaplecze dla banku. Ale może mieć sens dla sesji klienta, profili użytkownika, preferencji i tego rodzaju danych, które zwykle znajdują się po stronie klienta lub danych, na których nam nie zależy.
Z drugiej strony posiadanie naszego zaplecza jest przydatne z prostego powodu, odsprzęgając .
Zamiast łączyć naszych klientów z różnego rodzaju usługami, którymi nie zarządzamy i nie kontrolujemy, wdrażamy aplikację po stronie serwera, z której dbamy o te rzeczy, aby nasi klienci nie musieli się martwić takimi problemami, jak zamykanie usług lub awarie zmiany. Dodatkowo zyskujemy na prostocie, ponieważ nasze zaplecze działa jak fasada.
P: Jak ludzie zazwyczaj tworzą takie aplikacje, jeśli chcą na przykład korzystać z Firebase?
Różni się znacznie w zależności od projektu. Na przykład używamy Firebase + back-end.
Firebase DB do udostępniania danych pomiędzy sesjami urządzeń-kont . Również jako dziennik zmian, gdy nasz backend jest chwilowo niedostępny, klienci wysyłają operacje zapisu do dziennika, który jest później synchronizowany.
Firebase Cloud Messages zapewnia nam powiadomienia push i tematy upstream / downstream. Korzystamy z usługi do wymiany wiadomości pub / sub.
Analizy Firebase Głównie dla metryk.
Back-end dla wszystkiego ściśle związanego z biznesem