Eine Web-App mit "kein Backend" schreiben [geschlossen]

8

Mit neuen Diensten wie Firebase und Parse und Tools wie Angular JS ist es jetzt möglich, eine Web-App zu schreiben, die einfach als eine Sammlung von statischen Dateien dient. Sie können das Frontend in Geldbörse HTML / CSS / Javascript schreiben und das Backend ist ein gehosteter Dienst.

Meine Fragen sind:

  • Ist das eine gute Idee?
  • Lohnt es sich, etwas wie Heroku oder App Engine für eine solche Anwendung zu verwenden? Der Benutzer muss die HTML / JS nur einmal herunterladen und sie sind
  • gesetzt
  • Wie man mit Benutzern umgeht? Föderierte Anmeldung? Speichern Sie Benutzerdaten in Firebase / Parse?

Alle anderen Vorschläge willkommen!

    
ian93 30.05.2013, 16:43
quelle

1 Antwort

8

Es ist völlig vernünftig, eine Nur-Client-App mit den aktuellen Browserfunktionen zu schreiben. Ich habe persönlich eine ausgeklügelte Anwendung entwickelt, bei der nur Firebase auf dem Backend und HTML / JavaScript von einem CDN als Client verwendet wird. Dies eignet sich besonders für Arten von Apps, die von Natur aus einfache Sicherheitsmodelle haben:

  • Single-User-Apps (wo die Daten zu einer Person gehören und von einer Person geändert werden)
  • Chat- und Kommunikations-Widgets
  • Apps, die privat für eine Organisation sind, in denen Clientverbindungen zumindest in geringem Maße authentifiziert und vertrauenswürdig sind (Collaborative Editoren und CRMs)

In einigen Fällen ist es möglich, aber weniger geeignet für Tools mit starken Berechnungen, bei denen selbst Benutzerdaten niedriger Stufe von einer vertrauenswürdigen dritten Partei sorgfältig kontrolliert werden müssen (z. B. Spiele, bei denen Spieler ihre eigenen Statistiken hacken und gültige Statistiken berechnen können) )

Sie können auch die Serveradministration und -konfiguration stark reduzieren, indem Sie herkömmliche APIs und Server-Skripts durch "privilegierte Konsumenten" ersetzen. Dies sind auch Listener für Firebase mit höheren Zugriffsrechten, die Daten genau wie ein Client abhören und verarbeiten und dann auf sichere Daten schreiben, die normale Benutzer nicht verwenden dürfen.

Ein Nachteil von Nur-Client-Modellen ist die erhöhte Komplexität der Sicherheit. Jeder Client muss vertrauenswürdig sein, um seine eigenen Daten zu berechnen und zu speichern, oder diese Daten müssen sorgfältig über Sicherheitsregeln oder eine Art externe Überwachung (wie etwa einen privilegierten Verbraucher) gesichert werden.

Sie können einige interessante Design-Ideen finden, indem Sie sich in die Literatur zu "Fat Client" oder "Thick Client" Design-Mustern vertiefen . Sie können sich auch das verteilte Spielen für einige Einblicke.

    
Kato 30.05.2013, 18:50
quelle