Fim de semana tech

Se você busca alguma inspiração em tecnologia de sistemas de informação durante o fim de semana, eis aqui dois artigos que recomendo.

Bruce Eckel, palestrante e autor do excelente livro “Thinking in Java”, escreveu o provocativo Java, Evolutionary Dead End (em inglês), 2008-01-03. O autor afirma que Java não deveria mudar muito mais, pois ele considera mais importe a linguagem buscar se manter estável (como C ou C++) do que do que evoluir incorporando recursos.

A tecnologia Java pode evoluir (plataformas, APIs) sem que a linguagem de programação Java mude tanto? São alternativas viáveis novas linguagens de programação como Groovy e Scala — sem falar das adaptações JRuby e Jython — que vão surgindo e podem rodar sobre JVM?

Veja também a discussão do artigo em TSS.


The 50 Most Popular Web Design Blog Posts, Resources & Cheat Sheets of 2007 (em inglês), por Eric Hebert, 2008-01-03, em Crestock.com Blog, faz um interessante tour por 2007 em uma coletânea de 50 artigos de destaque sobre temas de design gráfico e de interação: fundamentos e princípios, cor, gráficos e ícones, fotos, CSS, fonte e texto, layout e outros. Se o assunto interessa a você, vale a viagem.


Aproveito para dizer que atualizei o artigo Codificação de caractere e o Ubuntu pt_BR, de 2006-09-24, após refletir sobre o comentário do leitor ZeroA4 e o artigo Unicode de Rafael Benevides. Como resultado, adicionei um tópico final “Olhando à frente para internacionalização”.

Artigos JSF para começar 2008

O padrão JavaServer Faces (JSF) da plataforma Java EE — para construção de interface de usuário (IU/UI) web — tem sido cada vez mais difundido. É portanto um bom tema de tecnologia para começar o novo ano.

Uma boa introdução prática a JSF 1.2 (JSR 252) é o tutorial Getting started with JavaServer Faces 1.2, Part 1: Building basic applications (em inglês), por Richard Hightower, CTO da ArcMind, 2007-12-18, em IBM developerWorks. O acesso ao conteúdo do tutorial requer registro (gratuito). Recomendo também os artigos e FAQ listados na página de documentação JSF (em inglês) da Sun.

As atualizações das especificações JSF 1.2 e JSP 2.1 trazidas pela plataforma Java EE 5.0 homogeneizaram a convivência das duas tecnologias web, introduzindo a Linguagem de Expressão Unificada (Unified EL).

Já existem também boas bibliotecas de componentes JSF livres disponíveis para os desenvolvedores. Tudo isso contribui para a adoção da tecnologia ser cada vez mais rápida, ampla e fácil.

Mas a agilidade dos tempos modernos sempre pede mais e por isso já se discute a evolução JSF 2.0. No artigo JSFTemplate Components (em inglês), agosto 2007, Ken Paulsen destaca que criar um novo componente em JavaServer Faces ainda é difícil e burocrático. A proposição para a JavaServer Faces 2.0 (JSR 314) reconhece a importância em tornar mais fácil a autoria de componentes, fazendo disso uma prioridade da nova versão.

Pode-se fazer um paralelo da precupação de JSF 2.0 com a facilidade e simplicidade que o recurso de Arquivos de Tag de JSP ([1], [2], [3]) trouxe para a criação de bibliotecas de tags personalizadas, ou mesmo com a facilidade de criação de páginas dinâmicas da própria tecnologia JSP em relação a servlets.

Veja também JSFTemplating and Woodstock: Component Authoring Made Easy (em inglês), por Ken Paulsen, Jason Lee e Rick Palkovic, dezembro 2007. Uma thread de comentários e discussões sobre este artigo foi criada em TheServerSide.COM.

Outro artigo recente relacionado a JSF e AJAX é The AjaxComponent strategy for JSF: The best of both worlds (em inglês), por Matthew Tyson, JavaWorld.com, 2007-12-20.

O anúncio da Apache.org sobre lançamento do Apache Portals Bridges 1.0.4, 2007-12-29, também é a propósito, pois o projeto Portals Bridges provê integração com frameworks web JSF e Struts, Groovy e componentes Portlet (JSR-168).

A fundação Apache, porém, é totalmente eclética em projetos Java, pois hospeda o desenvolvimento de diversos frameworks web, como MyFaces (implementação de JSF), Struts, Tapestry e o inovativo Wicket, que teve sua versão 1.3 lançada (discussão em TSS) agora em 2 de janeiro.

Enquanto o Eclipse 2008 não vem

Continuando a minha saga à espera de uma distribuição ou instalação do Eclipse IDE simples e completa out-of-the-box, chego ao final do ano ainda decepcionado com este quesito no Eclipse. Enquanto isso, a instalação do NetBeans IDE 6.0 All Packs bundle dá um show de facilidade e recursos.

Tal situação motivou as reflexões do “Java Champion” alemão Adam Bien em seu blog, no artigo Thinking loud about Eclipse and Netbeans (em inglês), 2007-12-23.

Mas eu não desisto. Ao ver os primeiros recursos do novo suíte de plug-ins livres da Red Hat, JBoss Tools 2.0, me animei. Veja um exemplo da tela de edição de um JSP (clique na imagem para ampliar 1024×768):

[photopress:eclipse_europa_jbosstools.png,full,centered]

Há a perspectiva Web Development, diversas views especializadas (à esquerda por exemplo, veja as abas Web Projects e Seam Components atrás do Package Explorer). Ao centro, vê-se o poderoso RichFaces HTML/JSP/JSF Visual Editor, exibindo a visualização meio-a-meio Visual/Source, com o código-fonte HTML/JSP na parte de cima e a visualização gráfica da página em baixo. O editor permite ainda exibir apenas código (Source), apenas gráfico (Visual) e uma previsualização mais precisa da página resultante (Preview). À direita A paleta arrastar-e-soltar para o editor inclui componentes HTML, XHTML, JBoss Ajax4jsf, RichFaces e Seam, JSF, JSTL e Struts.

Como o JBoss Tools 2.0 requer o Eclipse 3.3.1 e o WTP 2.0.1, enquanto eu busquei montar minha instalação tudo-em-um Eclipse 3.3 Europa Java EE com JBoss Tools, também revisei amplamente meu artigo Monte seu Eclipse 3.3 (ou 3.2).

O artigo agora traz uma seção dedicada a plug-ins gratuitos de terceiros, com uma listagem agrupada por tópicos de aplicação. A relação dos mais de 40 plug-ins listados teve como base aqueles disponíveis nas distribuições EasyEclipse e Pulse, com algumas adições minhas, entre elas o próprio JBoss Tools.

Adicionei o Pulse — da empresa Genuitec, produtora do MyEclipse IDE — como mais uma opção de distribuição Eclipse gratuita independente. Agora são cinco: IBM, EasyEclipse, Lomboz, Tiny Eclipse, Pulse.

Ainda ficou de fora o Yoxos On-Demand — cujo mecanismo Eclipse Discovery deve ser base para o projeto Eclipse Packaging Project (EPP). Ainda não avaliei o Yoxos para a versão Eclipse 3.3 Europa. Também, se ainda continua o modelo do Yoxos Install Manager (YIM), cujas atualizações são gratuitas apenas nos três primeiros meses de uso (depois requer assinatura anual paga), não sei se o Yoxos On-Demand se enquadra realmente em uma distribuição gratuita.

Além do Pusle e do Yoxos On-Demand, outra novidade interessante em distribuições on-line é o Cloudsmith utilizado nas Virtual Distros do projeto Lomboz. O recurso é executado via Java Web Start.

Depois de muitos descobrimentos, testes, downloads e atualizações, acabo de montar minha instalação do Eclipse 3.3 e vou testar mais.

