HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
cyclejs
cyclejs
TypeScript2014–2021
cyclejs / cyclejs

cyclejs

A functional and reactive JavaScript framework for predictable code

16Distinct people
20Mentions
0Explicit recommenders
10.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A functional and reactive JavaScript framework for predictable code

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year20 dated mentions

Observed mentions: 2014-11-10 08:50:16 UTC to 2021-09-21 18:19:12 UTC.

02468102014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 10 mentions; 2 submissions, 8 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC312
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC1028
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC321
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC211

What Hacker News says

20 sources
An example may be, graphic designer shop gets a contract to update the company 'style guide'. It gets done and there are a lot changes that are cross-cutting w.r.t. components, starting with fonts, borders, margins, border styling etc. Also, what's not fully clear to me, what if - as usually is the case - the components are nested? Changing eg. font in the outer component would leave inner components fully intact? A side note, I'm wondering how the Svelte approach relates to `isolation` in cycle.js https://github.com/cyclejs/cyclejs/issues/259 -
In The Zen of Just Writing CSS
Presentation author here. I didn't publish this to HN myself, it was just discovered by someone among my repos. Some important things I want to make clear: 1. React is revolutionary. I really like the core idea inside it, which is basically just this https://joshaber.github.io/2015/01/30/why-react-native-matte... 2. Apart from the core ideas, the surfacing API has its problems: synchronous render (a problem for server-side rendering https://github.com/andreypopp/react-async), mutable API (setState) etc, and most of my presentation. I've spoken to others in the industry (would not like to mention names, but top experts anyway), and they both love React and agree it is contaminated with a bit of bad API. 3. React probably doesn't have the perfect API for the "UIs as pure function of state" approach. It can be improved https://github.com/fa
Read the rest
cebook/react/issues/3398 and https://twitter.com/sebmarkbage/status/543660526908088320 4. This presentation was given at a small meetup and I made it provocative on purpose just to have some fun with friends. The type of stuff you talk about in a small circle, not meant to publish on HN for the whole world https://www.youtube.com/watch?v=9QObt0SGriI 5. Cycle.js is not _better_ than React, it is my personal ongoing exploration in how to make React (or React's ideas) better. It is work in progress, and I'm breaking it apart whenever I find a better way of doing stuff. E.g. https://github.com/staltz/cycle/issues/99 6. Cycle.js is not an antagonist to React. I am currently experimenting with Cycle.js + React Native. https://github.com/staltz/cycle/issues/91 If React's API would be a bit less restrictive, I would use it for the web too. But virtual-dom by MattEsch is lighter and less restrictive, so I use that. 7. Don't be so harsh on HN as if I would be intentionally shouting to the whole world that React sucks.
In Don't React
I'm quite tired so I might be mistaken here, but autorun reminds me of Knockout's computed properties. function viewModel() { this.observable = ko.observable(); this.updateWhenObsChanged = ko.computed(function() { console.log(this.observable()); // logs whenever the observable changes return this.observable(); // see template example below }); } ko.applyBindings(viewModel); Any observables used in a computed property are automatically watched. The computed property can contain any JS code; it makes the function inside reactive. Knockout also has a built in templating library where you can do things like: <p data-bind="text: updateWhenObsChanged"></p> It seems like in this library, one area that's more flexible than KO is that you can create various reactive data sources. However, in KO you can essentially
Read the rest
do the same thing by updating an observable. For instance, you could have this.webSocketResponse = ko.observable() and call it with a new value for every websocket response you give. Now for me, the step beyond this is a library like Reactive Extensions (RxJS for Javascript) which instead of having stateful observables gives you async streams of events. For instance, say that you have two buttons, #1 and #2, and you want to do something when button one is pressed before button two: var buttonOne = $('#1'); var buttonOneClickStream = Rx.Observable.fromEvent(buttonOne, 'click'); var buttonTwo = $('#2'); var buttonTwoClickStream = Rx.Observable.fromEvent(buttonTwo, 'click'); var lastTwoClicks = buttonOneClickStream .map(function () { return 1; }) // clicking button one produces a 1 .merge( // merge buttonOneClickStream's output with the buttonTwoClickStream buttonTwoClickStream.map(function() { return 2; }) // clicking button two produces a 2 ) .bufferWithCount(2); // emit an array of two values once we have two values from our merged streams var firstThenSecond = function (arr) { return arr[0] === 1 && arr[1] === 2; }; var clickedFirstThenSecond = lastTwoClicks .filter(firstThenSecond); // only emit events that match our filter var notifyOnSuccess = clickedFirstThenSecond.subscribe(function() { console.log("woot"); }); The nice thing about this approach is that you can build up a variety of streams and merge them in a reusable and functional way. While this is possible in KO, I find that unless I'm very disciplined I ended up with a mess of computed properties scattered throughout my app. Since in KO we are using the observer pattern, which is stateful, this can cause some complexities. But with stateless streams, we have a more declaritive and perhaps even "imperative" approach. The step beyond this it to tie these streams into something more advanced than JQuery, like virtualdom. I started working on this only to find someone else has already accomplished a lot more than me in https://github.com/staltz/cycle However, I think I might like a template-based approach using something like handlebars. Anyways I'm quite tired so I might be mistaken in my assesment of this library. But I think anyone interested in reactive programming might like KO, RxJS, and Cycle. KO's worked quite nicely for me, despite my complaints about the limitations of stateful observers. Complete example of RxJS: http://jsfiddle.net/bjhyvvjs/ How to grok reactive programming: https://gist.github.com/staltz/868e7e9bc2a7b8c1f754 Why React.js isn't actually reactive: http://staltz.com/dont-react/#/ Edit: Argh I'm so sorry about the bad code rendering... I forgot to set translate_tabs_to_spaces in Sublime Text :( It should be good now!
In Transparent Reactive Programming

Showing the 15 most recent of 20 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.