Live data from Hacker News

Ask HN: Django, Rails or Node.js for a SaaS web application?

news.ycombinator.com

21–28 of 28 posts

Re: Ask HN: Django, Rails or Node.js for a SaaS web application?

#21

This question is asked a lot. Basically choose the language first then worry about the framework. There is no magic bullet so use the programming language which you can code the best, faster, easiest in. Framework is second. Django, Rails, all do the same thing. 90% of the time you are going to be fighting fires, so develop in the language you like. * You are a java developer why not use a java framework?

I would suggest the opposite. Learning a new language will do you good. I use Django, because the documentation was really good for my level of experience (I had tried couple of Perl frameworks before, but never got my head around them - Django was explained a lot better). Now I know Python - its not hard to learn, and once you know some idioms its way more expressive than Java. Scala might be a good option. Then you use the same ecosystem, but learn a more expressive language.

Re: Ask HN: Django, Rails or Node.js for a SaaS web application?

#23
post #4

Basecamp and Harvest were both written in Rails. For standing up simple SaaS, Rails is a great choice. However, for a complex SaaS (any SaaS can get here really), you will need to make some sane choices around modularity and building separate, loosely coupled services before things get out of hand. Node.js (or any of its lightweight frameworks on top) is probably a little stronger than Rails in this regard. This serv…

> However, for a complex SaaS (any SaaS can get here really), you will need to make some sane choices around modularity and building separate, loosely coupled services before things get out of hand. Node.js (or any of its lightweight frameworks on top) is probably a little stronger than Rails in this regard. Huh? This is a load of crap. Frameworks, and even languages, have nothing to do with modularity and building s…

> Frameworks, and even languages, have nothing to do with modularity and building services.

I respectfully disagree with this statement. Many frameworks actively encourage a monolithic architecture through conventions, all to increase productivity during the initial construction phase of a project. If you're sprinting to launch a project, modularity and loose coupling matter a lot less than sheer productivity to churn out as many features as quickly as possible. Rails was designed with this mindset and it excels in it more than any other framework out there.

Refactoring to modularity and loose coupling down the road after choosing something like Rails is non-trivial, especially when compared to the rapid pace the development team enjoys in the early stages of using the framework. So one needs to be aware of that before diving in.

Other lightweight tools like Node.js front load the cost of modularity by forcing you to design on your own conventions early on. If you know the product is likely going to get complex very quickly, it maybe worth taking on the front-loaded cost of these tools.

Re: Ask HN: Django, Rails or Node.js for a SaaS web application?

#24
post #4

Basecamp and Harvest were both written in Rails. For standing up simple SaaS, Rails is a great choice. However, for a complex SaaS (any SaaS can get here really), you will need to make some sane choices around modularity and building separate, loosely coupled services before things get out of hand. Node.js (or any of its lightweight frameworks on top) is probably a little stronger than Rails in this regard. This serv…

... you can just architecture it to be SOA or with tons of microservices.

I think Node.js is hype right now and you'll be betting on a technology that may or may not have a good market share.

RoR is better and have tons of documentations and blogs.

Node.js right now just got forked. Javascript isn't a particular pretty language compare to Python or Ruby. Loosely type and dynamic makes it kinda bad.

I have yet to see any body mastered Javascript as a language and Javascript 6 or ECMA or whatever is coming out. So there is even more stuff to learn. The dev pools for javascript for backend is sparse and their language mastery, from my experiences, for javascript is very low. With that in mind hey you didn't learn prototype OOP yet but guess what we're going to add more to the language and hope that those dev catch up to all of the changes?

yeah... That's a con to be at least. And also Ruby while they're changing with every version it's small iteration, most of the stuff is mostly in place.

Javascript is missing a few construct to build large code base, namely module which they will have a standard soon, and going to add promise construct cause node.js callback hell is bleh. So the language wasn't multi purpose in mind so it's playing catchup.

You can argue that you can do anything with a turing complete language. Sure you can, but how easy it is should be a factor.

Erlang got primitives for spawning process and such. It makes it damn easy.

Javascript got little construct for building large code base. THere are tons of libraries to fix this but still.

I think Node.js ss better as a middleware technology and even then Go would be a better choice with better toolings.

Re: Ask HN: Django, Rails or Node.js for a SaaS web application?

#25
post #21

This question is asked a lot. Basically choose the language first then worry about the framework. There is no magic bullet so use the programming language which you can code the best, faster, easiest in. Framework is second. Django, Rails, all do the same thing. 90% of the time you are going to be fighting fires, so develop in the language you like. * You are a java developer why not use a java framework?

I would suggest the opposite. Learning a new language will do you good. I use Django, because the documentation was really good for my level of experience (I had tried couple of Perl frameworks before, but never got my head around them - Django was explained a lot better). Now I know Python - its not hard to learn, and once you know some idioms its way more expressive than Java. Scala might be a good option. Then you…

Yes learning is good but if her/him is looking to build something fast and get the job done learning a new language whilst doing this is not really very feasible.

There is the time for development and the time for learning.

Re: Ask HN: Django, Rails or Node.js for a SaaS web application?

#26
post #21

Earlier quoted context omitted.

I would suggest the opposite. Learning a new language will do you good. I use Django, because the documentation was really good for my level of experience (I had tried couple of Perl frameworks before, but never got my head around them - Django was explained a lot better). Now I know Python - its not hard to learn, and once you know some idioms its way more expressive than Java. Scala might be a good option. Then you…

Yes learning is good but if her/him is looking to build something fast and get the job done learning a new language whilst doing this is not really very feasible. There is the time for development and the time for learning.

I personally found that moving from Perl to Python, I gained a lot, despite taking on a new language. Django was way better documented (for relative newcomers to web programming) than the Perl options I tried, and the Admin application got me up and running with something usable pretty quickly.

Re: Ask HN: Django, Rails or Node.js for a SaaS web application?

#27
I'd suggest mastering Java before moving on to another language. Every language has issue and none of them are 10x better than the others. Mastery will help you more than learning three languages to a novice level.

If you choose to do Java, I am a big fan of Google App Engine because it forces you to write scalable code from the beginning.

Post reply on HN