5W1h分析法分析---play框架

2021年9月17日 19点热度 0条评论 来源: HaleyLiu123

5W1h分析法分析---play框架

5W1H(WWWWWH)分析法也叫六何分析法,是一种思考方法,也可以说是一种创造技法。

一、play框架是什么(What)

        Play是一款开源、轻量、无状态、Web友好的架构,使用Java语言编写并遵循MVC模式,集成了当今Web开发所需的组件和API。此外Play可以给应用程序提供可预测的和最小的资源消耗(CPU,内存,线程),可构建高扩展的应用程序。

play官网:http://www.playframework.com/

中文社区网站:http://play-framework.herokuapp.com/

下载play框架的链接是:http://www.playframework.com/download

二. 在何种场合下用(where)

  1.  play 2.3.1版本以上需使用jdk6.0以上的版本

  2.  敏捷异步开发小型网站,必须符合play框架的规则约定

  3. play+mongodb 实现json to json的处理方式来处理业务

  4.  使用scala减少代码的重复和冗余

  5. netty(akka)+reactiveMongo+wsClient异步构建系统,轻负载响应快

  6. 用docker+nginx实现动态横向扩展

  7. 从开发到测试、发布都可以通过Jenkins及相关插件完成,完成的dev自动化提高团队效率

三.时间和程序(when)

       在快速搭建小型网站时使用。

四.哪些人适合用这个框架(who)

        这个框架适合做java后台开发的朋友学,快速开发原型,以及掌握scala语言和groove的朋友学。

五.为什么要用这个框架(why)

优势:

1. Play2的模板引擎

Play2的模板是很强大并且容易上手的. 相对于Java领域其他模板引擎(Freemarker, Velocity, JSP, Groovy, etc), 主要有三个特点.

使用 Groovy 作为视图层模板使用的表达式语言。模板之间的继承机制避免了重复的代码。

1) 简单易上手, 没有JSP里面繁杂的内置对象和指令, 所有功能都通过方法调用完成.

2) 主流IDE中都支持Play模板的静态类型检查, 类似JSP.

3) 支持反向路由,支持异步开发。

2. 热部署

2. 无需重启服务器

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

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

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

这个之前也说过,Play抛弃了Servlet/JSP里Session等概念, 内置没有提供方法将对象与服务器实例进行绑定(你要使用HashMap存的话Play也没办法)。 推荐的做法是使用外部缓存, 比如Redis, Memcached等。可能有人会觉得没有Session是Play的一个缺点(Play里的Session和Servlet Session不是一回事), 但是只要你开发过流量大一点的应用, 你就会理解这点。无状态,可拓展性好。比如它的session是以加密方式保存在cookie中的。

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对测试的支持非常好。

8. 优秀的REST支持

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

劣势:

1. 编译速度太慢

2. 反传统的Java框架,完全抛弃Servlet

3. play!社区比较沉稳,没有太多的市场宣传和功能承诺,目前还不太会吸引不太懂技术的人或者说要有hacker精神才会进行尝试。

4.由于约定和封装太多,不适合企业应用的灵活性和高扩展性需求。

5.对大型的网站来说,性能,安全性等方面可能不太适合

六.怎么用这个框架(how)

1.配置好jdk 1.6 版本以上这个就不多说了

2.下载play框架,配置路径:

下载play框架,然后配置环境变量到path;

输入play  help看到控制台如下:

3.创建新的play应用:

play new firstApp  ====》 firstApp===》2

然后查看目录,可以看到:



app/ 存放一些CODE的地方。比如类,领域模型什么的。

conf/ 很明显是存放配置文件的。

lib/ 系统中需要用到的JAR包。

public/ 应该是放一些资源文件的地方,比如HTML里的图啦,CSS啦,JS文件什么的。

test/ 测试类,把测试的东西都放这里。

注意:PLAY使用UTF-8字符集,所以我们所有的格式应该使用UTF-8。

4.  cd  helloworld, play run helloworld   运行play application,然后输入http://localhost:9000/跳转到指定页面就算成功了。

进入到工程目录下,运行程序:

浏览器中输入http://localhost:9000/出现如下页面,说明成功了

    原文作者:HaleyLiu123
    原文地址: https://blog.csdn.net/HaleyLiu123/article/details/78072597
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。