Skip to content

Instantly share code, notes, and snippets.

@5HT
Last active January 26, 2021 07:19
Show Gist options
  • Star 27 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save 5HT/5522302 to your computer and use it in GitHub Desktop.
Save 5HT/5522302 to your computer and use it in GitHub Desktop.
Overview of Web Frameworks (2013)

Server-care HTML5

Micro, REST bindings and Simple Templating

Framework Link Star Fork Templating
Python: Flask, https://github.com/mitsuhiko/flask 6887 1422 jinja
Ruby: Sinatra, https://github.com/sinatra/sinatra 5097 792
PHP: Silex, https://github.com/fabpot/Silex 1729 367
Erlang: BeepBeep https://github.com/davebryson/beepbeep 142 16 DTL
Erlang: FarWest https://github.com/extend/farwest 106 8 DTL
Scala: Scalatra https://github.com/scalatra/scalatra 1108 132 SSP

DSL rather than Templating

Framework Link Star Fork Templating
Scala: Lift https://github.com/lift/framework 690 161 class-based
Erlang: Nitrogen https://github.com/nitrogen/nitrogen 630 103 Very simple
Haskell: Blaze https://github.com/jaspervdj/blaze-html 74 18 Very simple
Erlang: N2O https://github.com/5HT/n2o 253 45 Very simple
OCaml: Ocsigen https://github.com/besport/eliom 0 0

Keep-Concurrency-in-Mind Frameworks*

Framework Link Star Fork Templating
Java/Scala: Play 2 Templating
Ruby: Celluloid https://github.com/celluloid/celluloid 1804 129
PHP: phpDaemon https://github.com/kakserpom/phpdaemon 657 95 Very simple
PHP: React https://github.com/reactphp/react 1339 124
  • -- only for non-Erlang frameworks

Data-on-wire Client-care HTML5

JavaScript High-Level Frameworks

Framework Link Star Fork
JS/Node: Meteor https://github.com/meteor/meteor 9330 1225
angular.js https://github.com/angular/angular.js 12514 2920
ember.js https://github.com/emberjs/ember.js 7667 1532
Chaplin https://github.com/chaplinjs/chaplin 2261 209

JavaScript event-driven base-frameworks

Framework Link Star Fork
backbone.js
knockout.js

Composable Server-care Frameworks

Clojure -- composable way

Framework Link Star Fork
Templating https://github.com/Raynes/laser 100 12
Templating https://github.com/cgrand/enlive 671 82
Routing https://github.com/weavejester/compojure 1622 122
HTML DSL https://github.com/weavejester/hiccup 606 70
ClojureScript DSL https://github.com/clojure/clojurescript 2168 203
Web Server https://github.com/http-kit/http-kit 531 49
Web Server https://github.com/ztellman/aleph 861 63

N2O -- replaceable components

Framework Part
Templating N2O Templates**
Routing N2O Routing Handler
HTML DSL N2O Elements

** -- possible would be Scala Lift or Clojure Laser architecture

Full-Stack

Framework Link Star Fork
Ruby on Rails https://github.com/rails/rails 19273 6310
Python django https://github.com/django/django 7032 2493
PHP Zend https://github.com/zendframework/zf2 4187 2222
PHP Yii https://github.com/yiisoft/yii 2923 1219
Erlang ChicagoBoss https://github.com/evanmiller/ChicagoBoss 734 155
Erlang Yaws https://github.com/klacke/yaws 511 120

Generation Script: http://synrc.com/lj/congregation.html

Follow me on Github: https://github.com/5HT

@proger
Copy link

proger commented May 6, 2013

For Clojure — consider adding

@5HT
Copy link
Author

5HT commented May 6, 2013

Is noir really supported?
Which noir should I include?

https://github.com/noir-clojure/noir
https://github.com/noir-clojure/lib-noir

@proger
Copy link

proger commented May 6, 2013

Only the latter is maintained as a set of batteries for ring + compojure which pretty much replicate the functionality of python's Flask

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment