User interfaces are undoubtedly becoming more complex every day. The main reason for this is the emphasis put on front-end developers to provide a better user experience.
Cycle.js is a new framework which tries to answer those difficulties. It leverages the power of reactive streams to easily model an asynchronous UI. It also tries to separate side effects (eg. DOM operations) from business logic. This results in a clean and scalable architecture using pure functions and explicit data flow.
You can learn more about Cycle.js from this introductory video presented below: