5 ms·
> formalizing conventions, eliminating valueless choices, and offering a full-stack framework that provides great defaults for anyone who wants to create a comp
by vinhboy 10y ago
> formalizing conventions, eliminating valueless choices, and offering a full-stack framework that provides great defaults for anyone who wants to create a complete application
Maybe I've drank the kool-aid too much, but I agree with this whole-heartedly.
It reminds me of when I want to paint a room. I can go to Home Depot and spend an hour picking out all the tools I need, or I can buy one of those pre-packed toolkit and get to the actual painting immediately.
Rails + Heroku = My product will be ready to demo by end of the week.
Obviously this mentality only applies to people like me who wants to get things done quickly. People who value craftsmanship and specificity should do what pleases them. (That's not to say you can't do quality work with pre-packed toolkits)
- astrodust 10y agoIn the last few months I've built a brand new Node + Express application, and I've built a brand new Rails 5.x one. ES6 has taken the edge off of some of the more obnoxious parts of JavaScript, but it still has a long way to go to catch up to Ruby, and Express is a cheap imitation of Rails. It takes me over a day to get an Express application up and running. There's dozens of dependencies to wrangle into place. There's hundreds of lines of code to sketch in even the most basic of applications. So many directories to create, so many new files you have to basically build by hand. There's Gulpfiles to configure. There's a lot of work to integrate Passport. It's a lot of work to get as far as "Hello, world". Meanwhile rails new and some Gemfile dependencies get you almost all the way there within an hour. Then you're making database migrations and laying in CSS and layouts. I love both Node and Ruby for different reasons, but the out-of-the-box experience for Express is total garbage. You can't even parse a cookie without installing a module for that. Node is way easier to create real-time services, like a Socket.io server in JavaScript is way less fuss than Ruby+EventMachine. It absolutely kills it when writing thin JSON APIs, and in terms of performance it's ridiculous. There's nothing preventing Node from having a Rails-like easy start for web applications but the attitude of the community where making decisions for people and having sane defaults is apparently against the rules.
- tcfunk 10y ago> It takes me over a day to get an Express application up and running. I feel so much better after seeing this sentiment here. I've tried to dip my toe into the node.js world repeatedly only to feel like I'm trudging through setup for hours. Of course I may have incorrect memories of how difficult/easy it was to set up my first rails app however long ago.
- astrodust 10y agoI should also add it "only" takes me a day because I can crib from a half dozen other Express projects I've created in the past and cherry-pick cut-and-paste parts that I like. As one example my web app Gulpfile has evolved significantly from the first iteration and it would take multiple days to recreate all of that from scratch. The Rails Asset Pipeline might be obnoxiously rigid, but at least it works without having to tear your hair out.
- wcarron 10y agoForgive me, but what apps do you work on that have such a complex and lengthy gulpfile?
- astrodust 10y agoNothing exotic but even a routine web application can have 150-250 lines of Gulp directives. Zero of this is provided for you. Each chunk is fairly small, but they add up. You want linting, auto-restart on changes, tests, your various asset chains to compile things correctly, etc.
- wcarron 10y agoOk, I see your point. I, too, hate writing boilerplate code. But I did three things to resolve this: I built a `config.js` file, which contains the paths to resource files in a more compact format, and is sourced into the gulpfile. I then replaced long path strings with easier to read code. I also threw my standard gulpfile into a git repo, so if I need it, it's there. Lastly, I built a yeoman generator. Now, not only is my gulpfile standardized, but I have the rest of my skeleton application built in a matter of minutes. All my favorite libraries/npm modules, custom scss files, basic routing to the standard pages of a simple site, are all built out for me to my preferences while I make a cup of coffee. You can even provide yourself command line flags to determine whether or not to include tests, which preprocessors for html or css you prefer, etc. Really a worthwhile investment. Write once, utilize many times.
- dgfgfdagasdfgfa 10y agoSure, it's just the people who have to work with the demo that will want to murder you. Lots of frameworks get you into tech debt quickly. This isn't good. What does it do to get you OUT of tech debt?