It turns out that the answer is yes! Whilst ECS is most commonly used in building games, it can also be used for building a traditional web "form" style application like TodoMVC. However you will need to radically rethink how models, their data and behaviour is organised.
This is arguably a refreshing, mind-blowing lesson in GUI programming! 🤯😉
ECS - Entity Component System Architectural Pattern
The ECS (Entity Component System) architecture is the new hotness in game developer circles. Its a way of architecting your software that rejects Models as classes in favour of a more deconstructed, data driven approach. The results, in gaming apps at least, are massive reductions in complexity and huge increases in performance and maintainability.
When I read about ECS it got me thinking - why not use it for more traditional software, not just games?
You can read about Entity Systems in this Wikipedia article. The basic idea is to take the Object (that contains identity, data and behaviour) and 'deconstruct it'.
Entity = like a model, but has no data and no behaviour 🤯 Entities are lightweight and dumb - just an id or name