Sto lavorando su una webapp (python / javascript) per modificare il file di salvataggio di un gioco. Il file ha determinati byte che rappresentano le informazioni del giocatore, come la pistola, l'attrezzatura, ecc. L'idea è di mostrare un'interfaccia che rappresenta le informazioni nel file, consentire all'utente di apportare modifiche, inviare i dati al server, che modifica il file e consente all'utente di scaricarlo.
Il mio problema è che non so quali funzioni dovrebbero essere gestite in javascript e quali in Python. Ho bisogno di python per leggere il file, ma vuol dire che dovrei usarlo per gestire i dati? Se leggo le informazioni in variabili rilevanti da inviare indietro con JSON, è ridondante perché non sto facendo nulla con le informazioni in Python oltre a rimandarle indietro?
Al momento sono stato indeciso su due possibili modi per farlo. Uno, e questo è il modo in cui attualmente lo ho impostato, è quello di gestire il file con Python; capire dove sono certe cose, leggerle nei dizionari, trasformarle in json, mandarle in javascript e poi analizzare il json e aggiornare il gui. Come ho detto prima, questo sembra il modo sbagliato per farlo.
L'altra cosa che stavo considerando era di leggere l'intero file e inviarlo di nuovo a javascript con cui lavorare. Anche questo sembra davvero sbagliato. Javascript (almeno come è implementato nei browser) non è pensato per gestire i file, e le funzioni di packing / unpacking dovrebbero essere personalizzate - una delle cose che sto vedendo come una bandiera rossa su questo metodo.
I file sono solo circa 1-2kb, quindi non sarebbe un motivo per non rinviarlo alla pagina. In effetti, il json che sto inviando è più grande del contenuto del file. Tuttavia, non mi piace molto l'idea.
Quindi cosa faccio? Sto anche avendo problemi a organizzare il codice reale. So che è una cattiva pratica attaccare un sacco di codice in una singola funzione, ma dividersi in molte altre funzioni ha reso difficile tenere traccia delle cose. C'è un buon libro agnostico che mi aiuterà con questo?