play框架之简介

Play Framework是一个开源的Web框架,背后商业公司是Typesafe。要介绍Play以前,首先理清Play的两个不一样的分支。 Play 1.x 使用Java开发,最新版本是1.3.1,只支持Java项目。从11年开始就进入了维护阶段,新项目通常不考虑使用Play1。 Play 2.x 使用Scala和Java开发,同时支持Java和Scala项目。 这里主要介绍最新的Play2.4 for Java。有一点须要提早说明,虽然Play2主要由Scala开发,可是对于项目中的通常开发人员而言, 使用Play能够彻底不懂Scala,具体状况后面会说明。java

1、Play的特性

1. Play2的模板引擎

Play2的模板是很强大而且容易上手的. 相对于Java领域其余模板引擎(Freemarker, Velocity, JSP, Groovy, etc), 主要有三个特色.
1) 简单易上手, 没有JSP里面繁杂的内置对象和指令, 全部功能都经过方法调用完成.
2) 主流IDE中都支持Play模板的静态类型检查, 相似JSP.
3) 支持反向路由.git

2. 热部署

这个上面介绍过,不用重启服务器。github

3. 内置dev/prod环境,内置部署脚本

日常开发的时候使用run启动Play,是跑在dev模式。 Play会定时扫描源码目录进行热更新,而且类都是访问的时候再加载,提升启动速度。 使用start启动项目就运行在prod模式。Play内置dist命令,能够把全部的文件打包成一个zip,解压以后直接运行bin目录下的可执行文件便可启动项目,除了JDK以外无须任何其余外部依赖。 这大大减轻了运维成本,同时也可以很方便的进行持续集成(CI)。redis

4. 使用Play开发的Server大部分能作到Stateless

这个以前也说过,Play抛弃了Servlet/JSP里Session等概念, 内置没有提供方法将对象与服务器实例进行绑定(你要使用HashMap存的话Play也没办法)。 推荐的作法是使用外部缓存, 好比Redis, Memcached等。可能有人会以为没有Session是Play的一个缺点(Play里的Session和Servlet Session不是一回事), 可是只要你开发过流量大一点的应用, 你就会理解这点。缓存

5. 好用的配置库

若是你以前开发过Java项目, 确定写过**.properties或者管理过一大堆的xml。Java内置库对properties文件的处理是很弱的,你不得不本身写一些工具类去进行处理, 并且properties文件还不支持更复杂的语法。Play使用Typesafe Config库,配置文件使用HOCON格式,默认配置文件为application.conf。 你能很容易读取里面的配置, 而且你也能够把本身的配置写在里面。因此项目中基本不须要使用properties或者xml文件了,除了第三方库须要的。服务器

6. Play插件

RoR框架之因此好用,主要缘由之一就是围绕RoR有至关丰富的插件可供选择,不少业务功能甚至都不须要开发就能实现。Play的插件数量固然相对于RoR仍是要少一些, 不过你遇到的需求基本都有现成的插件可使用。好比发邮件, 受权和验证, sitemap生成,第三方登陆等等。本身写一个插件也很简单。架构

7. 优秀的测试支持

由于Play诞生的时候TDD已经很火热,因此Play对测试的支持很是好。 app

8. 优秀的REST支持

Play2从诞生起就能很容易的支持RESTful风格的架构框架

转载自:http://blog.csdn.net/u011225629/article/details/47971093less

相关文章
相关标签/搜索