6 ms·
Ask HN: Fastest Web Framework? Rails, Django, Node.js, ASP.NET, PHP on HHVM
I have to create a SaaS. What backend should I choose?
Which one's the fastest in terms of processor performance? Something which will let me scale with minimum hardware.
I have to stick with the one that I choose as this is something which can't be changed later; like Facebook got stuck with PHP.
- raybeorn 12y agoshouldn't you pick the one that you are the strongest at?
- zuck9 12y agoI'm going to hire a developer experienced in the backend, not create myself.
- faet 12y agoIf you're hiring local look into what is popular in the area. Where I am it's C# or Java. Anything else and you'll have a hard time finding talent.
- itsathrowaway 12y agoThis is good advice. All the frameworks are good.
- JoshMilo 12y agothis might help, it provides benchmarks for most of the popular frameworks: http://www.techempower.com/blog/2014/05/01/framework-benchmarks-round-9/ http://www.techempower.com/blog/2014/05/01/framework-benchma... If you're going to hire someone to do it, asking them what their preference is might be better than saying, "We're going to use x."
- itsathrowaway 12y ago>If you're going to hire someone to do it, asking them what their preference is might be better than saying, "We're going to use x." YES! This. I wouldn't worry so much about which framework is the "best". They are all good. I would say it is more important to find a programer(s) that you "click" with.
- davismwfl 12y agoThey all have plus/minus. It is hard to say without knowledge of your app. You say in terms of CPU, but all have different characteristics. We use node extensively, great overall for quick to market and i/o type operations but requires some decent design choices to make it perform and easily maintainable. PHP is good and you see tons of very scalable sites using it. It has issues, and done poorly (like anything) it can be a real bitch to deal with. ASP.NET is the last one I would ever use at this point (although I spent years writing large systems in it). Mostly because of cost to deploy and scaling it can be a royal pain in the ass on top of expensive. Not that it can't be done, and done big and good. Just expensive to me compared to the other options. Rails, I don't do anything with today. Not a bad platform from my understanding, quick to market, but generally not thought of for high performance applications. But again, design probably is the biggest factor here. Frankly if I needed all out CPU performance for say an image filter or something along those lines, I'd write that functionality in C/C++ and connect it to any one of those frameworks. At which point I'd pick the web framework that got me to market the fastest. If you have someone else building it, make sure they pick the one they are best in, or seek them out for being the best at what they do. Don't go to an ASP.NET shop and ask them to do it in Rails because you think that is the right framework. They might be able to do it, but unless the framework is a core competency it will never be as good as it should be.
- hkarthik 12y agoThis is like asking "I need to commute to work, what car should I drive?." There are many factors at play with creating and running a SaaS-based business, and often technology plays a minor role. Even less important is how fast your chosen backend runs. By the time you run into a technical scaling problem where you are stuck with a less-than-optimal solution, you've already solved much, much harder problems like finding customers, scaling a team, raising money, etc. So decide how big your org will get, look at the skill sets of developers available in your local area, and partner with someone that has experience with both. Then let them make the decision on the tech and trust them. Then you can focus your energy and attention on what's really important for your new business.
- squiguy7 12y agoThe new kid on the block is Go. It has a lot of the features that frameworks claim baked into the language. The only caveat I can think of is how new the environment is. Google [1] and Dropbox [2] have started using it successfully. And we all know the scale at which they operate. Another thing to consider is this will provide a back end and allow you to use any type of front end that you wish. [1]: https://talks.golang.org/2012/splash.article https://talks.golang.org/2012/splash.article [2]: https://tech.dropbox.com/2014/07/open-sourcing-our-go-libraries/ https://tech.dropbox.com/2014/07/open-sourcing-our-go-librar...
- sergiotapia 12y agoGo is nowhere near as fast as Rails to get something off the ground and running. Go is great and my other workhorse language, but don't lie to OP.
- sejje 12y agoFrom OP: "Which one's the fastest in terms of processor performance? Something which will let me scale with minimum hardware." Getting off the ground and running quickly was not a requirement.
- AbhishekBiswal 12y agoSince you mentioned Django, why not try out Flask? http://www.jeffknupp.com/blog/2014/01/18/python-and-flask-are-ridiculously-powerful/ http://www.jeffknupp.com/blog/2014/01/18/python-and-flask-ar...
- collyw 12y agoA lot of your performance problems are more likely to be database related, assuming you use one. Add in caching and things can improve. It will depend a lot on what you are doing.
- sauere 12y agoFirst of all: Rails is a framework Django is a framework Node.JS is a platform/framework ASP.NET is not a framework, but a language PHP is not a framework but a language, HHVM is a platform That being said: you did not specify what exactly you are planing to do. For most scenarios, the choice of the environment doesn't really matter. What DOES matter is that you find someone that is proficient, has experience and knows the pros/cons in whatever framework he is using. If you really need minimal memory and CPU footprint, i'd suggest you choose Go.
- eurleif 12y ago>ASP.NET is not a framework, but a language C# and VB.NET are languages. ASP.NET is a framework.
- sergiotapia 12y agoASP.NET is a framework. You have to write C# or VB.Net to use this framework.