目前聚派网测试版运营2个月多了,1.0版本改版在即。基于测试版的经验以及后续团队的扩张,我认为在未来半年到一年的时间内版本会快速叠代,但大体框架,技术选型,开发规范都不会改变。故趁现在我需要对上面的三个问题进行选择和思考。
- 框架选择:后端选择thinkphp框架,前端使用jquery,移动端使用zepto。
- 对前端优化,前后分离的思考
- 前端优化目前最大的三个需求,也是最基本的三个需求:页面静态文件合并,页面按需加载,版本号变更(用于缓存,灰度发布)。grunt是使用其丰富的插件完成上述的需求,但问题在于需要手工配置,我希望达到的效果是能能按页面引入的文件进行合并,加入版本号。而grunt的插件是需要在配置文件中手动指定合并文件。
- 腾讯的modjs同上
- 百度的fis研究了很久,开始使用的感觉太复杂,太繁琐,它首先是针对百度的业余流程,后面读到大神fouber博客(感谢徐飞大神的指导),才发现了另一片天地。
- 目前网页的开发大多数都是动态网页,或者说是后端语言生成静态文件。这就导致页面是在服务器端渲染,并且为了便于文件公用,后端也会有自己的渲染引擎,fis并不能识别它。
- 上面的问题就涉及到前后分离及渲染的问题。我自己的理解是真正的分离应该是前端后端中间有一个ui层,单纯的用后端渲染,达不到分离目的,单纯前端渲染,性能损耗太严重。据我不完全的认知,度娘是把php及前端统称大前端,更底层的用c写服务。
- fis有另外一个针对纯php的资源管理框架,通过fis生成的map.json文件进行管理。我把它和thinkphp自带的模板引擎融合,从而达到了最开始说的三个需求。thinkphp会在第一次运营是讲模板文件编译后缓存起来。故我在它编译时进行资源收集,缓存时进行资源合并等工作。
- 使用fis以后,可以继续进行组件话改造等等,这个后续再谈。