Awesome Cycle.js
A collection of awesome Cycle.js tools, resources, videos and shiny things.
Learn
Documentation
- cycle.js.org - Cycle.js official tutorial and documentation.
Tutorials
- What Developers Need to Know about MVI (Model-View-Intent) - Post on MVI architecture.
- Cycle.js: a reactive framework - Introduction to Cycle.js with real time data example.
- Building realtime applications with CycleJS and RxJS - Learn how to build realtime applications with CycleJS and RxJS
- Working with HTTP Streams with Cycle.js - Learn how to use Cycle.js to handle HTTP requests and responses
Videos
- What if the user was a function? - Presentation at JSConf BP2015 by Andre Staltz
- Unidirectional data flow architectures - Presentation AtTheFrontend Conference by Andre Staltz
- Cycle.js and functional reactive user interfaces - Presentation at ReactiveConf 2015 by Andre Staltz
- Intro to Functional Reactive Programming with Cycle.js - Presentation by Nick Johnstone
- Cycle.js Fundamentals - Playlist at egghead.io
- Cycle.js was built to solve problems - by Andre Staltz at Frontend.fi
- Brains as Building Blocks - by Andre Staltz at CycleConf 2016
- Back to the Future, Hot reloading with Cycle.js - by Nick Johnstone at CycleConf 2016
- From MVC to FRP - by Gleb Bahmutov at CycleConf 2016
- Cycle.js on the bash side - by Hadrien de Cuzey at CycleConf 2016
- Reactive Programming with Cycle.js - by Luca Mezzalira at JSDay 2016
- Learning how to ride: an introduction to Cycle.js - by Fernando Macias Pereznieto at JS Monthly London
- User Interfaces as Pure Functions of Time - Lightning talk by Thomas Belin at dotjs 2016
Slides
- Cycle.js an honestly reactive framework for web user interfaces - by Eryk NapieraΕa
- Intro to Cycle.js - by Arye Lukashevki
- Reactive Programming with Cycle.js - by Luca Mezzalira
- Cycle.js - building apps with streams only - by Luca Matteis
- Functional Reactive Programming with Cycle.js - by Sudarsan Balaji
- Beyond flux: going full cycle with FRP - by ClΓ©ment Delafargue
Example Applications
- cyclejs/cycle-examples - Official collection of small Cycle.js examples
- Widdershin/tricycle β 23 - Scratchpad for trying out Cycle.js, relies on Ace Editor with Cycle
- cgeorg/todomvp β 21 - Minimum Viable Pizza, an example webapp written in Cycle.js
- erykpiast/cyclejs-examples β 9 - Example web applications built with Cycle.js.
- grozen/trends-cycle β 3 - Slack trend searching written in Cycle.js
- ivan-kleshnin/cyclejs-examples β 120 - Collection of CycleJS examples, ES6.
- ivan-kleshnin/tetris-cyclejs β 12 - Tetris game implemented in CycleJS, ES6
- phadej/graafi β 20 - Cycle.js experiment with SVG and global undo/redo http://oleg.fi/graafi/
- staltz/matrixmultiplication.xyz β 548 - A interactive matrix multiplication webapp
- staltz/rxmarbles β 2,577 - Interactive diagrams of Rx Observables http://rxmarbles.com/
- MarcCloud/magic-cart β 6 - Simple shopping cart of a magic creatures store.
- foxdonut/cycle-todolist β 11 - demonstrates a simple Cycle.js TODO list app with CRUD.
- Mercateo/component-check β 468 - Common patterns for building Cycle.js components
- edge/electron-cycle-media β 27 - Media player written with Cycle.js and Electron.
- kibin/cycle-example-who-to-follow β 16 - Small example partly implements twitterβs who to follow box using github api.
- SkaterDad/cycle-snabbdom-examples β 12 - Examples of nested components, using snabbdom-specific animations.
- bahmutov/draw-cycle β 112 - Interactive visualization of counter application showing the data flow inside a MVI component glebbahmutov.com/draw-cycle
- andreloureiro/pomocycle β 21 - A simple Pomodoro timer.
- laszlokorte/tams-tools β 24 - A set of tools for teaching and learning computer science built with cycle.js.
- lucamezzalira/jsday-cycle-js β 16 - Reactive Live London Tube trains status example built with Cycle.js.
- cyclejs-community/built-with-cycle β 9 - A website to showcase the cool projects built with Cycle.js
- class-ideas/cyclejs-hangman β 10 - A hangman game built with Cycle.js
- wmaurer/cyclejs-fractals β 15 - Dancing pythagorean tree fractal - Animating 2048 SVG nodes.
- fabiothiroki/cyclejs-starwars β 2 - A Star Wars character search app using Cycle.js, RxJS and Virtual DOM tests.
- staltz/mmmmm-mobile β 124 - A React Native + Cycle.js app to implement a social network on Secure Scuttlebutt networks
- cyclejs/todomvc-cycle β 214 - TodoMVC example implemented in Cycle.js
- jefersondaniel/cyclejs-notes - Notes app using Cycle.js and Orbit.js https://jefersondaniel.com/cyclejs-notes
- staltz/dat-installer β 77 - Download, install, and update Android apps through Dat
- usm4n/cycle-hn β 25 - Hackernews Clone Using CycleJS
- lizraeli/cycle-github-emojis - A github emoji viewer made with Cycle.JS webapp
- perjerz3434/meetup.com β 1 - Meetup.com RSVP visualization around the world using CycleJS
Tools
CLI
- cyclejs-community/create-cycle-app β 160 - Create Cycle.js apps with no build configuration.
Libraries
Drivers
- @cycle/http - A Cycle.js Driver for making HTTP requests, based on superagent.
- @cycle/dom - A Cycle.js driver to enable interaction with the DOM. The driver is based on snabbdom as the Virtual DOM library.
- @cycle/storage - A Cycle.js Driver for using localStorage and sessionStorage.
- @cycle/history - This is the standard Cycle.js driver for dealing with the History API
- @cycle/isolate - A utility function to make scoped dataflow components in Cycle.js.
- @cycle/time - Fast and beautiful tests and time management for Cycle.js
- cyclejs/cycle-notification-driver β 20 - A Cycle.js Driver for showing and responding to HTML5 Notifications.
- axefrog/cycle-router5 β 30 - A router driver using Router5
- cgeorg/cycle-socket.io β 27 - A Cycle driver for Socket.IO clients
- secobarbital/cycle-fetch-driver β 2 - A Cycle.js Driver for making HTTP requests, using the Fetch API.
- r7kamura/cycle-fetcher-driver β 14 - A Cycle.js Driver for making HTTP requests using stackable-fetcher.
- benji6/cycle-audio-graph β 12 - A Cycle.js Driver for manipulating the Web Audio API using virtual-audio-graph
- CyclicMaterials/cycle-hammer-driver β 11 - A Cycle.js driver to wrap Hammer.js and detect touch gestures
- jessaustin/cycle-sse-driver β 6 - Source driver for Server-Sent Events/EventSource.
- tylors/cycle-snabbdom β 41 - DOM driver using Snabbdom
- cyclejs-community/cyclic-router β 90 - Router Driver built for Cycle.js
- Widdershin/cycle-animation-driver β 33 - Cycle driver for requestAnimationFrame
- dralletje/cycle-firebase β 21 - A Cycle.js Driver for Firebase
- edge/cycle-blessed β 46 - A Cycle.js Driver for terminal applications
- 10clouds/cyclejs-cookie β 2 - Cookies Driver for Cycle.js
- whitecolor/cycle-async-driver β 25 - Factory for creating async request/response cycle.js drivers
- raquelxmoss/cycle-keys β 35 - Driver for keyboard events
- rektide/recyclec β 0 - Readline driver
- goodmind/cycle-telegram β 15 - A Cycle.js Driver for Telegram Bot API
- apoco/cycle-electron-driver β 22 - Driver to interact with Electron interface from Cycle.js application
- rkrupinski/cyclejs-animated-localstorage β 12 - A Cycle.js driver for animating (srsly) localStorage.
- cyclejs-community/cycle-keyboard β 9 - A keyboard driver for cycle.js
- garrydzeng/cycle-page β 3 - A tiny client-side router for Cycle.js
- jbowden1982/cycle-socketcluster β 5 - A socketcluster driver for Cycle.js
- cyclejs-community/redux-cycles β 599 - A Redux middleware that allows you to handle actions lifecycle with Cycle.js
- JuniperChicago/cycle-gun β 18 - A basic Cycle.js driver wrapping a gun.js instance allowing graph storage and p2p sync
- EnigmaCurry/cycle-deepstream β 8 - A Cycle.js driver for deepstream.io
- Alex0007/cycle-express-driver β 1 - A Cycle.js driver for Express.js server
- mrpierrot/cycle-node-http-server β 4 - A Cycle.js driver for Node.js HTTP(S) server
- mrpierrot/cycle-net β 0 - A Cycle.js driver for Node.js HTTP(S)/WS(S)/Socket.io server
- Avalander/cycle-idb β 4 - A Cycle.js driver wrapping IndexedDB
- unhappychoice/cycle-pusher β 1 - A Cycle.js driver for Pusher
- helmoski/cycle-selection-driver - A Cycle.js driver for interacting with the Selection API
- mjyc/cycle-posenet-driver β 1 - A Cycle.js drivers for pose detection using TensorFlow.js-powered PoseNet
- @cycle-robot-drivers/speech β 1 - Cycle.js drivers for speech synthesis and recognition using Web Speech API
- @cycle-robot-drivers/sound β 1 - A Cycle.js driver for playing sounds using HTMLAudioElement
Utilities
- staltz/chai-virtual-dom β 24 - Chai assertion helpers to test virtual-dom VTrees
- cgeorg/sinject β 10 - a dependency injection tool supporting Cycle's circular dependencies
- erykpiast/cyclejs-group β 20 - Utility for CycleJS framework for reducing boilerplate when creating groups of streams.
- erykpiast/cyclejs-wc β 2 - Utility for creating Web Components based on Cycle.js
- ohanhi/hyperscript-helpers β 390 - elm-html inspired helpers for writing hyperscript or virtual-hyperscript.
- pH200/cycle-react β 342 - use React instead of virtual-dom with a Cycle-like API
- madcapjake/earlhyperscript β 2 - A helper function and macro for using Earl Grey's document-building syntax with Cycle.js.
- WorldMaker/cycle-gear β 4 - A main function factory for Cycle based upon a formalization of Cycle's MVI pattern
- SuperManitu/cyclejs-sortable β 15 - Make everything sortable via drag and drop in only one line of code!
- atomrc/cyclejs-auth0 β 22 - Everything you need to start playing with Auth0 on your Cyclejs app (Driver + component)
- staltz/cycle-onionify β 244 - Fractal state management for Cycle.js apps
- maiermic/cycle-storageify β 5 - Augments your Cycle.js component (main function) by storing its onion-shaped state in local storage
- shfrmn/cycle-lot - Handle dynamic lists of Cycle.js components with ease (full typesript support)
- sarimarton/powercycle - Static VDOM composition and React-like development on top of Cycle.js
Boilerplates
- andreloureiro/cyclejs-starter β 50 - Cycle.js starter template with ES6 and Livereload.
- Frikki/generator-cyclejs β 2 - Scaffold out a Cycle.js Nested Dialogue module using Yeoman.
- edge/cyc β 194 - Scaffold an isomorphic Cycle.js app in seconds.
- cmdv/cycle-webpack-boilerplate β 101 - Cycle app with routing, state handling and tests.
- Widdershin/cycle-hot-reloading-example β 27 - A Cycle.js starter project with hot reloading using browserify-hmr
- mciparelli/cycle-hmr-example β 0 - A Cycle.js starter project using browserify and cycle-hmr
- cycle-community/typescript-starter-cycle β 22 - A simple project for getting started with TypeScript in cycle.js, using Webpack. Has settings for Visual Studio Code as candy.
- wyqydsyq/unicycle β 6 - A boilerplate universal Cycle app running on a Koa.js server with HMR and ServiceWorkers via Webpack
- syarul/cycle-iso β 4 - A barebone boilerplate Cycle app with data stream base on promises and fetched with Falcor.js
- snowpack-cycle - Snowpack app template to create Cycle.js projects with create-snowpack-app
Testing
- erykpiast/cyclejs-mock β 22 - Utility for testing applications based on CycleJS framework.
- jeysal/pretty-format-snabbdom β 0 - A pretty-format (Jest snapshot) plugin for rendering snapshots of snabbdom VNodes as nicely as those of React elements
Debugging
- cyclejs/cycle-time-travel β 213 - A time travelling debugger for Cycle.js apps. Displays a stream visualizer that you can drag to go back in time.
Components
- erykpiast/autocompleted-select β 10 - Select Web Component with autocompletion. Based on RxJS and VirtualDOM.
- enten/cyclejs-calendar β 11 - Calendar component for Cycle.js. Try it online here.
- mciparelli/cyclejs-gravatar β 0 - Cycle.js component for rendering a gravatar profile image.
- tommy-the-runner/cyclejs-ace-editor β 0 - Cycle.js intergration with Ace Editor using brace. Check an example here.
- raquelxmoss/cycle-color-picker β 44 - A Color Picker component for Cycle.js. Check out the example.
- cyclejs-community/cycle-svg-pan-and-zoom β 4 - A Google Maps style SVG pan and zoom component for Cycle.js
Community
- Gitter chat - Ask 'how do I ...?'