Jest całkowicie uzasadnione, aby napisać aplikację tylko dla klienta z aktualnymi możliwościami przeglądarki. Osobiście zbudowałem wyrafinowaną aplikację, używając tylko Firebase na zapleczu i HTML/JavaScript obsługiwanych z CDN jako klienta. Jest to szczególnie korzystne dla typów aplikacji, które mają z natury proste modele zabezpieczeń:
- aplikacje pojedynczego użytkownika (gdzie dane należą do i jest modyfikowany przez jedną osobę)
- rozmów i komunikacji widgety
- aplikacje prywatne do organizacji, w której połączenia klienckie są uwierzytelniane i są zaufane przynajmniej w niewielkim stopniu (edytory współpracujące i CRM).
Jest to możliwe w niektórych przypadkach, ale mniej odpowiednie dla narzędzi z ciężkimi obliczeniami, w których nawet niskie dane użytkownika musi być c ściśle kontrolowane przez zaufaną stronę trzecią (np. gry, w których gracze mogą włamać się do własnych statystyk, a obliczanie prawidłowych statystyk wymaga złożonych algorytmów)
Można także znacznie ograniczyć administrację serwerem i konfigurację, zastępując tradycyjne API i skrypty serwera "uprzywilejowanymi klientami". Są to także osoby korzystające z usług Firebase, posiadające wyższe uprawnienia dostępu, które nasłuchują i przetwarzają dane, podobnie jak klient, a następnie zapisują dane w bezpiecznych danych, niż zwykli użytkownicy nie powinni mieć dostępu ani manipulowania nimi.
Wadą modeli klienckich jest zwiększona złożoność zabezpieczeń. Każdy klient musi być zaufany, aby obliczyć i przechowywać własne dane lub dane muszą być starannie zabezpieczone za pomocą reguł bezpieczeństwa lub jakiegoś zewnętrznego monitoringu (takiego jak uprzywilejowany konsument).
Możesz znaleźć ciekawe pomysły na projekty, zagłębiając się w literaturę na temat wzorców projektowych "Fat Client" or "Thick Client". Możesz także zapoznać się z distributed gaming, aby uzyskać informacje.
Nie odnosi się Pan do aplikacji do czatu Kato, prawda? ;) – CMCDragonkai