网站框架可以算的上是现在网站快速开发的好工具了,全面的封装基本上形成了一个黑箱,开发者不需要知道很多真正的编程知识,只需要知道框架怎么填充就可以了。黑箱的出现,隔绝了开发者和语言基本结构之间的关系。从开发者需要定义整个流程变成了定义功能模块。虽然网站开发速度提升,难度降低,但是这样对于网站的自由灵活开发和核心技术的建立,没有什么好处,而且即便是建立了一些较为核心的技术,其依旧是附着在框架上的。
框架的缺点就是很多事情都是被框住的,即使是一个很简单的问题,也需要遵循框架的原则,这是制式的选择但不是效率的选择。
我觉得效率的选择是使用一部分框架,即封装复杂功能,例如数据库,简单功能灵活制作。这样做的原因是,复杂功能一般都是网站最核心的功能,变动一般很少,一般也不用进行很多的修改,封装以后有利于统一的修正和优化。但是变动较多的功能就不再适合封装了,重用率低的代码封装没有意义。很多的创新性代码都是在实际开发中创造出来的,没有了框架的束缚,网站上的代码可以变得非常灵活,更加的有效率。
我目前所探索的一种建站的框架,是使用Doctrine(数据库ORM构件)、Smarty(模板引擎)、Mootools(Javascript框架)来组成的一个开放式框架,这种框架与真正的框架相比,缺少了URL路由功能,但是减少了网站框架中的黑箱的同时避免了美工与程序的混合,最大程度的还自由度给开发人员,更加的适合复杂项目的开发,而其所缺少的URL路由功能,则几乎完全可以由URL静态化来实现,这同样是个很成熟的技术。这种自由组建的框架中每个构件都是可以更换的,其更换标准就是兼容性和稳定性,一般在一个项目中定好的构件系列就应该只在这个系列中进行稳定版的升级,而不应该更换系列。
然而针对团队协作所需的制式问题,完全可以由项目的开发规则手册确定,并不需要框架来规范。项目的代码规则,只是一个编程习惯的统一问题。
这种由散装构件组成的开发框架的选择,还原了原汁原味的编程,使整个的流程明朗化,每个开发人员都能了解自己的上游和下游,这样可以保证少出现数据对接的问题,而且还保证了数据底层统一优化的可能性。