Web Programming: web2py
Crazy italians. A point-and-click web development environment.
Abstract
While surfing the web (yeah, I know ...) I sumbled over web2py, a all integrated no-frills dead simple web application environment. Read on.
What's that Shit?
In a nutshell:
- download zip file
- start executable
- choose a password
- watch the browser to launch automatically
- watch a nice controller app (start, stop, activity log) coming up
- watch your eyes pop out as you click around and noticing everything is live and local.
Features, more detailled:
- WSGI
- SQL ORM included
- Web Based Development Done Right: Edit .py files TTW, OR edit them on the FS OR both
- Documentation included
- dead simple templating, but ugly as hell :p
- FAST (see below)
- NO RELOADING during development
- no configuration needed at all
Does it perform?
I dunno, but:
seletz@yeti:~ $ab -n 1000 http://127.0.0.1:8080/foo/default/foo
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests
Server Software: CherryPy/3.1.0beta3
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /foo/default/foo
Document Length: 7677 bytes
Concurrency Level: 1
Time taken for tests: 11.389952 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 8007042 bytes
HTML transferred: 7677000 bytes
Requests per second: 87.80 [#/sec] (mean)
Time per request: 11.390 [ms] (mean)
Time per request: 11.390 [ms] (mean, across all concurrent requests)
Transfer rate: 686.48 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.7 0 15
Processing: 9 10 8.6 10 262
Waiting: 0 9 8.8 10 262
Total: 9 11 8.6 10 262
Percentage of the requests served within a certain time (ms)
50% 10
66% 10
75% 10
80% 11
90% 12
95% 13
98% 19
99% 25
100% 262 (longest request)
Are we to ditch Zope, then?
I dunno :)
... probably not:
- apparently no user management, workflow etc.
- to ZCA. Dammit.
Does it slice bread?
No, dammit. Go, do some work, stop reading silly posts :p

Previous:
Plone: Forms finally made easy: z3c.forms integration to Plone using plone.z3cform
