Hacker News new | ask | show | jobs
by currywurst 3430 days ago
I admire the way DHH writes .. confident and persuasive.

However, I'd just like to point out that in the same span of time JavaEE has undergone significant simplification (omakase API standards, anyone ;)) and if you check out the work of Adam Bien, you'll quickly find old myths of bloated memory consumption and fiddly XML configuration debunked.

Java is also lucky to have a parallel full-featured stack in the Spring ecosystem. Projects like JHipster do an opinionated take on how to wire things up and take you to quickly to orbit.

So basically, I disagree with DHH that there is "Very little activity in integrated solutions."

4 comments

I took his comment about "very little activity in integrated solutions" to mean "[in the JavaScript world]" but maybe that's not what he meant.

I do think that's pretty true of the JS ecosystem though. There are things like Sails, but most of the "new" stuff that comes out is build systems, tools, small libraries, and view libraries.

As to why... it's anyone's guess.

My guess is that making a full-stack opinionated framework like Rails is a big undertaking, and most people are focused on what they see as "quick wins" -- solutions to the obvious surface-level pains like "npm is slow" and "making forms with React is hard" that can gain traction quickly and rise to stardom on Github.

Maybe this is cynical to mention, but fame and recognition (and maybe interesting job offers) seem to be a big driving force behind the constant influx of new and better JS libraries/tools.

> As to why... it's anyone's guess.

I think its because recreating rails in javascript just doesn't make sense in the current ecosystem. Either you are rewriting stuff like express from scratch (and why are you doing that?), or you're building on top of those modules and adding configuration conventions and scripts, in which case, congratulations, you've just written Sails.

When Rails first got started, ruby didn't have anything close to the ecosystem that JS enjoys today, so DHH et al. had to write most of the individual components themselves, with the intention of making them all work together.

So in my view, its similar to how Humans and Gorillas evolved from a common ancestor, but you won't see Gorillas becoming Human anytime soon.

I think you're right that Rails basically built up the Ruby ecosystem around itself, whereas most of the JS libraries are just riding the wave started by... Node and NPM, I guess? It's much more fragmented.

> ...or you're building on top of those modules and adding configuration conventions and scripts, in which case, congratulations, you've just written Sails.

This doesn't jive with a lot of what's been done in the JS community, at least frontend anyway. There are a TON of libraries that already had perfectly good implementations, where people just decided to reinvent the wheel because they "couldn't find any X library that did what they needed." (see: anything to do with forms)

Backend too, though. There's Express, Koa, Hapi, and more. They all basically do the same thing.

Maybe it's just a difference in mindsets -- maybe JS devs prefer light libraries they can cobble together vs. kitchen-sink frameworks? But then there's the counter-example of the popular frontend frameworks (Angular 1/2, Ember), so I'm not so sure that applies universally either.

Personally I think Sails is pretty cool in it's own right. As far as websockets go I feel like that is one area where Sails makes things dead simple and I've not been amazed by the overcomplicated Rails 5 implementation of websockets.

That said, I don't see Sails gaining a ton of traction even though it's been around for quite some time yet, and with it's security settings and beta status I don't feel great about building production apps with it yet.

I certainly like sails, and can't levy too much criticism against it (except its ORM left quite a bit to be desired, although I haven't looked at it recently). I'm only asserting that it will never be Rails, partially because of how and when each respective framework came to be.
The complexity level of JavaEE and Spring is still enormous, even if you don't need fiddly XML configuration.
I thought that was a strange claim, too (though if it was just about js, that would make more sense), especially given Elixir /Phoenix - which seems like an up-and-coming framework very much in the Rails mold.
Can you point to some specifics by Adam Bien? I'm very curious but don't know where to begin.
start with his youtube series on JavaEE dockerized microservices, and go from there