Category Archives: Grails

Grails + Vue.js – A série

Resolvi iniciar uma nova série de vídeos chamada “Grails + Vue.js”. Ainda não sei quatos vídeos serão publicados: o objetivo é apresentar rapidamente e de forma bem leve o Vue.js para desenvolvedores Grails, além de também mostrar como é o desenvolvimento de SPAs usando estas duas ferramentas e mais algumas (como o Zurb Foundation).

Já publiquei o primeiro vídeo, e você pode acompanhar a play list do YouTube neste link, espero que gostem!

O código fonte pode ser obtido no GitHub neste link.

Novo guia da itexto: usando Jenv!

Se existe uma ferramenta que me ajuda HORRORES no dia a dia é o Jenv: trata-se de um gerenciador de ferramentas baseadas em Java e que ofereçam interfaces de linha de comando, tais como Grails, Groovy, Maven, JDK, Ant, Spring Boot e muitas outras.

No meu caso, como lido com diversos projetos baseados em Grails, com versões que variam da 1.1 a 3.1.4, é uma mão (ou melhor, duas!) na roda. Se a coisa parece chata, imagine que também lido com diferentes versões do JDK (do 1.3 a 1.8!). :)

Este é um guia rápido para que você possa começar a trabalhar com a ferramenta imediatamente. Exponho apenas o essencial, mas também alguns hacks que você pode aplicar na ferramenta e, claro, sua comparação com o SDKMan, que é outra opção bastante interessante.

Trata-se de uma ferramenta que sempre indico para nossos clientes de consultoria e alunos. Acabo de publicar então o terceiro guia da itexto, que você pode baixar neste link.

Espero que goste e que o Jenv lhe seja tão útil quanto é para nós!

Semana Groovy 35!

Esta foi uma semana bem corrida para mim, o que não quer dizer que não haja alguns links que eu venha a compartilhar com vocês sobre as tecnologias que curtimos.

E… nesta sexta-feira irei apresentar um caso muito interessante sobre sistemas legados na QCon Rio usando algumas das tecnologias que falamos aqui. http://qconrio.com/speaker/henrique-lobo-weissmann

Duas excelentes notícias para quem trabalha com Grails!

Até este momento não estava recomendando o Grails 3.x para meus clientes. Isto está prestes a mudar devido a dois acontecimentos importantes:

O primeiro é que finalmente temos uma versão do plug-in Spring Security para o Grails 3:  http://grailsbrasil.com.br/noticia/show/277

Algo que ainda não havia notado no Grails 3.0.4. O suporte ao scaffolding dinâmico voltou! – https://github.com/grails/grails-core/issues?q=milestone%3Agrails-3.0.4

Um projeto muito legal open source feito em Grails

O Bruno Bemfica me mostrou um projeto muito bacana chamado Streama: um gerenciador de vídeos e streaming cuja leitura do código fonte é bastante interessante. Interessado? Dá uma olhada neste link: http://dularion.github.io/streama/

Links da semana

Um recurso muito bacana do Groovy e sobre o qual pouco se fala a respeito: o trampoline – https://wakeupcode.wordpress.com/2015/08/18/groovy-functional-sugar-trampoline/

Uma introdução bem bacana ao RatPack – http://kyleboon.org/blog/2015/08/05/zero-to-ratpack/

Ferramenta legal da semana: Jenv (talvez um GVM++)

