-
-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Framework in the works? #450
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I don't have such plans but feel free to build one!
This doesn't require a framework. Check out redux-devtools issues. |
I am working on something almost exactly like this (with the minor exception of browserify instead of webpack). When finished it will be called "moped" it will combine:
It will support seamlessly writing universal apps and have built in support for doing "Flux over the wire" style communication. I also plan to build a plugin for real time using primus and another plugin for doing declarative queries via an It should then be possible to do a nice job of the "5 minute twitter clone" or the "5 minute chat room" or the "5 minute collaborative task list". Although it's a little broken at the moment, and running on an out of date version of moped, you can see an example of what an app developed using this technology might look like at https://github.com/ForbesLindesay/chat-example/tree/master/app. |
I do think that having a "framework" that shows you how to glue together a bunch of libraries can be useful. One of the big problems right now is that you need to sorta figure out how to glue em all together just to get a more complicated app up and running. I know of at least one project that seems to be trying to tackle this: esex. |
Rather than a framework, I might suggest an open-sourced production Getting real applications out in the open that use these awesome
|
My thinking is that a "framework" should never be more than a couple of hundred lines of code, and it should be an explicit goal that a user could rip out that framework and change to doing things manually with only minimal effort. |
Thanks for the update @gaearon! And thanks @cesarandreu and @ForbesLindesay for sharing some existing work towards a framework. @danmartinez101 An advantage of a framework over an open-sourced application is that you don't have to figure out where to start. You have generators to implement all the boilerplate for you, as well as sane defaults. It's a lot easier to dive in, get something minimal working, then keep learning as you go. Since this issue doesn't require any further action or answers, I'll close this (which doesn't mean folks can't still contribute to the conversation). |
My personal preference for a "framework" here would be a starter kit/generator for each combination of React ecosystem libraries (using/not using Redux, React Router, RX, etc) that just gives enough boilerplate to glue stuff together without having too many opinions. Luckily there's already a bunch of these out in the wild 😄 I guess a single generator could let you make these decisions step-by-step, but I had a bad experience with previous Yeoman generators when trying out Angular stuff, so I'm kind of scarred from that, haha. |
Yeoman generator would be great actually as it is awesome entry point for newbies but I agree with @calesce on his concerns. I guess it is harder to maintain generator that some seed project. Because of that generators start to make some outdated stuff. And for the same reason if a generator behaves slightly different that you expect it is very hard to customize it. |
Yeoman has its benefits, but fur redux, how much effort would it really
|
There also a lot of plugins and related packages that yeoman can handle, there could be react-router or not, lots of usage cases.. |
I think the big benefit would be being able to get up to speed faster. For instance, with angular, everything is there for you, and the documentation explains everything you need to know. With react, redux, babel, webpack, etc. there is a lot of up front time involved in getting everything configured and choosing best practices. Although I must say a lot of these individual projects have great documentation, especially redux! Boilerplates are useful, but not nearly as much as if everything was packaged into a framework of some sort. It's tricky because everyone has different use cases and different library and best practice preferences. If there were one framework that had sane defaults for libraries and best practices you could swap out if needed, that could be really great. There might be room for one that does universal rendering, and one that is client side only for folks who are migrating from a legacy / non node app as well. The biggest productivity boost for getting started would be comprehensive documentation of using the sane defaults for libraries and best practices. Then there could be a standard way to integrate all these great libraries. Would anyone else find something like this useful or interesting? |
I think the benefits you're describing--quick startup, sane defaults,
etc.--are well covered by using projects like react-redux-starter-kit.
`reduxframework init` is less verbose than `git clone
https://github.com/davezuko/react-redux-starter-kit.git project && cd
project && rm -rf .git && git init` but I'm not sure a framework project
would provide enough benefit to justify the additional abstractions. Redux
is so simple I don't think that generators are even going to add a benefit.
What are examples of things which the starter packs are not sufficient for?
|
React-redux-starter-kit looks pretty sweet. But compare it's documentation to angular's. I guess the biggest hurdle is comprehensive documentation of how all the pieces fit together, and best practices for the most common use cases. |
Are there any plans to build a framework that ties redux, react, react-hot-loader, and webpack together? That in and of itself would be rather simple, but then the (also relatively simple) inclusion of generators would save thousands of collective hours and also help these tools gain popularity (Rails, for example, became quite famous for the "5-minute blog").
I also see the potential for built-in debugging tools (maybe via a plugin system), for truly Bret Victor-esque development, even beyond what @gaearon has demoed so far. Is this already in the works or should it be developed independently?
The text was updated successfully, but these errors were encountered: