4 ms·
Node is like walking into a Home Depot when you want a house. Technically you can build one out of the bits they can provide, but it's a ton of work. The thing
by astrodust 10y ago
Node is like walking into a Home Depot when you want a house. Technically you can build one out of the bits they can provide, but it's a ton of work.
The thing is Node could offer the Rails out-of-the-box experience through a package that provided sane defaults. There's nothing preventing people from doing this but cultural resistance.
- throwanem 10y agoIf you want to build a house, go to Home Depot. If you want to buy one and move in, go to a real estate agent. Standing in the middle of Home Depot complaining about how no one there seems to want to talk about about plats or points doesn't seem like a very worthwhile use of time. There are a large number of projects offering a Rails-style OOTB experience in Node. None of them is blessed as the Node framework. This is because there is no one to do the blessing. Node's developer culture being one you find unsatisfactory is not an example of "resistance". It is an example of difference. And if you do not find the Node style to provide you comfort, there is absolutely no requirement anywhere that you partake of it.
- astrodust 10y ago> There are a great number of projects offering a Rails-style OOTB experience in Node. Which would these be? Even the best tend to fall far short of the full Rails experience. > And if you do not find the Node style to provide you comfort, there is absolutely no requirement anywhere that you partake of it. Translation: "If you don't like it, fuck off." That's not how the Node community has treated me as long as I've been a part of it. The people I've interacted with are often very welcoming, encouraging and responsible. I'm talking about cultural conventions, not individual attitudes. The difference is that the Node world is used to things taking time to put together. The Rails world finds this to be unbelievably fussy. Python people from the Django realm are in the middle. To promote a new way of doing things, like Rails did, is an effort way beyond my singular capability. It will require a lot of like-minded individuals to go "You know, maybe we could make something that wraps around Express and gives you a Rails-like experience for those that want it." and then work towards making that happen.
- throwanem 10y ago> Translation: "If you don't like it, fuck off." If you like, but that's not what I'm saying. What I'm saying is instead that you're not going to find value in Node the same way you do in Rails, and complaining that Node is not Rails will not change that in the slightest. Neither will approaching Node as though the first thing to do is make sure your project tree contains every piece of functionality your app might ever conceivably need. Gulp, for example, is extremely powerful, but also has an enormous complexity cost. NPM is a task runner, too, and shell scripts can be fine for a surprisingly long while. I'm not sure what led you to think you need Gulp to get to "Hello, World". But part of using Node effectively is understanding that you are, in the end, responsible for the choices of tooling you make. If Gulp seems like more work than necessary to solve a simple problem, it probably is! Think about using something simpler instead. No one will force a choice on you, either in favor of Gulp or against it. The other side of that is that no one will make a choice for you, either. That's on you. If you'd rather it not be, this may not be the toolset for you. Although, again, there are a lot of seeds and starters. I don't use them myself much, because I already have a battle-hardened stack that's simpler than most of them anyway, but I hear very good things of Sails. I wouldn't expect it to replicate Rails in full, but what I've heard suggests it will get you closer than most. Even here, though, you have to choose; there are no BDFLs and no One Right Way. I'm not here to suggest a One Right Way, either. I do think the Node style is better in a few ways, not least of which is that, in exchange for paying a higher setup cost up front, you become less likely to run into teething troubles later on, especially in the realms of scaling and keeping the codebase up to date where I've observed Rails very frequently to have major problems. On the other hand, it can be considerably easier to start with Rails, especially if you're unfamiliar with it, and not strongly or at all supported by people who are - precisely because it relieves its user of the responsibility of making choices that user may not yet be prepared or equipped to make. But all of that is an opinion that I'm having, and opinions certainly do differ. That doesn't gravel me. What does gravel me is seeing someone complain at considerable length about one style because it isn't exactly the same as another. That seems unlikely to produce any especially worthwhile result, either for the one who does it or for his interlocutors.
- tracker1 10y ago
- wyaeld 10y agoPeople do this, Node isn't a framework. Walmart labs has contributed some great out-of-the-box, with hapi.js and now http://www.electrode.io/ http://www.electrode.io/
- astrodust 10y agoI'm not saying Node is or should be a framework, but that Node itself lacks frameworks that do what Rails does. Those are good examples of steering in the right direction, but it's still a long way off.
- abiox 10y agonode has sails (http://sailsjs.com/ http://sailsjs.com/) which i believe is rails-inspired. haven't used it though.
- tracker1 10y agoThere are a lot of configurators that give you a house... yoeman, create-react-app etc. The difference comes down to what kind of house you want. Your best bet is to search for Foo boilerplate, where foo is what you want to work with, and start from one of many thousands of starting points. I think the resistance is generators take time and persistent upkeep, while a boilerplate can exist as it is and upgraded intermittently. In the end, I'd rather work with a lego bulk pack, than the prescriptive kits.
- Can_Not 10y agoAdonis might be Rails-enough for you. https://adonisjs.com/ https://adonisjs.com/