Skip to content
Tomas Vana edited this page Aug 19, 2013 · 1 revision

Some basic comparison of potential candidates. Aimed to be unbiased and informative.

Note that a relevant part of a website is written in HTML, Javascript and CSS, none of which can be abstracted away without causing harm, so the point is to choose the back-end technology.

ASP.NET (MVC)

Microsoft's framework for developing websites and applications. Although in theory it could be run on Mono, that would most likely end up in compatibility issues, so IIS (and a Windows OS) is a prerequisite. While the predecessor (ASP.NET WebForms) was quite clunky and had some serious problems with models based on failed abstractions, since MVC was introduced the framework is more mature. Any .NET language is supported, C# and F# being the reasonable choices, both quite rich, expressive and pleasant to work with.

node.js

Javascript-based framework, still in "beta" version, but relatively widely used with a large community of developers and an abundant choice of modules and helpers. It claims to support scalability by following an asynchronous model of programming while being more or less single threaded. Possible problems include lack of more advanced web server capabilities (built-in server somewhat rudimentary). Being closer to the wire gives more control about the low level details, middleware like Express should provide all the basic building blocks. Any language translatable to Javascript is supported as well, e.g. TypeScript or CoffeeScript.

Lift

Based on Scala, functional programming language running on JVM. Has some unique ideas like the View-first approach and actors model of concurrency. Being a JVM-based framework, fully compatible with Java, it can use existing Java libraries.

PHP

???

Ruby on Rails

???

Clone this wiki locally