Play for Java
Part 1
介绍与第一步
在第一部分,我们介绍一下Play以及展示创建一个Play应用的步骤。
第一章介绍Play的核心概念,重要的特征。我们将安装Play并创建我们的第一个应用程序。
第二章会分析一下Play应用程序的结构,解释每一个文件以及文件夹的用途。
第三章将展示如何创建一个内容更充实的应用程序,同时也会让你体会一下Play应用中的MVC组件。
Play介绍
这一章的内容有:
1.Play框架是什么
2.高产的web框架是什么
3.为什么Play同时支持Java和Scala
4.交互式编程
5.Play2的企业特点
Play并不真的是一个Java web开发框架.Play中涉及Java,但Java并不是全部。
第一个版本的Play可能用Java语言写,但它也忽略了Java平台的一些传统习惯,提供了过度的企业架构。Play不是基于J2EE APIs
Play框架面向web开发者。
Play框架是web开发者编写的,它让web开发变的高效就像其他的像Ruby on Rails等。Play面向追求效率的web开发者.
Play2使用Scala编写,但是这并不意味着非得用到Scala在你编写web应用,或者需要了解Scala。这是因为在Play2中也提供了Java API,因此你可以选择用Java。如果你之前使用过Play 1.x,
你会发现Play2中的API更加类型友好。
Play也不仅是Scala和类型安全,PLay中一个很重要的方面是它的易用性以及它对如何产生更好的开发者体验的关注,随着你对Play的了解的深入,你会发现Play is fun!
1.1 Play是什么
Play是有趣的,Play会让你的开发更高效。Play也是一个http接口非常简洁,方便,灵活,能力很大的web框架。
更重要的是,Play在非Java web开发语言、框架如PHP、Ruby on Rails也有提高,这是因为Play利用了JVM的优势。
1.1.1主要的特点
很多的特点和质量使得Play很高效,使用起来也很有趣。
1.操作简便
2.声明了URL模式配置
3.从HTTP到相应的Scala或Java API的映射是类型安全的
4.支持HTML5
5.代码的修改在web浏览器中会即时的表现出。(只需刷新页面即可)
6.全栈的web框架特点,包括持久化,安全和国际化。
7.支持事件驱动,有弹性,可扩展的应用。
我们以后会回过头来讨论为什么Play让你更高效,但在这之前我们先了解一下为什么Play是一个全栈的web框架。
那么什么是full-stack 框架呢?答案是全栈框架提供给你了建造一个典型web应用所需的一切东西。
成为full-stack并不仅仅是是否提供了所有功能,因为可能一些开源库已经包含了所有这些功能。那么一个框架与一个也可以提供建造web
应用所有功能的开源库之间的区别到底是什么?答案是一个全栈的框架在提供所有功能的同时也提供了文档化的模式来知道你如何使用彼此分开的库,这样开发者就可以很好的使用框架的各部分来创建自己的应用。
当提到建立一个web应用,这意味着我们想找到一些简便的方法来完成任务,这样可以节省时间。
1.1.2 Java and Scala
Play支持Java,事实上这也是构建一个Java web 应用的最好的方法。Java作为一门编程语言的成功,尤其是在企业级软件的开发上,这意味着Play 1.x已经可以快速构造一个用户很多的社区。
如果你打算在使用Play框架时使用Java语言,那么你可以从这个已有的社区中得到很多好处。
但是最近几年出现了很多可以代替Java的JVM语言,而且他们更类型安全,同时代码也更简洁,支持函数语言风格
Scala就是这样的一门语言,这也是Play支持的第二种语言,Scala目的是成为一个可扩展的元语言,就像这个名字所体现的那样。Play2也充分利用了Scala提供的可扩展性,这意味着你的Java application
也可以从中获得好处。
可扩展性是Play主要的特点之一,它允许你很容易的创建一个高可扩展的web应用。可扩展意味着很多不同的事情,同时在此书中你也可以看到很多例子展示Play如何让你在水平与垂直上扩展你的web应用。
这主要还是归功于Play的无状态特征,当然还有Scala的事。同时开发者可以让自己的应用成为事件驱动的同时不会牺牲可扩展性。现在的应用差不多都需要对事件作出反应,同时返回结果。而不是要留在在晚上
一个一个的处理。这些都是Play的内在特质。我们将在后面的交互编程章节中更多的讨论这个问题。
1.1.3 Play不是Java EE
在Play之前,Java web 框架都是基于Java Servlet API构建的,Java Servlet API属于J2EE的一部分,他提供了HTTP接口。Java EE以及它的架构模式看上去是一个好的主意,许多的结构很适合企业级软件的开发,但实际上的结果是这不是一个好的主意,因为这些结构带来了额外的复杂和低的开发者满意度。
Play就不同,因为很多原因,我们将在以后的章节中介绍。Java EE与Play的最大区别是易用度。Play旨在为开发者提供使用的简易型,这样开发者就可以更多的关注于他们的业务问题而不是框架本身。然而,Java EE使用起来就挺复杂的。
Java的设计与进化都只关注在Java平台上,这对那些想把多种多样的软件开发合并到一起的开发者来说是一个好的idea。从Java角度看,web只是一个外部系统。Servlet API提供了web开发相关的抽象层。不幸的是,这也被证明是一个bad idea。因为web比Java重要多了。当web框架开始真正地与web
交互时,框架失败了。我们需要的是那些本身的架构可以包含web,并且它的API可以包含HTTP。
Part 1
介绍与第一步
在第一部分,我们介绍一下Play以及展示创建一个Play应用的步骤。
第一章介绍Play的核心概念,重要的特征。我们将安装Play并创建我们的第一个应用程序。
第二章会分析一下Play应用程序的结构,解释每一个文件以及文件夹的用途。
第三章将展示如何创建一个内容更充实的应用程序,同时也会让你体会一下Play应用中的MVC组件。
Play介绍
这一章的内容有:
1.Play框架是什么
2.高产的web框架是什么
3.为什么Play同时支持Java和Scala
4.交互式编程
5.Play2的企业特点
Play并不真的是一个Java web开发框架.Play中涉及Java,但Java并不是全部。
第一个版本的Play可能用Java语言写,但它也忽略了Java平台的一些传统习惯,提供了过度的企业架构。Play不是基于J2EE APIs
Play框架面向web开发者。
Play框架是web开发者编写的,它让web开发变的高效就像其他的像Ruby on Rails等。Play面向追求效率的web开发者.
Play2使用Scala编写,但是这并不意味着非得用到Scala在你编写web应用,或者需要了解Scala。这是因为在Play2中也提供了Java API,因此你可以选择用Java。如果你之前使用过Play 1.x,
你会发现Play2中的API更加类型友好。
Play也不仅是Scala和类型安全,PLay中一个很重要的方面是它的易用性以及它对如何产生更好的开发者体验的关注,随着你对Play的了解的深入,你会发现Play is fun!
1.1 Play是什么
Play是有趣的,Play会让你的开发更高效。Play也是一个http接口非常简洁,方便,灵活,能力很大的web框架。
更重要的是,Play在非Java web开发语言、框架如PHP、Ruby on Rails也有提高,这是因为Play利用了JVM的优势。
1.1.1主要的特点
很多的特点和质量使得Play很高效,使用起来也很有趣。
1.操作简便
2.声明了URL模式配置
3.从HTTP到相应的Scala或Java API的映射是类型安全的
4.支持HTML5
5.代码的修改在web浏览器中会即时的表现出。(只需刷新页面即可)
6.全栈的web框架特点,包括持久化,安全和国际化。
7.支持事件驱动,有弹性,可扩展的应用。
我们以后会回过头来讨论为什么Play让你更高效,但在这之前我们先了解一下为什么Play是一个全栈的web框架。
那么什么是full-stack 框架呢?答案是全栈框架提供给你了建造一个典型web应用所需的一切东西。
成为full-stack并不仅仅是是否提供了所有功能,因为可能一些开源库已经包含了所有这些功能。那么一个框架与一个也可以提供建造web
应用所有功能的开源库之间的区别到底是什么?答案是一个全栈的框架在提供所有功能的同时也提供了文档化的模式来知道你如何使用彼此分开的库,这样开发者就可以很好的使用框架的各部分来创建自己的应用。
当提到建立一个web应用,这意味着我们想找到一些简便的方法来完成任务,这样可以节省时间。
1.1.2 Java and Scala
Play支持Java,事实上这也是构建一个Java web 应用的最好的方法。Java作为一门编程语言的成功,尤其是在企业级软件的开发上,这意味着Play 1.x已经可以快速构造一个用户很多的社区。
如果你打算在使用Play框架时使用Java语言,那么你可以从这个已有的社区中得到很多好处。
但是最近几年出现了很多可以代替Java的JVM语言,而且他们更类型安全,同时代码也更简洁,支持函数语言风格
Scala就是这样的一门语言,这也是Play支持的第二种语言,Scala目的是成为一个可扩展的元语言,就像这个名字所体现的那样。Play2也充分利用了Scala提供的可扩展性,这意味着你的Java application
也可以从中获得好处。
可扩展性是Play主要的特点之一,它允许你很容易的创建一个高可扩展的web应用。可扩展意味着很多不同的事情,同时在此书中你也可以看到很多例子展示Play如何让你在水平与垂直上扩展你的web应用。
这主要还是归功于Play的无状态特征,当然还有Scala的事。同时开发者可以让自己的应用成为事件驱动的同时不会牺牲可扩展性。现在的应用差不多都需要对事件作出反应,同时返回结果。而不是要留在在晚上
一个一个的处理。这些都是Play的内在特质。我们将在后面的交互编程章节中更多的讨论这个问题。
1.1.3 Play不是Java EE
在Play之前,Java web 框架都是基于Java Servlet API构建的,Java Servlet API属于J2EE的一部分,他提供了HTTP接口。Java EE以及它的架构模式看上去是一个好的主意,许多的结构很适合企业级软件的开发,但实际上的结果是这不是一个好的主意,因为这些结构带来了额外的复杂和低的开发者满意度。
Play就不同,因为很多原因,我们将在以后的章节中介绍。Java EE与Play的最大区别是易用度。Play旨在为开发者提供使用的简易型,这样开发者就可以更多的关注于他们的业务问题而不是框架本身。然而,Java EE使用起来就挺复杂的。
Java的设计与进化都只关注在Java平台上,这对那些想把多种多样的软件开发合并到一起的开发者来说是一个好的idea。从Java角度看,web只是一个外部系统。Servlet API提供了web开发相关的抽象层。不幸的是,这也被证明是一个bad idea。因为web比Java重要多了。当web框架开始真正地与web
交互时,框架失败了。我们需要的是那些本身的架构可以包含web,并且它的API可以包含HTTP。