Hacker News new | ask | show | jobs
by nimchimpsky 3386 days ago
> Then learn node.

or don't bother, because its javascript.

2 comments

Is this supposed to be a reference to churn in Javascript-land? I think "JS fatigue" is a meme of yesteryear (and frankly, something I hear only from those without any experience with it at all, or with an investment in alternate platforms). Node.js with its rich tooling and integrations is the platform to beat for Web apps (but not necessarily content-driven sites) still in 2017.

You don't have to use babel, webpack, and co.; there are (and always have been) simple make-based workflows eg. https://github.com/tj/mmake for asset management.

Just out of curiosity, what do you suggest instead?
As a language for creating a web frontend, well there isn't anything really else. Coffeescript, typescript or something like GWT excepted.

But it will be a cold day in hell when I suggest using node for the backend.

I personally recommend Rails. Still the best, after all these years.
I've talked to several back-end engineers recently and none of them recommended Rails because of the 'magic.' They have recommended Node w/express (most popular) followed by Django and for me personally (small project) they recommended Laravel.
I don't want to get too deep into apologism here, but that's a common complaint by back-end guys who don't like the front-end. Rails is the solution for the solo developer or small team, the "magic" really helps in these scenarios.

If your project is big enough to require the skills of an experienced back-end guy, then you're so far past the learning stage that you might as well be in your rocking chair screaming at the neighbor kids.

Oh don't worry I'm not trying to defend the positions of those I talked to. I started learning Laravel for a small project I'm doing (I wrote some native iOS and Android apps and want to make a web interface for users to get their data). Do you recommend rails for that? I know close to no web (just basic html/css/javascript).
Rails works great for that.

Rails works great for every web task except the very big and the very small. Very small being anything you'd want to put on a Raspberry Pi.

The learning curve is reasonable, and can be made easier if you get the basics of both Ruby and MVC down by using a simpler Ruby framework like Sinatra to build out a few toy apps before jumping into Rails. Once you feel like you need more out of a framework than Sinatra can give, it's time to switch to Rails.

Ruby and the web go together like Captain and Coke.

Laravel is just fine for that job. If you do not have a strong reason to change, keep on learning. It has an excellent documentation, has a great ecosystem (email, search, background jobs) that you have to assemble yourself with lightweight tools such as Sinatra or Flask (Python). For a beginner the complexity of tools is overwhelming, Laravel makes smart decisions for you. Plus, Laracasts.com is by far the best learning resource I know for any language.
Have you tried anything other than Rails?
Sure, used a few other Ruby platforms, a Python one or two. What makes Rails work so well is Ruby. It's uniquely suited for building the kinds of abstractions you need to deal powerfully with the Web. The only thing it's really missing is a good UI library. I've been using Hyperloop, which puts together Opal and React, but it still needs a lot of time to mature.
Because I've tried Rails, as well as Python, node, C#, Java, PHP and Scala based stuff and I find it hard to say Rails is objectively the best.
I think you really have to get to know Rails before you can see its value.