Closed AriaFallah closed 8 years ago
I absolutely encourage you, and everyone, to rebuild this using relay. I think you'll discover how big of a change relay requires and how complicated it makes the app. Like flux or jest, it's not bad software, but it's not the best tool for the job. I'm building my own, called cashay.
rebuild this
Rebuild the Kanban app or the repository itself? If it's the repository itself, what would need to be changed?
However much you want, meatier isn't a framework, everything is malleable.
This entire project seems pretty misleading then.
All you've done is bundled a lot of new technologies together into an example project with limited documentation, and it's being presented as a superior meteorjs. Not to mention that stuff like Redux/GraphQL aren't a good pairing regardless of how it's working out for you.
I don't mean to deprecate the project or your efforts. You've obviously put together something relatively substantial, but the image you've built for it is not representative of the truth.
For example the fact that you call it meatier, but it doesn't compete with meteor at all since you don't really provide any tools to automate the process or make it easier. That's not flexibility or malleable that's just called having to work from scratch.
This is basically a really extensive starter
or boilerplate
project, and I think you should advertise it as such.
@AriaFallah I think you are confused, so let me explain what a framework is because you seem to have a misconception on which you are basing your inaccurate statements. In computer systems, a framework is often a layered structure indicating what kind of programs can or should be built and how they would interrelate. Some computer system frameworks also include actual programs, specify programming interfaces, or offer programming tools for using the frameworks. These programming tools are often called generators and while many framework do have them, initially most of them do not. So yeah, meatier doesn't have generators, but meatier IS a framework by the very definition. So now that we got that part out of the way, next stop is Redux/GraphQL, again, it seems you are confused since Redux is a state container while GraphQL a query language so please, do tell me how both of them are not a good pairing since neither of them have anything to do with one another in a direct kind of way.
I thought this is something related.
@emreeren i can't speak for the whole community, but i like the simplicity of redux and the power of relay, but i reeeeeally dislike the size and complexity of the relay API. For joe hacker, sending a huge package down the wire in order to reduce a request by 100 bytes isn't fantastic. To their credit, relay came out long before redux & if I were a facebook engineer faced with the same problem, my solution would look very similar. It's a very, very difficult problem to solve, and when you look at handling both server-managed data and local data, you've got yourself a nice headache.
I've been traveling too much these past couple weeks to keep up with the meatier issues, let alone write something new, but I did sketch out how I think a redux graphQL client cache should work here: https://github.com/mattkrick/cashay/blob/master/src/Cashay.js#L14. I think it'll address the general vibe that i've been feeling in the community that is "GraphQL is awesome! Redux is awesome! Relay is so complicated I can't finish the tutorial!"
I don't think I'll be able to contribute on this comment properly yet but I keep studying meatier (and JS) to be able to more useful for community. I think people primarily prefer to depend on libraries released by Facebook by assuming that will play well with React. Also as documented on Relay's roadmap stuff like offline support, react native support, etc. will capture a lot of attention. So I feel like it won't be possible to just ignore that.
At the end of that gist there is a project referenced called Data Loader. Sorry if it is unrelated or discussed before but I thought you may find it interesting. https://github.com/facebook/dataloader#using-with-graphql.
As far as I know Relay is not only far more suitable, but literally created for the purpose of working with a GraphQL backend.
It seems like a huge mismatch. Redux is really nice, but I don't think it's the answer to everything.
Even Om, which in part inspired Redux, is changing its architecture in Om.next to accommodate backends made with technologies such as Falcor/GraphQL.