È del tutto ragionevole scrivere un'app client con le attuali funzionalità del browser. Ho creato personalmente un'applicazione sofisticata utilizzando solo Firebase nel back-end e HTML/JavaScript fornito da un CDN come client. Questo è particolarmente adatto per i tipi di applicazioni che hanno intrinsecamente semplici modelli di sicurezza:
- applicazioni singolo utente (dove i dati appartiene e viene modificato da una sola persona)
- chat e comunicazioni widget
- applicazioni private ad un'organizzazione, in cui le connessioni client vengono autenticate e di fiducia, almeno in misura minore (editori di collaborazione e CRM)
e 'possibile in alcuni casi, ma meno adatto a utensili con calcoli pesanti in cui anche i dati utente di basso livello deve essere c controllato da una terza parte fidata (ad es. giochi in cui i giocatori possono modificare le proprie statistiche e calcolare statistiche valide richiede complessi algoritmi)
È inoltre possibile ridurre notevolmente l'amministrazione e l'impostazione del server sostituendo le API e gli script server tradizionali con "utenti privilegiati". Questi sono anche ascoltatori di Firebase, con privilegi di accesso più elevati, che ascoltano ed elaborano i dati proprio come un client, quindi scrivono per proteggere i dati di quanto non si debba consentire agli utenti normali di accedere o manipolare.
Uno svantaggio dei modelli client-only è la maggiore complessità della sicurezza. È necessario affidare a ciascun cliente il compito di calcolare e archiviare i propri dati o che i dati devono essere attentamente protetti tramite le regole di sicurezza o una sorta di monitoraggio esterno (ad esempio un consumatore privilegiato).
si potrebbe trovare alcune idee progettuali interessanti approfondire la letteratura sulla "Fat Client" or "Thick Client" modelli di progettazione. Potresti anche voler dare un'occhiata a distributed gaming per alcuni approfondimenti.
Non ti riferisci a Kato l'app di chat giusto? ;) – CMCDragonkai