我做了几年的web开发,用过的框架/开发工具,包括asp.net,php,django ,ruby等,和最原始的开发方式比,一个web framework带来的开发效率提升是非常显著,我觉得一个web framework应该包含一下几个方面
- url策略,支持url rewrite的功能,至少能够把http请求的处理定位到某个函数,而不是某个代码文件,同时也不需要开发者部署的时候都依赖于apache等RewriteRule
- 模板子系统,把html和后台代码分开.ruby和jsp,包括asp.net都是可以直接在html模板里面写代码的,而django和smarty比较接近,在模板里面只能使用弱化的模板语言,各有利弊,我还是倾向于django的做法
- ORM子系统,这个的优点都不用详说了,虽然要付出性能上的代价,总体还是值得的
- 表单提交,后台validator的支持
- session处理机制
- 分页处理
- cache机制
4,5,6,7都是web开发中会重复遇到的问题。
开发经验越多,越来越觉得各个开发工具,或者framework其实都差不多, 一个web 开发框架,只要能够提供这7点的支持,基本上就可以用来干活了。
web应用简化了说,不就是往80端口 print 字符串吗。