论文部分内容阅读
摘要:随着软件市场的快速增长,各种各样的框架被应用与软件项目的开发之中。在项目中使用的面向aPI的Web开发的Play2框架、开发的语言用的是Scala语言。
关键词:Phy2;Scala;Datatables;Ajax
引言:
由于项目特殊需求,本次开发,使用的是敏捷开发的模式,项目的迭代周期比较短,数据处理量较大,需要分布式处理。而Play2是基于高性能的apache mina开发,是一种属于全堆栈式的应用框架结构。该框架结构跟其他的Java框架结构相比,更简洁灵活。而Scala是基于Java的开发语言,却有一些不同于Java的特点,它可以和Java互相操作库,可以访问调用Java的类库,也可以被Java调用。综合各种需求考虑分析,最终采用Play2+Seala语言的开发模式。
1、Play2、Seab简介
Play是一种比较简洁框架,又不同于其他的企业级Java框架,它更加关注于开发者的效率和RESTful风格的架构。对于敏捷软件开发模式来说Play可以算得上是比较完美伴侣。
Play模块化的架构使可以把Web应用和其他很多的模块组合起来。应用模块(application modules),能够以一种非常简单的方式重用Java代码、模板、静态资源。
Scala是一种比较简洁灵活、函数式面向对象的语言,它吸收继承了多种语言中的优秀特性,但又没有抛弃Java平台,运行在Java虚拟机上,可以与Java的类库互相关联,既支持面向对象的编程方式,又支持函数式编程。
2、Play2的项目中的应用
2.1Play框架结构
Play引用遵循Web架构使用的MCV模型。Play将MVC的三层结构分别放在app目录下面不同的package中。
app/controllers:一个Controller就是一个Java类,它的静态公共方法则是动作。动作是接收HTTP请求后的Java处理入口点。Controller类实际上面向过程的。Action从HTTP请求中提取数据,读或更新Model对象然后返回一个包装成HTTP响应的结果。
app/models:Model是一组具有所有的OO特性的Java类。包含数据结构和应用可使用的操作。
app/views:应用的视图由Play的模板系统生成。Controller从Model获取数据,然后通过模板呈现。这个package包含HTML,XML等模板文件。
2.2Play框架的应用生命周期
Play是完全无状态的,并且仅面向请求-应答。所有请求遵循相同的路径:①框架收到一个HTTP响应请求->②Router匹配请求和Controller,Action,执行动作方法->⑨应用执行->④绘制模型,呈现视图->⑤HTTP响应返回
2.3应用程序布局
App目录:包含了所有可以执行的工件:Java原代码和视图模板。这个下面有三个标准的package,每个代表MVC的一层。
Public目录:主要用来存储静态的、由Web服务器直接处理的资源。分为三个子目录分别用来存放图片、CSS和js文件:images、styleSheets和javaScripts。
eonf目录:eonf目录包含在JavaClassPath中,主要放的是所有的应用配置文件,另外还有连个必须的文件为:①application,conf:应用主配置文件,包含所有标准的配置选项。②Routes:url路由规则定义文件。
项目中的实际程序布局图:主要用来存放应用依赖的标准的Java类库。此目录不需要手动配置,自动添加到Java elasspath中。
2.4play的优点和缺点
首先它的优点有以下几个方面:1、Play提供了多种条件,比如開发框架、运行环境等,无需在下载其他软件;2、动态编译修改源代码、刷新、Done时,不需要重新编译、发布和重启服务器;解决了SSH在开发过程红,频繁地刷新项目问题,提高了开发的效率;3、有快速的纠错能力。测试驱动开发错误发生的时候,play可以直接呈现出错误代码,并且能定位到错误源代码所在的行号;4、简单的无状态的MVC架构浏览器不保持服务器端的状态,更容易实现页面局部更新;5、习惯约定优于配置更少的配置文件、更少的代码、更高的开发效率;6、完全地直接地访问HTTP协议,绑定一个URI模式到Java调用只需要这样一行路由配置。
Play也有其自身的缺点主要有以下几个方面:1、Play框架在国内使用的比较少,属于非主流;2、反传统的Java框架,完全抛弃了Servlet:3、学习的资料比较少。
3、总结
本文只是比较浅显地介绍了一些Play框架的知识,很多方面还需要进一步地学习、挖掘,同时由于Play框架技术使用的范围相对来说比较小,很多技术中文文档还很少或者不够完善,很多技术资料需要参考英文的文献。
关键词:Phy2;Scala;Datatables;Ajax
引言:
由于项目特殊需求,本次开发,使用的是敏捷开发的模式,项目的迭代周期比较短,数据处理量较大,需要分布式处理。而Play2是基于高性能的apache mina开发,是一种属于全堆栈式的应用框架结构。该框架结构跟其他的Java框架结构相比,更简洁灵活。而Scala是基于Java的开发语言,却有一些不同于Java的特点,它可以和Java互相操作库,可以访问调用Java的类库,也可以被Java调用。综合各种需求考虑分析,最终采用Play2+Seala语言的开发模式。
1、Play2、Seab简介
Play是一种比较简洁框架,又不同于其他的企业级Java框架,它更加关注于开发者的效率和RESTful风格的架构。对于敏捷软件开发模式来说Play可以算得上是比较完美伴侣。
Play模块化的架构使可以把Web应用和其他很多的模块组合起来。应用模块(application modules),能够以一种非常简单的方式重用Java代码、模板、静态资源。
Scala是一种比较简洁灵活、函数式面向对象的语言,它吸收继承了多种语言中的优秀特性,但又没有抛弃Java平台,运行在Java虚拟机上,可以与Java的类库互相关联,既支持面向对象的编程方式,又支持函数式编程。
2、Play2的项目中的应用
2.1Play框架结构
Play引用遵循Web架构使用的MCV模型。Play将MVC的三层结构分别放在app目录下面不同的package中。
app/controllers:一个Controller就是一个Java类,它的静态公共方法则是动作。动作是接收HTTP请求后的Java处理入口点。Controller类实际上面向过程的。Action从HTTP请求中提取数据,读或更新Model对象然后返回一个包装成HTTP响应的结果。
app/models:Model是一组具有所有的OO特性的Java类。包含数据结构和应用可使用的操作。
app/views:应用的视图由Play的模板系统生成。Controller从Model获取数据,然后通过模板呈现。这个package包含HTML,XML等模板文件。
2.2Play框架的应用生命周期
Play是完全无状态的,并且仅面向请求-应答。所有请求遵循相同的路径:①框架收到一个HTTP响应请求->②Router匹配请求和Controller,Action,执行动作方法->⑨应用执行->④绘制模型,呈现视图->⑤HTTP响应返回
2.3应用程序布局
App目录:包含了所有可以执行的工件:Java原代码和视图模板。这个下面有三个标准的package,每个代表MVC的一层。
Public目录:主要用来存储静态的、由Web服务器直接处理的资源。分为三个子目录分别用来存放图片、CSS和js文件:images、styleSheets和javaScripts。
eonf目录:eonf目录包含在JavaClassPath中,主要放的是所有的应用配置文件,另外还有连个必须的文件为:①application,conf:应用主配置文件,包含所有标准的配置选项。②Routes:url路由规则定义文件。
项目中的实际程序布局图:主要用来存放应用依赖的标准的Java类库。此目录不需要手动配置,自动添加到Java elasspath中。
2.4play的优点和缺点
首先它的优点有以下几个方面:1、Play提供了多种条件,比如開发框架、运行环境等,无需在下载其他软件;2、动态编译修改源代码、刷新、Done时,不需要重新编译、发布和重启服务器;解决了SSH在开发过程红,频繁地刷新项目问题,提高了开发的效率;3、有快速的纠错能力。测试驱动开发错误发生的时候,play可以直接呈现出错误代码,并且能定位到错误源代码所在的行号;4、简单的无状态的MVC架构浏览器不保持服务器端的状态,更容易实现页面局部更新;5、习惯约定优于配置更少的配置文件、更少的代码、更高的开发效率;6、完全地直接地访问HTTP协议,绑定一个URI模式到Java调用只需要这样一行路由配置。
Play也有其自身的缺点主要有以下几个方面:1、Play框架在国内使用的比较少,属于非主流;2、反传统的Java框架,完全抛弃了Servlet:3、学习的资料比较少。
3、总结
本文只是比较浅显地介绍了一些Play框架的知识,很多方面还需要进一步地学习、挖掘,同时由于Play框架技术使用的范围相对来说比较小,很多技术中文文档还很少或者不够完善,很多技术资料需要参考英文的文献。