Comparison tables

From Impredicative Wiki
(Difference between revisions)
Jump to: navigation, search
(how to update this page)
(Part 1 complete)

Revision as of 04:39, 18 December 2011

A comparison between Ur/Web and some other functional programming frameworks.

To update this page if you don't have an account on this wiki, email Robin Green. Or create an account.

Part 1

Framework Documentation Commercial support License Programming language(s) Server-side execution model Free of garbage collection overhead
Ur/Web Yes Yes BSD Ur/Web Native code Yes
OPA Outdated Yes AGPL or Commercial OPA Native code  ?
Play with Scala module Yes Yes Apache 2 Scala JVM No
Lift Incomplete / outdated Yes Apache 2
Yesod Yes No(?) BSD Haskell Native code No
Happstack Yes No(?) BSD

Part 2

Framework "Stateless" CSRF protection Javascript code generation FRP-like client-side code Type-safe SQL Type-safe metaprogramming MVC-based
Ur/Web Yes Yes Yes Yes Yes Yes Optional
Play with Scala module Yes No Yes
Lift Low-level only Pull-based


It is not really worth trying to measure "maturity" here, as none of the frameworks on this page have seen huge takeup thus far, and in any case it should be remembered that a "mature" web framework is not necessarily a modern or well-designed one.

There is also no point in comparing free support, since any web framework these days, unless it is a totally dead project, will have free support from the community.

The Programming language(s) heading refers to the programming language(s) (and, for the avoidance of doubt, template language(s)) that the developers using the framework are expected to program in (excluding Javascript, if applicable), not the programming language(s) that the framework is implemented in.

Stateless means that no state is no retained in the application server (as opposed to the database, or the web browser) between requests.

Personal tools