Attualmente sto pianificando un nuovo progetto. È un gioco di carte. Gli utenti possono raccogliere le carte come gioco contro gli altri. Ho iniziato a pensare a come potrebbe apparire un'architettura.
Sono un fan di .NET e userò C # come lingua mia. Voglio anche usare Azure come backend.
Sono curioso, come dividere client e backend?
Metteresti tutta la logica (anche giocando le regole) nel back-end? In questo modo l'intero gioco funzionerebbe come un'API, le diverse piattaforme client sarebbero molto sottili poiché hanno solo bisogno di avvolgere l'API e implementare l'interfaccia utente. Oppure metti solo le cose specifiche dell'utente (login, mazzo di carte personali, ...) nel backend e implementa le regole del gioco sul lato client. Ciò rende il backend meno complesso e creerebbe meno traffico per i client.
Oltre a questo voglio iniziare con un POC offline. Devo considerare qualcosa di speciale o tutte le mie classi NET possono essere riutilizzate in Azure in seguito?