Denied – the next generation python micro-web-framework

从雅奇离职之后,这几天一直在整理以前留下来的一些内容。人生面临方向选择。

偶尔发现了这个基于python的小型web框架。确实很好玩。小巧,一个文件,deny.py文件的大小约396k。虽然是编码基于iso-8859-15,但是程序构思很巧妙。在deny.py内置了压缩包,程序自动解压到临时文件夹。其中WSGI部分使用的是werkzeug,模板使用了jinja2,JSON使用了simplejson。网站只有一页,很简单。下面仅做简单翻译,有兴趣的同学可以进行深入研究。

1. A completely denied application(一个完整的Denied实例)
No installation or configuration required. No dependencies other than the Python standard library. Just get a copy of deny.py, place it into your project directory and start coding.
对于Denied应用来说,它既不需要安装也不需要配置。除了标准的python库也不信赖于其它的库。你所要做的仅仅是获得一份deny.py的拷贝,将其放到你的项目目录,然后就开始编码吧。
[code language=”bash”]
from deny import *

@route(‘/’)
def hello():
return ‘Hello World!’

if __name__ == ‘__main__’:
run()
[/code]

That’s it! Now run your application and go to http://localhost:5000/ and your application will greet you!
看到上面的代码了吧,这就是所有内容。现在就运行你的程序然后浏览http://localhost:5000/吧,你的程序就会欢迎你了。Hello, world!,第一个应用。

2. Watch the Screencast(观看屏幕录像)
Not sold yet? Watch the screencast to see how easy it is to write a scalable web 2.0 application with denied: watch in quicktime format
还没有Denied非常感兴趣?那就看看屏幕录像来了解一下用Denied编写一个可伸缩的web2.0应用是多么的容易吧:观看quicktime格式的录像。录像中声音应该来源于开发者,但他的口音带来一定理解方面的难度。

3. Download it Now(现在马上单击下载吧!)
Just download the deny.py file from here and drop it into your project directory. You can also fork the code from github.
下载就是这么简单,安装就是这么简单,那还犹豫什么?马上下载deny.py文件,并把它拖动到你的项目文件夹。对了,就是这么简单。你还可以从github中检出相关的代码。

4. Full of Features(全部特性)
Denied comes out of the box with superior awesomeness(Denied伴随着一些特别棒的特性问世,现在听我吹):
* A single Python file, no need for setuptools(由一个单独的python文件构成,不需要setuptools)
* Works out of the box on Python 2.5 and 2.6, support for 3.x is planned(可以运行于Python 2.5和2.6,并计划支持3.x)
* Brings its own development server(带有自己的开发服务器)
* Kick-ass performance. 6000 requests per second with running on top of tornado(超级棒的性能。在tornado上运行,可以达到每秒6000次請求。)
* builtin URL mapping, beautiful and RESTful URLs without the need to write a single regular expression(内置URL映射,无需编写正则表达式即可有漂亮、RESTful的URL)
* builtin intuitive django-inspired templating language but without the limits(内置直观的源自Django灵感的模板语言,但是没有什么限制,当然了,是使用jinja2)
* RESTful
* Impressive Scaling Capabilites(给人印象深刻的可伸缩能力)

5. What People Say(人们说什么)

Alex Gaynor (Django Developer)
“Denied is like nothing I’ve ever seen before, I think it’s the future of the internet” (Denied跟我以前遇到的东西都不大一样,我想它是internet的未来。)

Benjamin Peterson (Python Developer)
“I have never seen so much code in one .py file” (我从来没有看到过一个.py文件里包含如此多的代码。)

Armin Ronacher (Werkzeug Developer)
“Probably the most hideous code I have ever seen” (这可能是我遇到的最让人惊异的代码。)

Dick Taylor
“very nicely written and concise (not to mention it’s written by Eirik Lahavre, whose coding skills are very trustable), and doesn’t get in my way”(缩写良好、简明(无需提及,这些代码是由Eirik Lahavre所写,他的编码技术非常可信),跟我的编写风格不同)

6. Who is behind this Project?(项目背后的人)
Hailing from the beautiful Lyon, Eirik Lahavre brings you the latest hotness of web development. Having Created Denied for a local company developing real-time web collaboration applications, Eirik brings an extensive knowledge about Python, web development and scaling.
Hailing from the beautiful Lyon(来自美丽的Lyon的致意?), Eirik Lahvre带给你最热的web开发技术。Eirik Lahavre从美丽的Lyon为你带来最热门的Web开发技术(感謝@turlingbook)。为一家当地公司开发实时web交互应用而创建了Denied之后,Eirik带来了关于Python、web开发和扩展的更深刻的知识。

Get in contact with him now.
现在跟他联系吧。他的邮件标签可真长啊。

7. Where is the documentation?(文档在哪里?)
Documentation is upcoming, until then please refer to the screencast which should give you a good introduction how it works. You can also use the interactive Python help function that should give you a basic overview over the API.
文档即将到来,在此之前,你可以参考屏幕录像。它可以给你Denied如何工作的一个好的介绍。并且,你可以通过交互的Python帮助功能,来获得关于API的一个基本的内容。

以上是Denied网站的简要翻译,有些实在不知道如何翻译,如果翻译的不对,请回复指出。谢谢。

又,简单的看了下deny.py,这个文件由两部分构成,前面是stub,后面是base64文本化的zip,deny.py将之解压到临时文件并运行了它。所以我怀疑Armin Ronacher (Werkzeug Developer)未必说的是好听的话。真实的denied内容可以看临时目录里的_denysource.py文件。

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注