Algum tempo atrás falei aqui sobre o GVM (http://www.itexto.net/devkico/?p=2259) que é uma excelente ferramenta para se gerenciar diferentes versões de ferramentas que pertençam ao ecossistema Groovy.

Uma limitação do GVM, no entanto, é que ele não te ajuda a gerenciar diferentes versões do JDK. Então encontrei uma ferramenta muito interessante que nos permite gerenciar tanto versões de diversos componentes do ecossistema Groovy (incluindo Grails) e também do Java (JDKs, Maven, inúmeros frameworks e muito mais). Se chama Jenv.

Mais detalhes sobre esta importante ferramenta (que já está substituindo o GVM para mim) neste link: http://jenv.mvnsearch.org/

Semana Groovy 34 – Túnel do tempo!

Estamos entrando em uma fase temática da Semana Groovy, sendo assim o tema de hoje é história. Vou compartilhar alguns links históricos sobre desenvolvimento com vocês além de, claro, os agora tradicionais links da semana.

No treinamento que estamos ministrando na itexto para desenvolvedores independentes um aluno me perguntou o que deveria estudar após dominar completamente as tecnologias que ensinamos. Minha resposta? História.

Nada melhor que um bom conhecimento histórico pra que você entenda de verdade por que as tecnologias que usamos possuem seu aspecto atual. Sendo assim, vamos lá!

Guia dos perplexos

Sem dúvida o projeto que mais gostei este ano foi o Guia dos Perplexos do Rene de Paula Jr. Para comemorar os vinte anos de Internet no Brasil, Rene entrevistou diversas pessoas com quem trabalhou durante este período.

É um retrato fascinante da história neste período e expõe muito bem o que rolou e aonde estamos hoje. São dezenas de entrevistas gravadas nos últimos dois meses (eu acho). Um trabalho realmente incrível: vale cada segundo assistido!

Segue o link: http://guiadosperplexos.tv/

No site é dito que foi terminada a primeira temporada. Torço para que a segunda venha logo!

NerdTV

O trabalho do Rene de Paula me lembrou muito algo que o Robert Cringely fez quase dez anos atrás chamado NerdTV. A diferença é o cenário: enquanto Cringely fala sobre o Vale do Silício, Rene de Paula fala sobre o Brasil.

Link para o NerdTV: http://www.pbs.org/cringely/nerdtv/

Links históricos sobre Groovy, Grails e Spring

Groovy é apresentado ao mundo por seu criador, James Strachan – http://radio-weblogs.com/0112098/2003/08/29.html

Por que Grails não se chama “Groovy on Rails” – http://grails.1312388.n4.nabble.com/Groovy-on-Rails-is-no-more-kind-of-td1313422.html

Primeiro post do Grails Brasil – http://grailsbrasil.com.br/post/show/2

O dia em que a SpringSource comprou a G2One (desenvolvedora original do Grails) – http://www.infoq.com/news/2008/11/springsource-g2one

E aí a SpringSource foi comprada pela VMWare! – http://colinharrington.net/blog/2009/08/vmware-acquiring-springsource-which-acquired-g2one/

Foi quando a VMWare resolveu criar uma empresa chamada Pivotal para explorar o ecossistema Spring, Groovy e Grails – https://gigaom.com/2012/07/16/vmware-plans-cloud-spin-out-to-keep-up-with-microsoft-amazon-and-google/

Então, em janeiro de 2015 a Pivotal decide parar de financiar os projetos Groovy e Grails. Seria o fim? – http://blog.pivotal.io/pivotal/news-2/groovy-2-4-and-grails-3-0-to-be-last-major-releases-under-pivotal-sponsorship

Na época havia dito que não era motivo para se preocupar, lembra? – http://www.itexto.net/devkico/?p=2116

E então, mais tarde neste ano, duas novidades interessantes que comprovaram o que disse:

Em março o projeto Groovy foi para a Apache e desde então vêm caminhando super bem! – http://glaforge.appspot.com/article/groovy-projects-intends-to-join-the-apache-software-foundation

E a OCI se tornou a principal financiadora do projeto Grails – http://www.infoworld.com/article/2909679/java/grails-web-framework-finds-home-at-object-computing.html

E que tal ver o nascimento do Spring? Ele vai aparecer pela primeira vez neste livro (ainda um clássico) do Rod Johnson – http://www.amazon.com/Expert-One-One-Development-without/dp/0764558315

E o artigo que realmente apresenta o Spring ao mundo? – http://www.theserverside.com/news/1364527/Introduction-to-the-Spring-Framework

E finalmente, os links da semana :)

Como integrar sua aplicação com o serviço S3 da AWS – http://www.tothenew.com/blog/integrating-amazon-s3-in-grails-application/

Awesome Groovy! – Uma lista muito bem feita contendo um monte de bibliotecas, frameworks e ferramentas para você usar com Groovy. Muito bacana! – https://github.com/kdabir/awesome-groovy

Como usar Groovy com Spring – https://www.accelebrate.com/blog/have-a-groovy-spring/

Migrando um projeto Grails da versão 1.3.7 para a 2.4.4 – exposto em detalhes. Excelente leitura! – https://dzone.com/articles/check-out-the-new-json-p-11-early-draft

Um comparativo entre Groovy e Scala (não gosto deste tipo de post, mas este aqui é particularmente interessante) – https://www.linkedin.com/pulse/scala-vs-groovy-functional-programming-showdown-owen-rubel

Peter Ledbrook compartilha suas primeiras impressões a respeito do Grails 3.0. Considere leitura obrigatória caso esteja pensando em atualizar suas aplicações para esta versão – http://blog.cacoethes.co.uk/groovyandgrails/exploring-grails-3

Quais plug-ins estão na fila para serem atualizados para a versão 3 do Grails? – https://github.com/grails/grails-core/wiki/Grails-3-Priority-Upgrade-Plugins

Apresentação útil: GVM: The Groovy Environment Manager – interessantíssimo para aqueles que estão interessados na ferramenta. Vale cada segundo! – https://www.youtube.com/watch?v=i6WOnN8uJdM

Lançamentos

Spring Batch 3.0.5 – http://spring.io/blog/2015/08/10/spring-batch-3-0-5-release-is-now-available

Spring Boot 1.3.0 M3 – http://spring.io/blog/2015/08/11/spring-boot-1-3-0-m3-available-now

Spring Roo 1.3.2 RC1 – http://spring.io/blog/2015/08/11/spring-roo-1-3-2-rc1-maintenance-release-now-available

Semana Groovy 33 – Blogs sobre Groovy, Grails e Spring!

Blogs sobre Groovy, Grails e Spring

Há blogs muito bons em português sobre Groovy e Grails: que tal você os adicionar aos seus favoritos?

Domine o Spring – https://domineospring.wordpress.com/

Emilio’s Blog – http://emilio2hd.com.br/

Portal Willcrisis – http://www.willcrisis.com/site/

Santo Grails – http://santograils.org/

Vai de Grails – http://vaidegrails.com/

/dev/Kico – http://devkico.itexto.com.br

E também não dá pra não citar o /dev/All (http://www.devall.com.br) aonde sempre aparece conteúdo sobre estes assuntos. :)

Links

Contribuindo para projetos abertos no GitHub – descobri este excelente post no /dev/All (http://www.devall.com.br), no qual o Gildásio Júnior nos mostra como proceder quando queremos contribuir para projetos open source hospedados no GitHub. Uma excelente leitura! – https://gjuniioor.wordpress.com/2015/07/30/contribuindo-para-projetos-abertos-no-github/

O que nos aguarda no Spring Framework 4.3 e 5.0? – https://spring.io/blog/2015/08/03/coming-up-in-2016-spring-framework-4-3-5-0

Making Java Testing Groovy – Um excelente post mostrando por que Groovy é uma linguagem fantástica para testadores que precisem lidar com Java (ou linguagens que vão ser executadas sobre a JVM) – Vale cada segundo esta leitura! – http://www.thattestingguy.com/making-java-testing-groovy/

Como usar o GVM no Windows – escrevi um rápido tutorial ensinando a usar o GVM no Windows – http://www.itexto.net/devkico/?p=2259

Uma crítica muito bem escrita ao padrão REST

Há posts que você lê e sabe que nasceram clássicos. Este tem grande probabilidade de entrar nesta categoria: “RESTful Considered Harmful”. Vivemos em uma época na qual ao pensarmos em APIs e integração imediatamente nos vêm à mente a implementação de uma arquitetura REST. Será que é sempre o caso? Quais os lados negativos e limitações desta abordagem? Considere leitura obrigatória! https://dzone.com/articles/restful-considered-harmful

Dica de projeto – Spring Session

Já viu o Spring Session? Trata-se de um projeto muito interessante desenvolvido pela Pivotal que é inteiramente focado na gestão de sessões em aplicações web. Com ele é possível, por exemplo, implementar sessões clusterizadas, multi-browser, por websocket e mais algumas coisas bastante interessantes.

O link para o site oficial do projeto é este: http://projects.spring.io/spring-session/

Dois posts de pessoas que estão descobrindo Groovy!

Feedback Leitura – Groovy recipes – Guilherme Costa escreve suas impressões sobre o livro e a linguagem – http://imguilherme.com/2015/08/04/feedback-leitura-groovy-recipes/

Groovy: uma jornada inesperada – Fernando Franzini se apaixona por Groovy (o entendo perfeitamente!) – https://fernandofranzini.wordpress.com/2015/08/03/groovy-uma-jornada-inesperada/

Lançamentos

Spring 4.2 GA – https://spring.io/blog/2015/07/31/spring-framework-4-2-goes-ga

Spring Statemachine 1.0-M3  – Um projeto bem interessante da Pivotal que desconhecia. Vale à pena dar uma estudada nesta criatura, especialmente se você for implementar workflows distribuídos –  http://spring.io/blog/2015/08/04/spring-statemachine-1-0-0-m3-released

Spring Session 1.0.2 – http://spring.io/blog/2015/08/03/spring-session-1-0-2-released

Dica de leitura – Guia de expressões regulares

Não há muito para onde fugir das expressões regulares. É uma daquelas ferramentas que você é obrigado a conhecer. Então nada melhor que um livro pra te ajudar nisto, certo?

“Expressões Regulares – Guia de Consulta rápida”, de Aurélio Jargas, trata-se da edição integral que o autor torna disponível gratuitamente em seu site. Uma mão (ou melhor, DUAS) na roda! – http://aurelio.net/regex/guia/

Como usar o GVM no Windows

Você conhece o GVM? Trata-se de uma poderosa ferramenta para desenvolvedores Groovy (e Grails). Basicamente o que ele faz é gerenciar para você as diferentes instalações do Groovy, Grails, Griffon, Gradle, Groovyserv e diversos outros componentes do ecossistema que se construiu ao redor da linguagem em seu computador.

Bom: este post não é para lhe ensinar a usar o GVM (mas darei alguns toques rápidos), mas sim como instalá-lo no Windows. Por padrão a ferramenta só tem instaladores para sistemas Linux e Mac OS X. Mas se você usa Windows (como eu), nem tudo está perdido. Vamos lá!

PowerShell na veia

powershell

Se você trabalha com desenvolvimento no Windows e não conhece esta ferramenta, uma dica: com certeza muito do seu tempo está sendo perdido.

O PowerShell é uma evolução do tradicional “Prompt de Comando” (Prompt do MS-DOS para os com maior experiência) que nos fornece uma interface de linha de comando com poder similar ao Bash do Linux.

(estou planejando gravar alguns vídeos ou escrever posts sobre esta ferramenta)

O GVM só será executável através do PowerShell. Não se preocupe em instalar a ferramenta, ela já vêm instalada no Windows por padrão.

Como iniciar o PowerShell

Há duas maneiras de se iniciar o PowerShell:

  • No “Prompt de Comando” execute o comando powershell (minha opção favorita)
  • Clique diretamente sobre o ícone em seu computador

Nota importante: para instalar o GVM no Windows você precisará iniciar o Prompt de Comando ou PowerShell como administrador do sistema.

Buscando o PowerShell no Windows 10

Buscando o PowerShell no Windows 10

Verifique a versão instalada do PowerShell

Com o PowerShell instalado, execute o comando abaixo:

$PSVersionTable.PSVersion

Sua versão deve ser a 3.0 ou posterior. Se for inferior, baixe este update no site da Microsoft.

Ative a execução de scripts pelo PowerShell

Set-ExecutionPolicy Unrestricted

Isto ativará a execução de scripts pelo PowerShell e habilitará a execução do módulo que instalaremos daqui a pouco.

Descubra qual o diretório de instalação de módulos do PowerShell

No PowerShell temos o conceito de módulos. Um módulo é essencialmente um programa que adiciona novas funcionalidades a esta interface de linha de comandos.

Execute o comando a seguir para descobrir aonde os módulos do PowerShell encontram-se instalados em seu computador:

$env:PSModulePath

Será exposta uma lista de diretórios separados pelo caractere ‘;’. Mude para um destes diretórios de sua preferência usando o comando abaixo:

cd [caminho para o diretório]

Finalmente, instalando o GVM no Windows!

Você precisará ter o Git instalado em seu PC, pois iremos baixar um módulo a partir do GitHub para dentro da pasta de instalação de módulos do PowerShell que foi selecionada no passo anterior. Execute o comando a seguir para obter o código fonte:

git clone https://github.com/flofreud/posh-gvm

E finalmente, execute o comando abaixo para finalizar a mágica:

Import-Module posh-gvm

Feito! Para testar a sua instalação, execute o comando a seguir:

gvm help

Comandos úteis do GVM

Para instalar uma nova versão de um componente Groovy

gvm install [componente] [número da versão]

Aonde componente pode ser:

  • groovy
  • grails
  • griffon
  • gradle
  • groovyserv
  • lazybones
  • vertx
  • crash
  • glide
  • gaiden
  • jbake
  • springboot
  • asciidoctorj

E para definir qual a versão padrão do componente, qual comando?

gvm use [componente] [número da versão]

Dica no final do post: ConsoleZ

consolez

Tenho usado bastante uma ferramenta chamada ConsoleZ: ele me permite ter várias instâncias do Prompt de Comando organizadas em abas e possuí algumas funcionalidades adicionais bastante interessantes (especialmente relacionadas ao uso da área de transferência).

É possível customizar cores, cursores e fontes de uma forma muito parecida com a qual estamos acostumados a trabalhar no Linux e Mac OS X.

Mais detalhes sobre o projeto neste link: https://github.com/cbucher/console

Nota importante caso você enfrente problemas com Grails – adicionada depois

Se a sua pasta de usuário (home) do Windows possuí o caractere de espaço em seu nome você pode ter alguns problemas ao executar o Grails. Irá aparecer uma mensagem similar a esta:

"Error opening jar file (bla bla bla) manifest (bla bla bla)"

Resolver este problema é fácil: basta que você altere os dados de perfil do seu PowerShell.

Siga este procedimento para verificar se você possuí um arquivo de perfil.

Execute este comando:

Test-Path $profile

Se retornar false, execute o comando a seguir:

New-Item -path $profile -type file –force

Lhe será mostrada um caminho para o arquivo de perfil. Abra este arquivo e adicione a linha abaixo:

$Global:PGVM_DIR = "c:\gvm"

A variável de ambiente Global:PGVM_DIR deverá apontar para o diretório no qual todas as instalações gerenciadas pelo GVM serão baixadas.

Prontinho: pode usar e abusar do GVM agora. :)