Live data from Hacker News

Node.js - Convincing the boss guide

nodeguide.com

51–60 of 85 posts

Re: Node.js - Convincing the boss guide

#51

Go seems to me to provide the benefits of Node's non-blocking IO with a much easier programming model and a much less warty language. But I haven't actually built anything real in either language yet. Anyone with experience in both care to contrast them? Their problem domains seem to overlap quite a bit.

We did some bake-offs with node and Go (and other languages of course). Go won pretty much across the board, except in the time to write category.

The other big downside to Node is hiring. You have two types of "JavaScript" developers. People good with JQuery, and people who have written JavaScript books. There is extremely little middle ground from which to hire good to awesome developers.

Go is the C replacement. Node.js is going to be a Ruby replacement one day.

Re: Node.js - Convincing the boss guide

#52
post #51

Go seems to me to provide the benefits of Node's non-blocking IO with a much easier programming model and a much less warty language. But I haven't actually built anything real in either language yet. Anyone with experience in both care to contrast them? Their problem domains seem to overlap quite a bit.

We did some bake-offs with node and Go (and other languages of course). Go won pretty much across the board, except in the time to write category. The other big downside to Node is hiring. You have two types of "JavaScript" developers. People good with JQuery, and people who have written JavaScript books. There is extremely little middle ground from which to hire good to awesome developers. Go is the C replacement. N…

Interesting. My own limited experience with Go suggests that it requires more time to write but less time to test and debug and tune so it might b a wash overall. Where did you find you were spending most of your time?

Re: Node.js - Convincing the boss guide

#53
post #46
post #12

Here's something oft-understated: As a web developer, you sit on the intersection of engineering, design and art. You're lucky enough to live at a time where there are numerous production-ready tools with which to do your job. If you choose a tool that you're excited to explore, with an active and fast-moving ecosystem, your excitement and enthusiasm will make you happier and more likely to do a better job. Someone d…

ASP.NET core it not terribly well-designed, but it has has peripheral things like Razor, design-by-contract, PEX, Moles and there are tons of other interesting technologies from MS research. A lot of those things are genuinely new in some way, and allow you to do something that was completely impossible before. I can't muster any enthusiasm over Node, because it's really more-of-the-same-but-better. With an attitude…

All the great new features of ASP.NET and C# aren't exactly new, but Microsoft have created a genuinely fun platform that a lot of people are starting to use outside of the famed "stuffy, corporate environments".

We use it at a digital agency and it's been fantastic. I'm a big fan of what both Python and ASP.NET are doing at the moment, and although I have tried Ruby and Node.js I really couldn't see myself wanting to use them for a real project.

Re: Node.js - Convincing the boss guide

#54
post #15
post #9

So far I don't see any benefit in node.js over mature enterprise frameworks.

The whole point of node.js and it's ecosystem is to avoid anything that looks like an 'enterprise framework', rather it's a collection of lots of little modules that each do one thing and one thing well and that can build on top of each other (turtles all the way down).

That sounds like a lot of fun to maintain and keep version control on, especially when they're written by different people with different motivations.

Re: Node.js - Convincing the boss guide

#55
post #43
post #33

Earlier quoted context omitted.

Prove it: What is node equivalent of: "rails g resource User email:string password:string"? AFAIK there is none. At least not one that would take care of migrations, validation, security, logic and views. And if I want to use postgres? Sure, there's a npm package. But it's for queries, I still need to define models and validation manually. ....

http://railwayjs.com/ http://towerjs.org/

Now show me a couple of sites/applications that have at least 100k users and rely solely (ok, mostly) on node.js

Re: Node.js - Convincing the boss guide

#56
post #47
post #33

Earlier quoted context omitted.

Prove it: What is node equivalent of: "rails g resource User email:string password:string"? AFAIK there is none. At least not one that would take care of migrations, validation, security, logic and views. And if I want to use postgres? Sure, there's a npm package. But it's for queries, I still need to define models and validation manually. ....

as spyder posted there are npms providing this functionality. there are 8,000 packages for all your needs. But the point is another: the npm world is much more modular than the Rails mononblock, there is much less magic involved. You setup your own stack which is simpler than setting up Rails, rvm, gems. Rails isn't bad—it's great but getting off track or looking behind the magic can get a tedious task ...

Yeah but let's compare two relatively popular solutions for authentication in each frameworks: Rails has devise, Node.js has passportjs. They both support numerous 'strategies' (local, facebook twitter, openid...). They also both support the login/logout functionality. They are both ok documented too (there's always room for improvement there).

As far as passportjs goes, that's pretty much it.

On the other hand, devise handles A-Z when it comes to auth: it sets up models, routes, views, validation, different built in plugins like remember me, different encryption types, retry limits on failed logins,...

Googling for tutorials also reveals the true situation. There are like 2-3 good tutorials on passportjs. On the other hand there's hundreds of articles/posts on how to use devise, how to implement it, how to use it with omniauth...

I could make a comparison like this for almost every gem/module and I bet 95% of times, rails gems will win over npm modules in terms od popularity, completeness, community support and in-the-wild usage.

I'm not trying to bash node.js here. It's a wonderful tool and I use it. almost on a daily basis. But only where it makes sense to me.

Oh and about the 'magic'. You have two options:

1: start with bare language and proceed to magic as you learn

2: start with magic and dig into nitty gritty as you learn :)

Which of the two produces results faster? To me it's 2.

Re: Node.js - Convincing the boss guide

#57

Why is non-blocking IO radical? Tons of libraries and frameworks offered it much before node, including twisted, Java's NIO, and the entire System.Net namespace in .NET. Other than that, surprisingly sensible advice.

Not only is node non-blocking but all of its libraries are, unlike Python, Java, and .NET. I wouldn't call that radical per se, but distinguishing yes.

It was radical when Erlang did it. Nowadays it is still moderately distinguishing, but that distinction is definitely fading rapidly.

Re: Node.js - Convincing the boss guide

#58
post #2

Somone is proposing Node.js for a project and I was wondering if the advantages/disadvantages in this article are still current. This is for a web application with lots of CRUD, but will also require a custom JSON API.

There are tons of existing fast, mature existing options that do great CRUD, JSON APIs (they might call it "REST"), and even have some integration between the two. There's no compelling reason to go with something like Node if that's your use case. That's not so much because Node is intrinsically bad at such things as that the things that it was relatively good at were not that, so the focus hasn't been on that use case. Displacing the existing incumbents in that space would be an incredibly tall order.

Re: Node.js - Convincing the boss guide

#59
post #53
post #46

Earlier quoted context omitted.

ASP.NET core it not terribly well-designed, but it has has peripheral things like Razor, design-by-contract, PEX, Moles and there are tons of other interesting technologies from MS research. A lot of those things are genuinely new in some way, and allow you to do something that was completely impossible before. I can't muster any enthusiasm over Node, because it's really more-of-the-same-but-better. With an attitude…

All the great new features of ASP.NET and C# aren't exactly new, but Microsoft have created a genuinely fun platform that a lot of people are starting to use outside of the famed "stuffy, corporate environments". We use it at a digital agency and it's been fantastic. I'm a big fan of what both Python and ASP.NET are doing at the moment, and although I have tried Ruby and Node.js I really couldn't see myself wanting t…

To the best of my knowledge, stuff like PEX is new outside of academic environments. Moreover, it's highly non-trivial. Here is a collection of other interesting projects from their research department:

http://rise4fun.com/

Post reply on HN