Ainda falta um bom editor UML com engenharia reversa gratuito no Eclipse, coisa que tanto o NetBeans 6.0 quanto o gratuito Oracle JDeveloper 11g oferecem nativamente. O AmaterasUML traz apenas diagramas de classe e de seqüência, sem engenharia reversa ou sincronização com código-fonte. A versão gratuita do Omondo EclipseUML também tem limitações de uso.

Não há dúvida que o mercado em volta do Eclipse é muito grande e sólido. Um indicador são empresas de peso como IBM/Ration, BEA, Borland/CodeGear, TIBCO e Nokia em volta da Fundação Eclipse. Ferramentas gratuitas como o TIBCO Business Studio e o projeto Eclipse Process Framework (EPF) são baseadas no Eclipse. Mas as soluções de IDE Java mais atraentes são todas produtos comerciais (destas e outras empresas) baseados no Eclipse.

Outro indicador é a popularidade de uso do Eclipse ainda alta entre desenvolvedores, provavelmente graças à gama de recursos de produtividade do editor, como suas notórias ferramentas de refatoração (em inglês, refactoring). Hoje em grande parte os recursos que deram fama ao Eclipse já estão presentes nos demais IDEs. No lançamento do NetBeans 6.0, por exemplo, seu novo editor teve nas ferramentas de refactoring, geração de código e code completion grande destaque.

Mas aos poucos, alguns integradores vão mudando de escolha. A JasperSoft, desenvolvedora dos projetos de software livre JasperReports — framework de geração de relatórios — e respectivo editor iReport havia criado um plug-in do iReport 1.2.6 para Eclipse. Agora, para a nova versão 2.0, está preparando uma extensão do iReport para NetBeans 6. E também aos poucos se vão os desenvolvedores.

Conclusão: No momento, considero que o Eclipse continua sendo a melhor plataforma open source para IDEs, mas o NetBeans é o melhor IDE software livre como produto final.

Vamos ver se 2008 trará facilidade para instalação de um pacote Eclipse IDE mais “pronto para usar”. Ou então mostrará que alternativas como o software livre NetBeans IDE ou o JDeveloper oferecido gratuitamente pela Oracle vão ganhar ainda mais força.

Arquitetura de software, NetBeans, AJAX, padrões web

Eis uma coletânea de artigos interessantes relacionados a Arquitetura de Software, NetBeans, AJAX e padrões web, que visitei nos últimos dias e recomendo.

Arquitetura de software

Immutable Design Pattern, por Faisal Feroz, Paquistão, 2007-12-21. Comenta o Immutable, um dos muitos padrões de desenho/projeto, uma disciplina essencial da arquitetura de software.

Mais um bom tutorial no IBM developerWorks: Write REST services — Create REST services with Java technology and the Atom Publishing Protocol, por J. Jeffrey Hanson, CTO, Max International, 2007-10-30, atualizado em 2007-12-20. Como já citei em outros artigos, é necessário registrar-se gratuitamente no portal IBM developerWorks para acesso ao tutorial. A propósito, a IBM foi considerada a melhor empresa mundial em Pesquisa & Desenvolvimento, pela R&D Magazine.

Arquitetura Orientada a Serviços (SOA) tem sido tema constante nos blogs de alguns colegas “feras” em arquitetura de software, como destaco a seguir. Você sabe o que é SOA?, 2007-12-18; e outros artigos de Ricardo Ferreira sobre SOA e BPM. Papéis no Ciclo de Desenvolvimento SOA, 2007-12-01; duas apresentações em PDF que já citei; e outros artigos de Marco Aurélio Mendes sobre Arquitetura/SOA e BPM. Para se aprofundar no tema, recomendo os cursos de Ambientes Integrados (SOA, BPM, ESB, EAI) na Archware, Belo Horizonte, MG.

NetBeans IDE 6.0

Matthew Schmidt anunciou NetBeans 6: Matisse Updates, 2007-12-14, uma nova apresentação com demonstração e áudio (Flash), por Roman Strobl do Time NetBeans, demonstrando o novo construtor de interfaces gráficas de usuário (GUI) Swing Matisse do NetBeans IDE 6 e seu suporte a JSR-295 (bean binding).

Roman Strobl também divulgou em seu blog First version of NetBeans Scala plug-in available, 2007-12-21. Caoyuan Deng, o criador do ErlyBird, IDE para Erlang baseado no NetBeans, fala sobre sua nova iniciativa, Primeiro suporte experimental a Scala em NetBeans, 2007-12-21.

NetBeans 6.0 Cheat Sheet, por Jason, 2007-12-11. Resumo de atalhos de teclado do NetBeans IDE 6 para desenvolvimento Ruby on Rails, em PC Linux/Windows e Mac OS X, disponível para download em formatos PDF e ODT (OpenDocument).

Tim Boudreau citou em seu blog NetBeans Editor Demo video, 2007-12-21, um vídeo em YouTube que alguém gravou de sua apresentação em Florianópolis, SC, sobre os recursos do editor do NetBeans IDE 6.0.

Ajax e padrões web

Criando uma lista na sessão com DWR – Parte 3, por Handerson Brito Frota – WEB2.0, 2007-12-21, mostra que tipos de métodos criar no FacadeAjaxSession explicado na Parte 2, 2007-12-16. A Parte 1 desta série de artigos havia apresentado conceitos iniciais sobre uso de Sessão com o popular framework AJAX DWR. Veja mais sobre bibliotecas e frameworks Ajax e JavaScript em meu artigo Ajax em Java – coletânea de referências.

Carol McDonald divulgou os Slides e exemplos da sua apresentação de Dojo 1.0, 2007-12-21, disponíveis para baixar em Sun Tech Days Code. Dojo Toolkit é uma biblioteca Ajax muito popular.

Prototype e Scriptaculous compactados, por Jota, 2007-12-21, divulga que John-David Dalton gerou versões bastante compactadas das duas populares bibliotecas JavaScript/Ajax, disponível para baixar em prototype-core, Google Groups. Segundo Jota, o trabalho de Dalton reduziu o tamanho ocupado pela biblioteca Prototype 1.6.0 de 122 para 20,4KB, e Script.aculo.us 1.8.0 de 124 para 19,7KB.

Outra dicas interessantes de Jota são Gifs, animações para o efeito loading em Ajax, 2007-12-20, e Dicas por Yahoo como criar aplicações Ajax com alto desempenho, 2007-12-22: Slides (Flash, em SlideShare), Vídeo e PPT (em YUI Blog) da apresentação “High Performance Ajax Applications”, por Julien Lecomte, autor do YUI Compressor e do YUI Browser History Manager.

Andres Almiray, engenheiro de software da Oracle, anunciou o Lançamento da biblioteca Json-lib 2.2 (2007-12-20) e destaca Json-lib examples (2007-12-21), uma nova página do projeto listando diversos exemplos rápidos (snippets) de situações de uso da biblioteca. Json-lib é uma biblioteca Java para transformar beans, mapas e XML para JSON e de volta para beans e DynaBeans. Json-lib é baseada no trabalho de Douglas Crockford em JSON in Java. JSON (JavaScript Object Notation) é um formato leve para intercâmbio de dados. Embora baseado em JavaScript (ECMA-262 3ª Ed.), JSON é independente de linguagem.

Henrique C. Pereira, designer de interfaces, comentou em seu site pessoal Revolução Etc: IE8 passa no teste do Acid2, 2007-12-20. O feito foi divulgado em Internet Explorer 8 and Acid2: A Milestone, por Dean Hachamovitch, Gerente Geral do Internet Explorer, Microsoft, 2007-12-19, em IEBlog. Ainda é sobre um build interno de desenvolvimento do IE8 e há controvérsia sobre o resultado. Mas a notícia parece tentar reaquecer a guerra de browsers, exatamente quando a Fundação Mozilla acaba de liberar o Beta 2 do novo Firefox 3, em 18 de dezembro. O Firefox 3 passa no teste Acid2 desde o Beta 1 (2007-11-20). Nos últimos dois anos, o bem-sucedido Firefox vem sendo cada vez mais usado, atualmente dominando 1/4 a 1/3 de um segmento que já teve perto de 95% de domínio do IE (~ 2004).

Acid2 é um teste criado pelo Web Standards Project para avaliar o suporte dos navegadores Internet a padrões web. A página testa quão próximo do ideal um navegador Internet exibe de uma carinha “smiley” criada com diversos recursos de layout/posicionamento de acordo com padrões de HTML, CSS, PNG e Data URLs. Veja também Acid2 na Wikipedia.

Cezar Taurion, Gerente de Novas Tecnologias da IBM Brasil, faz reflexões e previsões sobre Web 2.0 em 2008, 2007-12-19, em seu blog.

Fecho o tema de padrões web com a divulgação do Lançamento do Livro do Maujor, por Maurício Samy Silva (Maujor), “O dinossauro das CSS”, 2007-11-18. O livro é: Construindo Sites com CSS e (X)HTML — Sites controlados por folhas de estilo em cascata.

GlassFish v2 Update Release 1

Três meses após o lançamento do GlassFish v2, dia 19 saiu o GlassFish v2 Update Release 1 (UR1), que incorpora perto de 200 bugfixes de alta prioridade e melhorias. A atualização deste servidor de aplicações Java — que é implementação de referência da especificação Java EE 5 — também está disponível com a marca Sun Java System Application Server (SJSAS versão 9.1_01) e integrado ao kit de desenvolvimento Java EE SDK (Update 4).

Destaques da versão:

  • Suporte ao sistema operacional AIX versões 5.2 and 5.3 (32 bit JVM) para Cluster e Developer Profiles, sem balanceamento de carga.
  • Suporte a JVM 64 bits JVM para sistema operacional Suse Linux 64-bit.
  • Suporte a sticky session para balanceamento de carga em cluster usando Apache com mod_jk, recurso muito pedido pela comunidade.
  • Implementação de bugfixes e melhorias identificados como “must have”, além de correção de bugs críticos relacionados ao NetBeans.
  • Atualizações para OpenESB – Enterprise Service Bus.
  • Administradores notarão a necessidade da opção -Xmx256m, informações claras sobre Patches e mais exposição para o GlassFish Update Center.

Concomitante com o GlassFish v2ur1, Kohsuke Kawaguchi destaca a nova versão da implementação de referência do framework JAXB RI 2.1.6, usada nos lançamentos Metro 1.1 e JAX-WS 2.1.3. Veja Java Architecture for XML Binding readme.

Anúncios:

Boas blogadas do dia

Blogadas de artigos, notícias e dicas.

Leonardo Fernandes recomenda o artigo do Software Security Institute (SANS) sobre Conhecimentos de segurança que todo desenvolvedor Java/JEE deveria ter. Assino embaixo.

Tratamento e validação de entradas de usuário; tratamento de exceções e erros; controle de acesso e autorização. Três elementos fundamentais e que ainda põe por terra a robustez e segurança de muitas páginas e sites web por aí.

Recomendo também meu artigo Eficiência e segurança com SQL parametrizado, que fala especificamente do tratamento de entradas de usuário no repasse a instruções SQL.


Bruno Borges dá a dica dos Slides do Wicket. A apresentação de 108 slides Wicket in Action, por Martinj Dashorst — co-autor do livro “Wicket in Action” e um dos comitters do projeto Wicket — está disponível em SlideShare (formato Flash).

Dashorst traz uma visão prática e concisa dos recursos desse framework web Java que se inspira no conceito de programação de interface Swing e na objetividade e na simplicidade, para a criação de páginas web dinâmicas. Wicket é um framework web para no segmento dos “desafiantes”, entre as muitas opções existentes, mas já tem uma comunidade de adeptos fervorosa.


O artigo Sun to discontinue developer tools in favor of NetBeans, por Paul Krill, 2007-12-11, InfoWorld, registra a concretização do que já era previsível. A Sun já havia mostrado que havia “desistido” das suas ferramentas de desenvolvimento Java comerciais quando doou maciço código fonte destas para o projeto NetBeans, que começou a incorporar os recursos doados na versão 5.5.

Agora, a Sun encarna o slogan do recém-lançado NetBeans 6: “O único IDE que você precisa.” Os produtos comerciais Sun Java Studio Creator and Java Studio Enterprise 8.1 serão descontinuados de vez, em favor do foco exclusivo no software livre NetBeans IDE.

Falando em NetBeans: Um atalho muito útil – NetBeans 6.0, por Dyego Souza do Carmo, 2007-12-18.


Por falar em IDEs — ou para mudar a perspectiva — sugiro também o artigo Life outside the IDE: Coding in a parallel toolset has its perks — freedom, for one, por Nathan Hamblen, 2007-12-18, JavaWorld.com.


Comparing the Google Collections Library with the Apache Commons Collections, por Narayanan A.R., 2007-12-07, DevX, mostra que assim como o famoso pacote de componentes Apache Commons Collections, a recém lançada Google Collections Library também complementa o Java Collections Framework, além de oferecer algumas melhorias únicas que você pode preferir.

Você pode permanecer no Portal DevX para ler também Small Steps Lead to Big Improvements in Java Code Quality, por Steven Hale, 2007-12-14. O autor sugere que, ao invés de definir objetivos arbitrários para obter código Java de melhor qualidade, você pode usar uma estratégia de melhoria iterativa que produza resultados visíveis e mensuráveis.


Para fechar, dois lançamentos de software Java da fundação Apache.

James Strachan divulgou em TheServerSide.COM o lançamento do Apache ActiveMQ 5.0, 2007-12-13, cheio de novidades.

A lista de anúncios da Apache divulgou no dia 15 que o Ivy 2.0.0-beta1 foi lançado. É um software para gerenciar (registrar, rastrear, resolver e reportar) dependências (prerequisitos) em projetos de software. É parte integrante do projeto Ant e bastante integrado ao Maven 2.

Artigos e tópicos interessantes para desenvolvedores

No portal IBM developerWorks, está sendo publicado um tutorial em três partes sobre desenvolvimento para web com o Eclipse Europa, usando Java, PHP e Ruby; por Michael Galpin, Desenvolvedor do eBay.

A terceira parte, sobre Ruby, deve sair breve saiu dia 18. Para acessar o conteúdo do tutorial, é necessário registrar-se gratuitamente no portal IBM developerWorks.


Outro artigo muito interessante, para quem está considerando suas opções de infra-estrutura para aplicações Java EE na web. JBoss, Geronimo, or Tomcat? — Três servidores de aplicação Java open source comparados, por Jonathan Campbell, JavaWorld.com, 2007-12-11. Só faltou cobrir também GlassFish.


O recente artigo An easy way to make your code more testable, no blog Programblings, me levou a outro artigo excelente.

We don’t write tests. There just isn’t time for luxuries, por James Golick, um desenvolvedor de softwre em Montreal, 2007-08-28. Golick, com argumentos objetivos passo a passo, contesta a afirmação que muito se houve de desenvolvedores ou times de software: “Não escrevemos testes ou fazemos cobertura de testes porque não temos tempo.” ou “Escrever testes toma tempo demais.”

Todo desenvolvedor precisa testar seu código, de alguma forma. A diferença é que alguns escrevem testes automatizados, enquanto outros usam humanos (normalmente, o próprio desenvolvedor) para verificar o comportamento correto. Então, o argumento “testar-nos-atrasa” reside na premissa que verificação manual é mais rápida que escrever testes automatizados.

Assim começa o raciocínio que se desenvolve ao longo do inteligente artigo. Leia e veja se você também concorda que a prática de testes automatizados pode ser bem produtiva.

Se práticas de desenvolvimento de software interessam a você, então sugiro ler também os artigos Pair Programming vs. Code Reviews, por Jeff Atwood, 2007-11-18; e Pair Programming vs. Code Reviews – It’s a no Brainer, por Mark Levison (Ottawa, Canadá), 2007-12-14. Eles confrontam programação em pares e revisão de código.


Conforme anúncio no Javalobby, acabou de ser lançada em dezembro a nova certificação Sun Certified Programmer for the Java Platform, Standard Edition 6 (CX-310-065) da Sun.

SCJP é a certificação de programação na linguagem Java, a mais fundamental no caminho de Certificações Sun para a Tecnologia Java. É também uma certificação bem reconhecida no mercado de trabalho. A nova versão do SCJP atualiza o programa da para cobrir Java SE 6.0.

Para saber mais:


Entrando na programação de páginas web, vale a pena ler The Problem With innerHTML, por Julien Lecomte, 2007-12-12.

E do HTML para o CSS. A escala graduada de 1 a 6 para Rate Your CSS Skill Level: Final Version & Poll montada pelo portal CSS-Tricks oferece critérios para você avaliar em que nível está sua habilidade com CSS. Minha auto-avaliação foi de 4. Para atingir 6, você tem que estar em estado graça ou ser membro da especificação no W3C. 😀


Da programação para os utilitários nerd. Hoje descobri algo interessante para quem às vezes lida com a linha de comando no Windows. Windows PowerShell. Esta janela de console melhorada virá no Windows Server 2008, mas qualquer usuário de Windows original (com a devida validação WGA) pode baixar gratuitamente da Microsoft.

Download Windows PowerShell 1.0PowerShell 1.0 para Windows XP Português do Brasil (KB926140).

Documentação: Windows PowerShell Documentation Pack (para baixar, em inglês e outros idiomas).

Já para quem conhece e sente falta dos comandos do Linux ao usar a linha de comando do Windows, recomendo meu velho conhecido GnuWin32, projeto em SourceForge que porta pacotes de utilitários GNU/Posix para Windows nativo (usando MinGW). O projeto disponibiliza centenas de pacotes binários, em arquivos ZIP para baixar.

Recomendo obter a ferramenta GetGnuWin32, que traz um script que baixa/atualiza todos os pacotes mais recentes do GnuWin32, e outro que descompacta todos os pacotes em uma pasta gnuwin32. Depois é só copiar/mover essa pasta para onde achar mais adequado (por exemplo, C:\ ou C:\Arquivos de programas\) e adicionar gnuwin32\bin ao PATH. Feito isso, grep, find, sed, tar, diff e mais quase mil outros comandos estarão disponíveis na linha de comando do Windows (inclusive na PowerShell).


Por falar em Linux, uma última nota. O IDG Now! noticiou que as Urnas usarão Linux em eleições de 2008.

O TSE autorizou a substituição dos sistemas operacionais VirtuOS e Windows CE para o sistema aberto Linux, adaptado pelo próprio órgão, em todas as 430 mil urnas eletrônicas usadas nas eleições de 2008, que escolherão prefeitos. Segundo o Tribunal, o objetivo é conferir mais transparência e confiabilidade à urna e ao processo eleitoral.

Artigo Eclipse 3.3 atualizado

Com o lançamento do JBoss Developer Studio como produto comercial, meu artigo Monte seu Eclipse 3.3 ou 3.2 foi atualizado para refletir essa situação.

Quem quiser uma instalação gratuita simples e completa do Eclipse, especialmente com um bom leque de ferramentas para Java EE, vai ter que :

  • continuar juntando manualmente dezenas de plug-ins; ou
  • experimentar o novo serviço Pulse da Genuitec; ou
  • esperar novas distribuições atualizadas, como a independente EasyEclipse (que ainda não atualizou boa parte dos plug-ins para Eclipse 3.3) ou o próximo lançamento anual da fundação Eclipse.

Veja também o artigo How to Manage Your Eclipse Add-Ons Painlessly (em inglês), por Chris Grok, 2007-12-13.

Enquanto isso, o atraente NetBeans IDE 6 vai ganhando mais adeptos, com suas facilidades e recursos prontos out-of-the-box.

JBoss Tools 2 e Developer Studio

Aconteceu o segundo dos três lançamentos que eu esperava. Depois do NetBeans IDE 6.0 dia 3, agora foi a vez do JBoss Developer Studio — originalmente levava a marca RedHat, em vez de JBoss — IDE Java baseado no Eclipse Europa 3.3 e que há vários dias estava em Release Candidate.

Desta vez porém, em minha doce inocência, tive certa decepção. O novo JBoss Developer Studio foi lançado como um produto pago, com a licença custando $99 dólares.

Contudo, o principal pacote de ferramentas integradas no Developer Studio, JBoss Tools 2.0, está disponível como software livre. O JBoss Tools, superconjunto sucessor do antigo JBoss IDE, engloba:

  • RichFaces VE: editor visual web contribuído pela Exadel, com suporte para HTML e páginas JSF (com JSP e Facelets) e a bibliotecas de componentes como JBoss RichFaces.
  • Seam Tools : suporte a seam-gen, integração com RichFaces VE, code completion, refactoring e outros recursos voltados para JBoss Seam.
  • Hibernate Tools: suporte a arquivos de mapeamento, anotações JPA (inclusive engenharia reversa), code completion, assistentes de projeto, refactoring, execução interativa de HQL/JPA-QL/Criteria execution e outros recursos para Hibernate. É a fusão do Hibernate Tools com Exadel ORM.
  • JBoss AS Tools: facilidades para iniciar, parar e depurar servidores de aplicação JBoss AS 4+ de dentro do Eclipse. Também inclui recursos para empacotamento e distribuição (deployment) eficiente de projetos Eclipse.
  • Drools IDE: edição de arquivo de regras, Rete View, inspeção/depuração de memória em uso.
  • JBPM Tools: edição e deployment de workflow (fluxograma) JBPM.
  • JBossWS Tools: inspeção, chamada, desenvolvimento e teste functional/carga/compliance de web services sobre HTTP. Ferramental base provido por soapUI com adição de suporte/recursos específicos para JBossWS.

JBossTools Downloads disponíveis para baixar como plug-ins do Eclipse.

SwingLabs PDF Render

Eis um interessante lançamento de software Java do dia 12, segundo dica de Dyego Carmo. Joshua Marinacci contou o segredo do lançamento do SwingLabs PDF Render, biblioteca para visualização e impressão de documentos PDF lançada como um projeto de software livre, licença LGPL.

O código do PDF Render remete a 2003, criado por pesquisadores da Sun originalmente para uma ferramenta interna de colaboração objetivando os documentos gerados pelo pacote OpenOffice. Atualmente implementa a maior parte da especificação PDF 1.4, deixando de forma apenas recursos específicos como transparência, preenchimento formulários e certas codificações de fonte. Espera-se que desenvolvedores interessados na comunidade de software livre ajudem o projeto contribuindo para os recursos ausentes.

Uma alternativa ao SwingLabs PDF Render é a biblioteca PDF JPedal. Em ativo desenvolvimento desde 1997, JPedal é uma solução 100% Java para impressão, visualização e extração de conteúdo de arquivos PDF, inclusive formulários, para desenvolvedores integrarem PDF em suas aplicações Java. JPedal está disponível em licenças comercial e GPL. Suporta a maior parte da especificação PDF 1.7. Inclui extensa coleção de exemplos de aplicações e uso, com documentação completa no wiki de suporte.

Para saber mais: