一个web框架的诞生——写程序最重要的是开心

来源:互联网 发布:时光在飞逝生命知多少 编辑:程序博客网 时间:2024/05/18 06:23

最近写完了自己的个人项目—— 一个轻量级的 python web框架Light,简单写写总结和心得体会。
完成这个项目的过程中学到的东西大体可以分为两个部分,一个是具有通用性的知识,一个是编写过程中的具体的细节和理解。
通用部分可以分为:1.http协议的理解 2.面向对象的设计思想 3.web框架的理解 4.对一个项目的管理和组织
具体部分就是:1.Python的面向对象的特性 2.Python 的wsgi 3. Python的文件处理,字符串处理,路径目录相关操作
总体来说,通用部分最值得认真理解体会,因为这部分知识具有普适性,永远不会过时,当然具体的知识也是很有价值,两部分都需要重视。
写一个web框架的最重要的意义在于让你带入web框架的视角,来理解web工作的整个流程,而不是简单的完成业务代码,虽然我们要说九成九的人都是每天只是简单完成业务代码, 而写写技术代码的意义就在于磨刀,不是说劈柴不重要,但是磨刀是为了更好的劈柴。
回到写web框架整个话题,如果你想要完成一个自己的web框架必须要区分理解清楚概念,web框架,网络框架,服务器之间的区别。
然后针对具体的语言来学习相应的规范和接口,比如Python的wsgi,Java的jsp/servle,web框架通常都需要对这个底层接口进行封装,这就需要你对底层接口有良好的理解。
之后就是来思考你想要做到什么样的程度,简单说就是web框架也是有很多差别,有些近似于底层库,有些是轻型框架,给私人订制和扩展留下了余地,有些是全栈式的框架,每个细节都给你提供解决方法。你自己想做的程度不同,做法和就有很大的差别。
然后就到了具体的编写,这部分会涉及到很多具体的问题,比如session用什么样的方案来实现,用不用别人写好的orm,模板引擎。
可能会需要查到很多资料,可能会自己怀疑有没有意义,但是最后完成还是很有成就感。
然后就会明白,写程序最重要的就是开心。。
以上。
Light地址:https://github.com/yangzhezjgs/Light
代码很烂,没有注释,没有文档,然而暂时并不想改