之前想搞个微信公众号,官方拿web.py框架举的例子,然后我入坑了,我被它的简约所吸引了,如果说Django是轻量级框架,那web.py简直就是超轻量级框架,比起Django,它省去了很多繁琐的东西,自然也有一些web领域的东西尚未实现,毕竟网上有人说早期版本连数据库都不支持。对于初学者入门web开发是再合适不过了,更能专注于web基础概念的理解与掌握(比如GET和POST请求)。
我爱的是它的简约,恨的是开源团队的不负责任。是的,web.py开源在github上:https://github.com/webpy/webpy,对于官网https://webpy.org/ 也有一个专门的仓库https://github.com/webpy/webpy.github.com 可是事到如今,官方cookbook仍处于0.3版本,而0.3x版本都是只兼容python2的。。。最新的0.61版本在很多方面与教程格格不入。
当我在学子应用共享主应用的session时,cookbook上讲的不起作用,网上资料实在有限,都是过时的版本。一气之下,我到github上直接提问题How to share session in the child application?,贡献者之一的Christian Clauss很热心,道理倒是讲得一套套的,最后给我解决办法的竟然还是0.3版本的,跟cookbook上一样,我晕了,现在也不回我了。麻蛋,就当锻炼了一下英语。
所幸我入坑才一个星期,收获也是有的,我也才知道web.py的创始人很多年前意外去世了,剩余的人哪还有最初的热血,一切的一切顿时豁然开朗,怪不得贡献者恨不得一年提交一次,有点得过且过。据说Google后来在web. py项目的基础上开创了web2py,我还没用过,不知道怎样。
总的来说,优点就是简约,各种api拿来即用,像Django在管理数据库时,还要设计模型,管理迁移文件,以及各种设置,稍不注意就会出错,对于初学者简直就是踩地雷。反观web. py只需要用web. database()就可以连接数据库了,接着便可用返回的对象db进行数据操作。缺点还是教程更新不即时,我想的是你没精力更新换代,那就用心更新文档不行吗?
可能web. py只能适用于小型项目,毕竟我只是初次接触,还需要深入挖掘其不足。
编程语言框架的目的在于尽可能简化,也许web.py简化的代价是功能的缩减和性能的降低。还是希望目前的团队能认真将这个框架好好发展下去,如果未来不尽人意,那就让我来维护web.py!(豪气干云)