之前我曾经写过一篇文章,讲框架和工具的区别。我一直是比较倾向于做工具,而不是做框架的。所以很长时间以来一直也没有怎么去关注框架。不过考虑到后面项目管理软件的可扩展性,有一个框架来还是必要的。是自己写一个,还是利用现有的成熟的框架。带着这个问题,我学习了国内外比较流行的几款框架。这其中我比较欣赏的是CI。
CI上手应该来讲是各种框架中比较简单了。其目录结构、代码、文件组织都比较清晰,更难得的是它的文档非常翔实。然后我还看了一下drupal的目录结构。虽然drupal谈不上一个纯粹的框架,但作为一个比较成熟的开发平台,drupal已经具备了很多框架的概念。
不过我最终的结论还是自己来写一个框架。主要的原因有几点:
1. 如果是单纯自己开发一个应用,使用现有的框架是比较省事的。但我给这款项目管理软件的定位是可扩展性。所以完全依赖于第三方的代码,会成为问题。
2. 第三方的代码大都过于复杂,学习成本比较高。这其中CI是一个特例,不过我还是有点不太喜欢它里面的很多风格。
3. 性能考虑。php的创始人曾经写过一篇关于框架的文章,他的建议是打造自己的框架,而不是完全使用别人的框架。其中一个非常重要的原因就是性能。
于是带着这些问题,经过两个多星期的代码编写,终于有了ZenTaoPHP这个简单的框架。
我给这个框架的定位如下:
简单:代码要足够简单。保证第三方的开发人员可以很容易的掌握框架的核心。
性能:性能要好。在保证功能的前提下,要尽可能的提升性能。
友好:友好只对开发人员而言,不能有太多的强制性的东西,尽可能柔性的来满足各种不同风格的开发习惯。
ZenTaoPHP框架采用LGPL授权,这是对商业用户比较友好的一个授权。
