1 / 10
文档名称:

快速web开发中的前后端框架选型最佳实践.doc

格式:doc   大小:17KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

快速web开发中的前后端框架选型最佳实践.doc

上传人:学习好资料 2021/9/9 文件大小:17 KB

下载得到文件列表

快速web开发中的前后端框架选型最佳实践.doc

相关文档

文档介绍

文档介绍:快速web开发中的前后端框架选型最佳实践
这个最佳实践是我目前人在做的一个站点,主要功能:
oauth登录
发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”。支持自定义排版、插图、建立相册。
多个片段可以组织在一起,形成"事件"。
任意事件、片段都可以互相标记因果关系。
可以follow事件或者他人。
事件和片段模糊搜索。
我对目前前端框架的观点已在另一篇文章中讲过,这里只介绍一下目前实践的情况。
使用requirejs做模块化,。
使用avalon做数据与视图渲染框架。

用harp来做静态资源服务器。harp支持less、coffeescript等自动编译,当前端有css或js请求而相应的文件不存在时,它就会自动查找同名的less或coffeescript等文件并编译输出。
后端选型经历了两周左右,目标无非两个:开发便捷,适用于生产环境。
我对开发便捷的要求是。
可简可繁的路由配置,且非常容易生成REST接口。可弃用框架自带的视图层。
框架有一个良好的数据库层,可以是ORM也可以是AR。这个数据库层同时要支持开发者手动优化查询。
框架依赖少,容易安装和部署,社区支持强大。
对适用于生产环境的要求是:
框架本身轻巧,速度快。
支持大并发,有成熟集群部署方案。
能切换各种类型的数据库,有memcached等缓存中间件的接口。
在这期间,我试用了Django、drupal、discuz、codeigniter、expressjs、sails,以下记录选择过程中对前后端的考虑,希望对有类似需求的朋友有帮助。我的定论留在文章最后。

Django
比较惭愧,出于个人对python不如php和nodejs熟,放弃了Django。Django自带功能非常强大的ORM,有REST中间件。也有成熟的部署方案。并且有非常好的学****指南(搜"Django book"),推荐各位一定要自己用用。

drupal
要完整地描述和概括drupal有一点难。它既不是某一种具体业务逻辑的框架(把它说成CMS太狭隘),也不是纯粹的只有功能层面(如ORM、视图渲染)的框架。只能这样说:
首先,它包含了强大的功能层,如数据库层、视图层。其次,它通过“hook”机制以及一整套完善的附属功能,让开发者能非常自由地打造自己的业务逻辑。或者说使得它可以几乎可以包容任何业务逻辑。类似于AOP,类似于装饰类。
这里为不懂的读者再介绍一下它的核心“hook”。实现一个hook有两步:一、在业务流程中的某些点声明可以被hook。二、声明一个操作,和它要hook到哪个流程中的点。比如:一个用户注册模块声明,在获取用户的注册数据后,写到数据库之前,这一点可以被hook。一个加密模块声明,要对注册数据中的密码进行加密,并声明这个操作hook到刚才提到的用户模块声明的点上。这样在写到数据库前,密码就被加密了。
hook机制早已有之,drupal的精髓在于将其发展并运用到帮助开发者实现业务逻辑上。因为几乎任何人类的业务逻辑都是流程化的,并且很可能变化。hook满足了在不直接改变原有逻辑的情况下进行