最近突然梳理一下自己经历使用过的web框架,初期使用的时候并没有特意的考虑为什么会用这个框架,不用另外一个框架,以前没有系统的总结原因,现在就和大家一起探讨一下。
首先,我认为考量一个web框架要从一下几点来评定
1、框架是什么公司或者谁写的,维护程度
这一点很重要,你懂得
2、开发工具和社区活跃程度
3、支持的数据库/NOSQL
4、支持的单元测试
5、支持的缓存
6、日志管理
7、开发语言
8、session管理(有无状态)
9、扩展性
10、性能
11、支持restful风格
然后通过play web框架来一个个解释一下
1、无状态,无状态是在客户端和数据库之间,服务器不需要保存状态。这样给服务器的扩展带来了非常好的自由度,可以同时并行输出过个页面,提高web性能
2、开发工具和社区活跃程度,play是一个遵照Apache 2 license协议开源项目,目前拥有许多开发者活跃在play项目上,并且拥有activator工具,方便你基于play的web开发
3、play支持scala和java的开发语言,支持各种主流的数据库和nosql数据库
4、play本身集成了play-test的单元测试框架,方便测试
5、play完全支持第三方的日志系统,如log4j,logback等
6、play扩展性非常好,可以支持akka、spark、kafka等框架
7、play使用了Netty相关的http 服务器,可以支持高并发,无阻塞,响应时间好
8、play天生的访问就是restful风格
9、play开发效率特别高,不仅表现在简介的约定优于配置,还利用热替换的技术达到一次部署多次修改不需要重新部署的效果
先写到这吧,以后有机会再做一下修改