Cycle’s core abstraction is your application as a pure function main() where inputs are read effects (sources) from the external world and outputs (sinks) are write effects to affect the external world. These I/O effects in the external world are managed by drivers, plugins that handle DOM effects, HTTP effects, etc. The internals of main() are built using Reactive Programming primitives, which maximizes separation of concerns and provides a fully declarative way of organizing your code. The dataflow is plainly visible in the code, making it readable and traceable. Cycle.js apps are made of pure functions, which means you know they only take inputs and generate predictable outputs, without performing any I/O effects. The building blocks are reactive streams from libraries like xstream, RxJS or Most.js, which greatly simplify code related to events, asynchrony, and errors.

Features

  • Cycle.js is a framework with very few concepts to learn
  • Apps in Cycle.js are small and readable
  • In every Cycle.js app, each of the stream declarations is a node in a dataflow graph
  • In Cycle.js, the flow of data is clear by reading your code
  • Cycle.js has components and every single Cycle.js app is a function that can be reused in a larger Cycle.js app
  • The dataflow is plainly visible in the code, making it readable and traceable

Project Samples

Project Activity

See All Activity >

Categories

Frameworks

License

MIT License

Follow Cycle.js

Cycle.js Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Cycle.js!

Additional Project Details

Operating Systems

Apple iPhone

Programming Language

TypeScript

Related Categories

TypeScript Frameworks

Registered

2021-06-09