Stavo pensando che una piccola app web per la lavagna sarebbe un buon modo per migliorare le mie competenze su node.js e JavaScript. Ne ho visti alcuni sul web, il che ha senso in quanto sembra ideale per questo tipo di stack.Rendering della tela di canapa HTML5 lato client o server per un'applicazione lavagna bianca node.js?
Prendendo solo un momento per pensare, tuttavia, mi stavo chiedendo i ruoli di client e server in questo tipo di applicazione web. Inciampando su node-canvas, sono diventato ancora più confuso. Di che cosa dovrebbero occuparsi specificamente il client e il server?
Se il server è in grado di eseguire il rendering su una tela, deve accettare e convalidare l'input dai client e quindi trasmetterlo a tutti gli altri utenti connessi tramite socket.io? In questo modo, il server conserva un master -canvas elemento di sorta. Una volta che un nuovo utente si connette, il server deve solo spingere la sua tela su quel client, portandolo al passo con qualsiasi cosa sia stata disegnata.
Tutte le indicazioni sull'implementazione - specifiche o filosofiche - sono apprezzate.
Grazie!
Ecco un'app implementata esattamente come hai delineato: https://github.com/katspaugh/whiteboard. node-canvas sul server per fornire snapshot per la sincronizzazione. – katspaugh