boardgame.io
State Management and Multiplayer Networking for Turn-Based Games
...With boardgame.io, you define the game logic in pure functions: you describe how the game state changes when a move is made, and the framework handles all the rest (state management, synchronization, storage, multiplayer, etc.). This abstraction lets developers focus on the rules and mechanics rather than on networking, persistence or UI plumbing. It supports both local games and online multiplayer across clients, and can be used with different view layers — e.g., vanilla JS or a UI framework like React or React Native. It also offers tools to help with prototyping, debugging, logging, replaying game states, and even simple AI bots. ...