说到框架的使用体验,相信很多开发者都能写出一套属于自己的框架实践手册。很多人说“开源”是未来技术发展的方向。2013年,开源框架开始活跃在开发者的眼中。不同于Rails在Ruby语言中的霸主地位,JavaScript、Python、PHP等领域的框架存在“百家争鸣”的现象。小编今天就不讲JavaScript框架了,因为今年讲的太多了。另一种脚本语言PHP,虽然框架很多,但与Python框架相去甚远。那么,今天让我们来谈谈Python框架。如果你从众多的Python框架中挑选出最好最强大的框架。毫无疑问,一定是Django。GoogleAppEngine甚至Erlang都有受其影响的框架。要说Django吸引了众多开发者,最重要的是Django相对于其他框架拥有最完整的官方文档。当然,肯定还有其他原因,但唯独这一个因素,我敢保证没有人会反对。所以Django的成功很大一部分是因为这个。Django有很多优点,最著名的就是它的全自动化管理后台:你只需要使用ORM,做简单的对象定义,就可以自动生成数据库结构和功能齐全的管理后台。如此便捷的功能实现,也意味着Django内置的ORM与框架中的其他模块高度耦合。所有应用默认使用Django内置的ORM,否则无法享受框架内部提供的基于其ORM的一系列功能。Django有一个非常有趣的模板系统设计,但也是其框架中最具影响力和争议的部分。从Django模板设计理念来看,它把代码和样式分开了。但其设计理念不同于Asp.net所提倡的代码与模板分离。虽然Asp.net提倡这种模式,但在技术上还是可以混用的。另一方面,Django从根本上消除了在模板中编码和处理数据的可能性。举个简单的例子:<%inti;for(i==0;i<10;i++){....}%>类似上面的代码,Django根本不支持。函数的使用仅限于其模板的内置函数。也就是说,实际上是为其模板构建了一种“新语言”。然而,“新语言”简单易懂,其模板可以轻松移植到不同的平台。基于以上原因,是否容忍在模板中编程成为了Django模板中争论的最热点。在大多数情况下,Django模板将涵盖所有需求。如遇“特殊”情况,当代码不得不嵌入到模板中时,必须按照模板的规则进行扩展。只是有的时候,一个直接在模板里写一行代码就能解决的问题,用模板扩展实现后会变成十几行代码。从这个角度来看,一切都很麻烦。上面提到过,就Django的特点而言,Django更适合中小型网站的搭建,或者作为大型网站快速实现产品原型的工具。
