cyclejs-community / README

Cycle.js Community README, code of conduct and introductions.
MIT License
24 stars 1 forks source link

Project Ideas #12

Open Widdershin opened 8 years ago

Widdershin commented 8 years ago

It's been great learning about all of you in the Introductions issue.

I thought we could have an issue where everyone can share ideas for projects they would like to work on.

Existing projects are also okay, as long as you have an idea for something you want to work on.

If you see an idea you like, give it a thumbs up response. Also feel free to leave a comment addressed to the person who suggested the idea.

Once there's been a little bit of time for people to post ideas and add thumbs up, you can make a repo (or move an existing one) in the community and add everyone who thumbed up your idea as a collaborator.

If you're unsure, here's a format for ideas:

Working Title (if any): Idea: Help needed:

Widdershin commented 8 years ago

@cyclejs-community/contributors

Widdershin commented 8 years ago

Here's the idea I'd like to work on with some of y'all::

Cycle Challenges A set of challenges designed to help someone learn Cycle.js. It would also be cool to have dependencies for each challenge, so we could generate a diagram of the best way to go through the challenges.

Help needed: Lots of awesome people to help make and test challenges

staltz commented 8 years ago

I like this!

Here are some of my projects plus a few others I might not have time to do:

Cycle.js by example An alternative "documentation" where there are nothing else than small snippets of Cycle.js code. Imagine a large collection of GitHub gists.

I'm currently doing this, will publish it soon, but of course it would be super easy to include more examples through pull requests.


Chrome DevTool

This https://github.com/cyclejs/cyclejs/tree/master/devtool It's already out there, but we need to polish it more, and only when it's ready will it be possible to show people how cool and important it is.


Atom minimap

Almost the same as the DevTool, but just statically analyzes the code and builds a dataflow graph of it. I haven't heard of anyone doing this yet, so it would be greenfield.


CLI generator

Something like Ember CLI or React Create App, for Cycle.js. There's cyc, so maybe that can be a starting point. We could double its importance and maturity.


To React

A library that would take a Cycle.js app with DOM source/sink and convert that to a React component. For interoperability.

raquelxmoss commented 8 years ago

I've been pondering making components draggable and droppable, like React DnD. I'm not really sure how I'd go about this. I've been thinking about a draggable() function that wraps a component, e.g.

const chessKnight = draggable(Knight({props$}));

I haven't thought much about this yet -- I certainly need to think much more about the 'droppable' side of things. I think this would be a nice challenge, though, and I'm hoping to have a go at it soon.

artfuldev commented 8 years ago

@raquelxmoss If you want to implement a chess game, I'd love to help. The draggable(component) is a nice idea, but we probably need to have callbacks for dragstart and dragend or something similar...

geovanisouza92 commented 8 years ago

Without reading this, I've made the cli generator suggested by staltz. Lol.

My suggestion could address the "Cycle Challenges" and "Cycle.js by example", maybe.

Cycle Book

A tool similar to React Storybook, with examples and hot reloading. We could create and share "books" (like Jupyter's notebooks): a set of files and snippets that could be quickly run.

In the future, including the devtool, time travel debugging and onionify inspector, giving a full featured tool for learning, developing and debugging cycle apps.

Widdershin commented 8 years ago

That's a great idea, I would love to help with that. :smile:

artfuldev commented 8 years ago

Me too! (with whatever limited knowledge I possess)

jvanbruegge commented 8 years ago

@raquelxmoss Maybe a bit late, but: https://github.com/SuperManitu/cyclejs-sortable

brucou commented 7 years ago

Old thread I see, but still open, so I am referencing my project idea, to whomever might be interested.

The goal of the project is to allow to build complex cycle apps from small components, while avoiding as much as possible the pain points associated to that (which obviously revolve around stream manipulation/visualization/debugging). xstream addresses the visualization, and for what little I saw, that looks good. That project would then focus on the 'building big from small parts'. The strategy used is componentization, and the tactics are to traverse the built component tree by applying reducing function to build the larger component. It turns out well-chosen default reducing functions allow to alleviate the syntax, while separating the component's parametrization concern from its core behaviour also simplify design.

There are already a list of basic apps, the key component combinators are written, with their corresponding documentation. I am currently working on translating an application from Mastering Angular2 components with that approach. That app is complex enough (the book describes it as mid-sized) to show the advantages of the approach, and also allows comparing two code bases (cyclejs vs. angular2) implementing the same application. (with the added benefit that all the css and visual layout comes for free :-)