2013-05-30 10 views
8

Dzięki nowym usługom, takim jak Firebase i Parse oraz narzędziom takim jak Angular JS, można teraz napisać aplikację internetową, która jest po prostu zbiorem statycznych plików. Możesz napisać frontend w portfelu HTML/CSS/Javascript, a backend jest usługą hostowaną.Pisanie aplikacji internetowej z "bez zaplecza"

Moje pytania są następujące:

  • Czy to dobry pomysł?
  • Czy warto użyć czegoś takiego jak Heroku lub App Engine do takiej aplikacji? Użytkownik naprawdę musi pobrać HTML/JS raz i jest ustawiony jako
  • Jak obsługiwać użytkowników? Federacyjne logowanie? Przechowuj dane użytkownika w Firebase/Parse?

Wszelkie inne sugestie są mile widziane!

Odpowiedz

8

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.

+0

Nie odnosi się Pan do aplikacji do czatu Kato, prawda? ;) – CMCDragonkai