<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>play! &#8211; 天地一沙鸥</title>
	<atom:link href="https://haoluobo.com/tag/play/feed/" rel="self" type="application/rss+xml" />
	<link>https://haoluobo.com</link>
	<description>to be continue....</description>
	<lastBuildDate>Tue, 08 Dec 2009 15:43:20 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>java的类ROR框架Play!</title>
		<link>https://haoluobo.com/2009/12/java%e7%9a%84%e7%b1%bbror%e6%a1%86%e6%9e%b6play/</link>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Tue, 08 Dec 2009 15:43:20 +0000</pubDate>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[play!]]></category>
		<guid isPermaLink="false">/index.php/2009/12/java%e7%9a%84%e7%b1%bbror%e6%a1%86%e6%9e%b6play/</guid>

					<description><![CDATA[Play!一个类ROR的java框架。和Grails不同的是，Play!没有用Groovy等脚本技术进行扩展。 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://www.playframework.org/">Play!</a>一个类ROR的java框架。和<a href="http://www.springsource.com/products/grails">Grails</a>不同的是，Play!没有用<a href="http://groovy.codehaus.org/">Groovy</a>等脚本技术进行扩展。直接使用java技术，这对java程序员来说要亲切很多，而且推广阻力也相应的会小不少。</p>
<p>最近简单的了解Play!，感觉确实是挺有意思的一个东西。Play!作为ROR“仿制品”，在开发思想方面和ROR还是比较接近。Play!本身提供了不少开发相关的辅助命令。使用命令创建出的新工程直接就可以运行了。相比之下，基于ssh的开发，光是脚手架的搭建就得费不少事。</p>
<p>数据模型方面使用JPA定义数据对象，直接从对象生成数据库。这点和django比较像，这也是比较符合我开发习惯的一个做法。</p>
<p>模板方面和Django类似，支持模板的继承。Django模板的继承给我的体验很好。jsp页面虽然可以使用include实现复用，但对于结构相似的页面依旧需要重复的include。<a href="http://www.opensymphony.com/sitemesh/">Sitemesh</a>虽然可以实现类似django模板的功能但看到那繁琐的配置我就撤了。</p>
<p>总的来说Play!给我的印象还是挺不错的，希望在日后的工作中可以用到。</p>
<h3>其他</h3>
<p>Play!的FAQ里有一个解答让我挺印象深刻的。其中有关于为什么使用不符合java规范的play做包名的说明。play!本身就是一个平台，运行在play!上的东西都将是符合play!规范的，所以不必为play这个包名而计较。play!专注于web的敏捷开发，为了适应web敏捷的需要一些无伤大雅的“另类”做法也是未尝不可的。想自己在某些情况下对代码还是有些所谓的“洁癖”。在django开发的时候喜欢在自己的app外面还要另外加一层包，而这种做法在一定程度上是不符合django做法的（django的app名必须唯一，即使上层的包名不同也没用）。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
