<?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>CØdeZØne! &#187; grails</title>
	<atom:link href="http://leandrosilva.com.br/category/grails/feed/" rel="self" type="application/rss+xml" />
	<link>http://leandrosilva.com.br</link>
	<description>Coisas sobre desenvolvimento de software</description>
	<lastBuildDate>Mon, 23 Aug 2010 13:04:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JRuby ou Groovy?</title>
		<link>http://leandrosilva.com.br/2008/07/02/jruby-ou-groovy/</link>
		<comments>http://leandrosilva.com.br/2008/07/02/jruby-ou-groovy/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 23:17:49 +0000</pubDate>
		<dc:creator>Leandro Silva</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[arquitetura]]></category>
		<category><![CDATA[engenharia]]></category>
		<category><![CDATA[grails]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[pragmatismo]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://codezone.wordpress.com/?p=27</guid>
		<description><![CDATA[Não, não quero começar nenhum flame war em torno de JRuby e Groovy. O que ocorre é que ontem um cara que tem um blog legal, o Diego, fez um comentário num de meus posts que me fez pensar a respeito&#8230; Até agora&#8230; Na hora, sinceramente, não tive nada de muito substancial para responder, porque [...]]]></description>
			<content:encoded><![CDATA[<p>Não, não quero começar nenhum <em>flame war</em> em torno de <a href="http://jruby.codehaus.org/" target="_blank">JRuby</a> e <a href="http://groovy.codehaus.org/" target="_blank">Groovy</a>.</p>
<p>O que ocorre é que ontem um cara que tem um blog legal, o <a href="http://www.mouseoverstudio.com/blog/" target="_blank">Diego</a>, fez um comentário <a href="http://codezone.wordpress.com/2008/07/01/groovy-nos-trilhos-do-desenvolvimento-web-agil/" target="_blank">num de meus posts</a> que me fez pensar a respeito&#8230; Até agora&#8230;</p>
<p>Na hora, sinceramente, não tive nada de muito substancial para responder, porque ainda não havia pensado a respeito. Mas tenho que confessar que isso ficou martelando a minha cabeça o tempo todo&#8230; <em>Existe alguma vantagem de se usar Groovy invés de JRuby?</em></p>
<p>Bem, lendo e pensando a respeito, cheguei a algumas simples conclusões:</p>
<p><strong>Se você tem familiaridade com <a href="http://pt.wikipedia.org/wiki/Java_(linguagem_de_programação)" target="_blank">Java</a> e quer permanecer 100% no <a href="http://pt.wikipedia.org/wiki/Plataforma_Java" target="_blank">ambiente Java</a>, sem a perspectiva de migrar, Groovy é a melhor opção pra você.</strong></p>
<p>Porque a sintaxe de Groovy é muito parecida com a de Java; Groovy traz consigo uma porção de vantagens de uma linguagem OO moderna e dinâmica, como meta-programação, duck type, e <a href="http://pt.wikipedia.org/wiki/Closure" target="_blank">closures</a>; e você ainda pode programar usando objetos Java e Groovy numa mesma classe, de forma totalmente transparente (já que <strong>.groovy</strong> ao ser compilado se transforma em um <strong>.class</strong> qualquer).</p>
<p>Só que, mais uma vez: Não há qualquer possibilidade de se rodar código Groovy fora de ambiente Java, porque Groovy foi especificamente criada para ser uma &#8220;alternativa&#8221; à linguagem Java.</p>
<p><img class="alignnone" src="http://media.xircles.codehaus.org/_projects/groovy/_logos/medium.png" alt="" /></p>
<p><strong>Se você quer que seu código seja portável para outras plataformas de runtime, tal como <a href="http://pt.wikipedia.org/wiki/Microsoft_.NET" target="_blank">.Net</a>, por exemplo, JRuby é o melhor pra você.</strong></p>
<p>Acho que este é um dos fatores primordiais na escolha de JRuby invés de Groovy. Porque o fato da sintaxe de Groovy ser próxima à de Java, sinceramente, pra mim não quer dizer nada &#8211; aprender uma nova sintaxe não é coisa de outro mundo; e é até legal. Agora, portabilidade, isto sim faz a diferença &#8211; quando necessário, claro.</p>
<p>Você pode escrever, por exemplo, uma aplicação Ruby on Rails comum e coloca-la para rodar em um web container Java, sem muito esforço. Aliás, se você estiver usando o <a href="http://www.netbeans.org/" target="_blank">NetBeans</a>, ele faz isso pra você em um ou dois cliques. E se num dado momento decidir rodar, sei lá, num <a href="http://mongrel.rubyforge.org/" target="_blank">Mongrel</a>, tudo bem, você pode fazer isso sem problema algum. Isto é fantástico!</p>
<p>Se você quiser se manter 100% compatível com a <a href="http://en.wikipedia.org/wiki/Ruby_MRI" target="_blank">MRI</a>, isto é totalmente possível, porque JRuby é uma implementação completa de Ruby para a plataforma Java. E se você quiser aproveitar algum código escrito em Java, você também pode fazer isto &#8211; mas neste caso, claro, sacrificando a portabilidade.</p>
<p><img class="alignnone" src="http://media.xircles.codehaus.org/_projects/jruby/_logos/medium.png" alt="" /></p>
<p><strong>Outro fator primordial que vejo é &#8220;comunidade&#8221;.</strong></p>
<p>A comunidade JRuby tem crescido a cada dia &#8211; claro que por conta do próprio Ruby/Rails. E a indústria de software tem investido nisto, aja vista o ótimo suporte do NetBeans a Ruby/Rails; e a própria <a href="http://www.tbray.org/ongoing/When/200x/2006/09/07/JRuby-guys" target="_blank">contratação de membros chaves do JRuby pela Sun</a> há algum tempo.</p>
<p>E a comunidade Groovy? Bem, acho que Grails tem ajudado a levanta-la. Mas o seu barulho ainda não é dos maiores não. (Espero que isto mude.)</p>
<p><strong>E o fim deste pensamento, qual é?</strong></p>
<p>Use JRuby. Use Groovy. Use o que melhor atender aos seus próprios requisitos e aos de seu cliente. Porque <a href="http://codezone.wordpress.com/2008/02/04/nao-ha-uma-unica-linguagem-de-programacao/" target="_blank">não há apenas uma linguagem de programação</a>, nem uma única solução pra tudo!</p>
<p>Atualmente estou propenso a usar tanto JRuby [on Rails] quanto Groovy [on Rails]. O que vai me fazer decidir entre um e outro serão os requisitos do momento &#8211; e a expectativa futura.</p>
<p>Então, seja JRuby ou Groovy, o que importa é desenvolver o software certo, no tempo certo, com a qualidade certa.</p>
<p><em>(Valeu Diego, por me fazer pensar um pouco sobre isto.)</em></p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrosilva.com.br/2008/07/02/jruby-ou-groovy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Grails no LinkedIn</title>
		<link>http://leandrosilva.com.br/2008/07/01/grails-no-linkedin/</link>
		<comments>http://leandrosilva.com.br/2008/07/01/grails-no-linkedin/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 16:58:02 +0000</pubDate>
		<dc:creator>Leandro Silva</dc:creator>
				<category><![CDATA[grails]]></category>

		<guid isPermaLink="false">http://codezone.wordpress.com/?p=25</guid>
		<description><![CDATA[Hoje de manhã postei algo rápido sobre Grails. Agora, vontando do almoço, acabei de ver um post do Brian Guan, um dos engenheiros do LinkedIn, sobre a sua experiência com Grails no LinkedIn. Até a próxima!]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://grails.org/images/grails-logo.png" alt="" /></p>
<p>Hoje de manhã postei algo rápido sobre <a href="http://grails.org/" target="_blank">Grails</a>. Agora, vontando do almoço, acabei de ver um <a href="http://blog.linkedin.com/blog/2008/06/grails-at-linke.html" target="_blank">post</a> do <a href="http://www.linkedin.com/in/brianguan" target="_blank">Brian Guan</a>, um dos engenheiros do <a href="http://www.linkedin.com/" target="_blank">LinkedIn</a>, sobre a sua experiência com <a href="http://blog.linkedin.com/blog/2008/06/grails-at-linke.html" target="_blank">Grails no LinkedIn</a>.</p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrosilva.com.br/2008/07/01/grails-no-linkedin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Groovy nos trilhos do desenvolvimento web ágil?</title>
		<link>http://leandrosilva.com.br/2008/07/01/groovy-nos-trilhos-do-desenvolvimento-web-agil/</link>
		<comments>http://leandrosilva.com.br/2008/07/01/groovy-nos-trilhos-do-desenvolvimento-web-agil/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 11:05:15 +0000</pubDate>
		<dc:creator>Leandro Silva</dc:creator>
				<category><![CDATA[agilidade]]></category>
		<category><![CDATA[grails]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[pragmatismo]]></category>

		<guid isPermaLink="false">http://codezone.wordpress.com/?p=24</guid>
		<description><![CDATA[Sei que já não é mais tão novidade assim, mas só agora pude gastar um tempo pesquisando e fazendo uns testes. Do que estou falando? Hammm&#8230; O titulo dá uma idéia do assunto&#8230; Grails! Ou, para os mais eruditos, Groovy on Rails. O que Grails, afinal? Grails é a resposta da Plataforma Java ao desenvolvimento [...]]]></description>
			<content:encoded><![CDATA[<p>Sei que já não é mais tão novidade assim, mas só agora pude gastar um tempo pesquisando e fazendo uns testes. Do que estou falando? Hammm&#8230; O titulo dá uma idéia do assunto&#8230; <a href="http://grails.org/" target="_blank">Grails</a>! Ou, para os mais eruditos, Groovy on Rails.</p>
<p><strong>O que Grails, afinal?</strong></p>
<p>Grails é a resposta da <a href="http://pt.wikipedia.org/wiki/Plataforma_Java" target="_blank">Plataforma Java</a> ao desenvolvimento web ágil, dinâmico, sem toda aquela parafernália de 7.203 <strong>arquivos XML</strong> para configurar, 3.412 classes dos frameworks <strong>jAbc</strong>, <strong>J-XPTO</strong> e <strong>JSeila Oq+</strong> para estender, e mais uns 1.300 <strong>arquivos JAR</strong> para &#8220;bibliotecar&#8221;.</p>
<p>Esta maravilha do mundo Java segue a filosofia de frameworks web <em>full stack</em>, tais como <a href="http://www.rubyonrails.org/" target="_blank">Ruby on Rails</a> e <a href="http://www.djangoproject.com/" target="_blank">Django</a>. E segue fundamentalmente o conceito de <a href="http://en.wikipedia.org/wiki/Convention_over_Configuration" target="_blank">Convention over Configuration</a>, que pode ser resumido em uma simples frase: <em>&#8220;É ótimo poder configurar, mas é péssimo ser obrigado a fazer isto&#8221;</em>. Sendo assim, tudo tem um padrão de nome a seguir e um local bem definido para estar.</p>
<p><strong>O que está por trás?</strong></p>
<p>Grails não foi construido a partir do nada. Muito pelo contrário. Ele está fundamentado sobre frameworks de mercado mais que consagrados:</p>
<p>- <a href="http://www.hibernate.org/" target="_blank">Hibernate</a>, sobre o qual esta o GORM (Grails ORM);<br />
- <a href="http://logging.apache.org/log4j/" target="_blank">Log4J</a>, controle de log;<br />
- <a href="http://www.springframework.org/" target="_blank">Spring</a>, injeção de dependência e MVC;<br />
- <a href="http://pt.wikipedia.org/wiki/Jetty" target="_blank">Jetty</a>, web container embutido;<br />
- <a href="http://www.opensymphony.com/sitemesh/" target="_blank">SiteMesh</a>, templates de página web.</p>
<p>E tudo isto sendo &#8220;colado&#8221; e &#8220;manipudalo&#8221; pela linguagem <a href="http://groovy.codehaus.org/" target="_blank">Groovy</a>, que para quem viveu os últimos anos em Marte, é uma linguagem orientada a objetos, fortemente tipada e dinâmica, desenvolvida para a Plataforma Java, <a href="http://codezone.wordpress.com/2008/02/04/a-plataforma-java-nao-e-sobre-a-linguagem-java/" target="_blank">como alternativa à própria linguagem Java</a>.</p>
<p><strong>Vale a pena usar Grails?</strong></p>
<p>Para o seus projetos, só você mesmo pode responder. Mas o fato é que já existe muita coisa por ai rodando em cima de Grails. Um exemplo? O <a href="http://www.pepsico.com/" target="_blank">site da PepsiCo</a>, por exemplo, que <a href="http://www.grails.org/PepsiCo+Grails+Sites+Post-Analysis" target="_blank">é um caso relatado no site do Grails</a>.</p>
<p>Minha opinião? Se você quer uma alternativa dinâmica ao desenvolvimento web rápido para a Plataforma Java, dê uma olhada em Grails. Você não vai se arrepender.</p>
<p>Agora, se para você, desenvolvimento &#8220;confiável&#8221; e &#8220;bem feito&#8221; é sinônimo de centenas de milhares de XMLs, JARs, frameworks, e linguagem estaticamente tipada (porque o compilador te faz errar menos), esqueça Grails. (Mas&#8230; Uma dica: Sai dessa, meu chapa!!! <em>rsrsrs</em>)</p>
<p>Valeu!</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrosilva.com.br/2008/07/01/groovy-nos-trilhos-do-desenvolvimento-web-agil/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
