Posts Tagged "java"

Software Craftsmanship com Uncle Bob Martin

Posted by on Nov 30, 2009 in Agile | 3 comments

O pessoal da Software Engineering Podcast acabou de publicar a entrevista de Markus Völter com o consagrado Robert C. Martin, também conhecido como Uncle Bob Martin autor diversos livros como Clean Code e evangelista do movimento Software Craftsmanship. Recomendo que todos ouçam ao podcast (em inglês) na integra, mas gostaria de enfatizar alguns pontos importantes.

Sobre o Arquiteto de Software

Foto por Anirudh Koul

Foto por Anirudh Koul

Segundo Uncle Bob, pensar arquitetura e design vale muito a pena, porém, ele não gosta nada da idéia de se separar a arquitetura da codificação. Os melhores arquitetos são aqueles que codificam e vivem no “mundo que constroem para os outros”, disse. Se um arquiteto não codifica ele fica desconectado das decisões que toma, porque não é afetado por elas, ele  ”não tem que dormir na cama que faz”.
O importante é que arquitetos mantenham seus dedos no teclado, a final, você não pode liderar um time a menos que os conheça e entenda. Você tem que experienciar o que o time está fazendo para saber o que ele realmente precisa.

Documentação

O código é documentação mais imporante. Todos os outros documentos devem refletir o que o código faz. O código digire todos o resto e não é apenas resultado de outros documentos como sugure o waterfall.

Software Crafsmanship

O termo foi criado com a publicação do livro de Pete McBreen em 2002.  Fala-se sobre aprender com mestres. Aprenda as habilidades e como tomar decisões, mas você deve aprender com outras pessoas ajudando-as a fazerem seu trabalho.

  • Você deve sentir orgulho da forma que você trabalho.
  • Sinta orgulho de poder fazer Test Driven Development.
  • Sinta orgulho de ter alta cobertura de código.
  • Sinta orgulho de desenvolver software de alta qualidade.
  • Sinta orgulho de ter um bom design de código.
  • Sinta orgulho de desenvolver software que realmente agregue valor de negócio aos clientes.

Uncle Bob sugere como práticas TDD, Integração Contínua e Programação em par, e afirma que bons times trabalham em par na maior parte do tempo, no entanto, afirma que não se deve ser religioso quanto a isso, “você não precisa trabalhar em par 100% do tempo”, diz.

Qualidade e Relacionamento com Clientes

Não basta funcionar, o software deve ser bem escrito e fácil de manter. Foque em agregar valor. Deve haver um parceira com os clientes. Você deve realmente envolver-se com as decisões tomadas e garantir que o que cliente pede realmente vai agregar valor para ele. Não faça simplesmente porque é seu trabalho se você já sabe que não vai dar certo. Comprometa-se com o resultado do seu trabalho.

Produtividade

Aprenda os Shortkeys (atalhos de teclado). Tente fazer o máximo que você puder sem usar o mouse. Um desenvolvedor de software deve estar altamente integrado com seu ambiente.
Utilize uma boa ferramenta de SCM (Source Code Control), o CVS é razoável, o SVN é melhorzinho, mas meu favorito é o Git.

Bug Tracking Systems são importantes, mas use com certo cuidado. Devem ser leves  e simples de usar.
Use ferramentas para teste como  jUnit (xUnit), rSpec, Cucumber, JBehave e Fit.
Linguagens dinamicas são muito produtivas e se você faz TDD o “perigo” vai embora. Você não precisa mais de um compilador para te dar uma falsa segurança.

Desenvolvimento de Carreira

A coisa mais importante para um desenvolvedor de software é noção de aprendizado contínuo. Você nunca pode parar de aprender. É como um médico.

Você deve aprender o máximo de linguagens que puder, e deve conseguir escrever código em todas essas linguagens ainda que não seja um especialista em todas elas. Não adianta. Aprenda no mínimo uma linguagem estática, uma dinâmica e uma funcional. Robert diz que todos devem aprender LISP.

Recado de Uncle Bob no Rails Conf 2009

Uncle Bob Martin na RailsConf 2009 porFabio Akita no Vimeo

Mais Informações sobre Robert C. Martin

Read More

Os Melhores Podcasts de Tecnologia para Desenvolvedores

Posted by on Nov 20, 2009 in Agile, Featured | 5 comments

Um dos maiores problemas da sociedade moderna é a dificuldade de locomoção diária, a maioria das pessoas passa horas em seus carros, ou em meios de transporte públicos para irem de lugar a outro. Há alguns anos atrás quando morava na zona norte de São Paulo e trabalha na zona sul, essa era minha realidade. Uma vez que naquela época passar por isso era inevitável procurei formas de fazer com esse tempo pudesse de alguma forma torna-se produtivo, foi então que comecei a ouvir à podcasts.

iPod por Dan Taylor

iPod por Dan Taylor

De acordo com a Wikipedia, Podcasting é uma forma de publicação de arquivos de mídia digital (áudio, vídeo, foto, etc.) pela Internet, através de um feed RSS, que permite aos utilizadores acompanhar a sua atualização. Assim, é possível o acompanhamento e/ou download automático do conteúdo de um podcast.

Neste post apresentarei os podcasts aos quais escuto e os episódios principais para que você ouça. Sugiro que você utilize o iTunes para inscrever-se nos podcasts e sincronizar com seu iPod.

Desenvolvimento Ágil

por pcalcado

por pcalcado

Podcast da ImproveIt

por Vinícius Teles
http://improveit.com.br/podcast
Português

AgilCast

Por AgilCoop
http://agilcoop.incubadora.fapesp.br/portal/agilcast
Português

Bluesoft Podcast

Por André Faria e Luiz Faias Jr.
http://podcast.bluesoft.com.br
Português em Áudio e Vídeo

 

Agile Toolkit Podcast

http://agiletoolkit.libsyn.com
Inglês

The Agile Podcat

Inglês
http://www.agilepodcast.com
 
 

ThoughtWorks Podcast

http://www.thoughtworks.com/what-we-say/podcasts.html
Inglês

Open Source

FLOSS Weekly

por Leo Laport, Jono Bacon e Randal Schwartz
Inglês

Java

HorecaExpo - Java por bramloquet

HorecaExpo - Java por bramloquet

JBoss Community Asylum

Podcast da Comunidade JBoss
Inglês
http://asylum.libsyn.com

JavaPosse

Por Tor Norbye, Carl Quinn, Dick Wall e Joe Nuxoll
Inglês
http://www.javaposse.com

Java Technology Insider

Inglês
http://www.javaworld.com/podcasts/jtech

Grails Podcast

Por Glen Smith e Sven Haiges
http://grailspodcast.com

Ruby

Ruby on Rails por Andrew*

Ruby on Rails por Andrew*

Rails Envy

Por Jason Seifer e Gregg Pollack
Inglês
http://railsenvy.com

Rails Podcast

por Geoffrey Grosenbach
Inglês
http://podcast.rubyonrails.com/

Rubiverse Podcast

Por Mike Moore
Ingles
http://rubiverse.com

JavaScript

jQuery Podcast

Inglês
http://blog.jquery.com/2009/11/13/announcing-the-official-jquery-podcast/

yayQuery Podcast (jQuery)

Inglês
http://yayquery.com/

Audible Ajax

Inglês
http://ajaxian.com/by/category/podcasts

Gadgets

GeekBrief TV

por Cali Lewis
Inglês
http://www.geekbrief.tv

Software

Desk por Guillermo Esteves

Desk por Guillermo Esteves

Pragmatic Podcasts

por Pragmatic Bookshelf
Inglês
http://www.pragprog.com/podcasts

Software Engineering Radio

por Software Engineering Radio
http://www.se-radio.net
Inglês

Elegant Code

por Elegant Code Community
http://elegantcode.com
Inglês

Google Developer Podcast

http://code.google.com/p/google-developer-podcast/downloads/list
Inglês

Hearding Code

http://herdingcode.com
Inglês

The Dev Show

Inglês
http://5by5.tv/devshow

The Changelog

Inglês
http://thechangelog.com/

Tecnologia

IT Conversations

http://itc.conversationsnetwork.org
Inglês

net@Night

por Amber MacArthur e Leo Laport
http://www.twit.tv/natn

Twit – This Week in Tech

por  Leo Laporte, Jeff Jarvis, Baratunde Thurston, e John C. Dvorak
http://www.twit.tv/twit

MacBreak Weekly

por Leo Laporte, Don McAllister, Paul Kent, and Andy Ihnatko
http://www.twit.tv/mbw

This Week in Google

por Leo Laporte, Gina Trapani, Jeff Jarvis e Mary Hodder
http://www.twit.tv/twig

SitePoint Podcast

inglês
http://www.sitepoint.com/podcast

Empreendedorismo e Negócios

37 Signals Podcast

por 37 Signals
Inglês
http://37signals.com/podcast

Max Gehringer (CBN)

por Max Gehringer
Português
http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm

Mundo Corporativo (CBN)

por Heródoto Barbeiro
Português em Áudio
http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm

The Startup Success Podcast

http://startuppodcast.wordpress.com
Inglês

TED Talks

por TED Talks
Inglês
http://www.ted.com

Stanford Technology Ventures

por Stanford
Inglês em Áudio e Vídeo
http://stvp.stanford.edu
Entrepreneurial Thought Leaders
por Stanford

 

Se você quiser incluir algum outro podcast nesta lista, deixe um comentário. Espero que seja Útil!

Read More

O futuro do Java em meio a computação em nuvem

Posted by on Nov 16, 2009 in Eventos | 6 comments

Aconteceu nos dias 6 e 7 de novembro de 2009 a 3ª edição do evento The Developers Conference realizado pela Global Code. Diferente do ano passado houve apenas uma trilha, porém maior enfoque em palestrantes internacionais.

Em sua palestra “Major Trends in Enterprise Software Development”, Rod Johnson, fundador da SpringSource, apresentou um pouco sobre a sua visão do futuro da linguagem e da plataforma Java e as novas tendências que o mercado de Tecnologia da Informação deverá seguir nos próximos anos. Gostaria de explorar um pouco os tópicos que foram abordados e registrar minhas impressões.

Bancos de Dados e a Computação em Nuvem

Foto por Florin Mogos

Foto por Florin Mogos

Segundo Rod, o mercado de tecnologia da informação está sofrendo grandes transformações em virtude da computação em nuvem (Cloud Computing) e do fato de o maior custo ter sido movido de hardware para pessoas.

A computação em nuvem não é somente uma modismo imposto por fornecedores de ferramentas como foi SOA

Em meio a essa realidade uma série de suposições tornou-se questionáveis como, por exemplo, a forma com que os dados são armazenados. A maioria esmagadora dos softwares construídos na atualidade utiliza bancos de dados relacionais, porém, sabe-se que estes não famosos por sua habilidade de escalar aplicações. Neste cenário, bancos de dados orientados a documentos ou Document Stores vêm ganhando mais e mais espaço. O Google Big Table, o Hadoop e o Couch DB são exemplos de soluções inovadoras que devem ser consideradas. As aplicações do futuro deverão ser capazes de lidar com novos tipos de bancos de dados.

Google, Amazon, Facebook e LinkedIn utilizam bancos de dados NÃO Relacionais.

A computação em nuvem oferece escalabilidade dinâmica, a cobrança é realizada de acordo o consumo que as aplicações demandam, e a plataforma que suporta a aplicação passa a ser vista com um serviço (PaaS – Plataform as a Service). “A cada dia faz menos sentido para a maior parte das organizações possuírem e manterem seus próprios DataCenters” afirmou Rod, “É como fábricas que já não fabricam sua própria energia elétrica”.

E o Java Está Morto?

Coffe por databhi

Coffe por databhi

É fato que com a popularização de linguagens dinâmicas como Ruby e Python e em virtude da produtividade de frameworks para desenvolvimento de softwares para a web como Rails e Django muitas pessoas já se perguntaram: ‘A final de contas será que Java está morrendo?’. Muitos também vêm se questionado sobre as intenções da Oracle (que recentemente comprou a Sun) em relação à plataforma.

Penso que quanto a isso, a resposta é muito simples:

As pessoas estão acordando e começando a utilizar as ferramentas certas para resolver os problemas que têm.

Como disse Fred Brooks: ‘Não existe bala de Prata!’, isso é, não uma única solução que resolva todos os problemas. Java ainda faz muito sentido resolver muitos problemas, Ruby faz muito sentido para resolver outros, Erlang para outros, Scala para outros…
Resumindo, Java não está morto, no entanto já não é uma linguagem inovadora, e outras linguagens estão ganhando seu merecido espaço, não se acomode, corrá atrás de entender as motivações por trás dessas novas tendências, e, sobretudo, os princípios por trás delas.

No DevInRio, o Guabanara gravou uma entrevista com Guilherme e Paulo Silveira da Caelum em que esse assunto foi tratado com autoridade. Ouça ao MP3 ou assista o vídeo no Vimeo do  Guilherme Chapiewski.

Já em relação a Oracle, Rod, afirmou que a empresa depende de tecnologia Java para atingir o sucesso, não é novidade que muitas soluções da Oracle são altamente dependes da plataforma Java e é obvio que a empresa não vai arruinar com tudo sem mais nem menos.

Para Rod, Java provavelmente será a última linguagem genérica de adoção em massa e no futuro mais e mais linguagens para finalidades específicas ganharão espaço no mercado, e muitas dessas novas linguagens serão executadas na Java Virtual Machine (JVM). Soluções integradas como Rails, Grails e Spring Roo tendem a ganhar espaço em virtude da alta produtividade que proporcionam.

Parabéns a Global Code pela realização do Evento!

Read More

Saiba tudo sobre o JavaOne 2009

Posted by on Jun 14, 2009 in Eventos, Software | 8 comments

No ano passado eu tive a excelente oportunidade de participar do JavaOne 2008, foi uma experiência muito enriquecedora e apesar de este ano não poder estar lá presente, eu não poderia deixar de fazer um levantamento dos principais acontecimentos e novidades apresentadas no evento para ficar por dentro de tudo, e claro, deixar vocês, queridos leitores, em dia também.

O Slogan do evento no passado foi Java +You ou Java + Você, neste ano houveram três: Java  = Everywhere ou Java = Em toda a parte, Java + Community = Powerful ou Java + Comunidade = Poder e Java = Innovation ou Java = Inovação. Um outro acontecimento especial deste ano é o aniversário de 14 anos do Java, o vídeo abaixo, que foi exibido na abertura do evento, apresenta rapidamente alguns pontos fortes da evolução que a tecnologia sofreu ao longos dos anos:

O presidente da Oracle Corporation, Larry Elisson afirmou que a Oracle sempre investiu na plataforma Java e que agora investirá mais do que nunca. Veja alguns momentos no KeyNote no vídeo abaixo:

James Gosling apresentou a Java Store, um site que catalogará aplicações Java que poderão ser instaladas facilmente em seu computador, algumas delas simplesmente através de drag-and-drop no desktop (arrastar e soltar).

No segundo dia, houve uma General Session chamada Your Lifestyle: Mobile, TV and Beyond em foi demonstrado o uso de Java nos mais diversos dispositivos como celulares, televisores, Blu-ray, etc e destacou-se como o JavaFX poderá ampliar ainda mais este mercado em expansão.

The Gospel of Java

Esse divertido vídeo foi apresentado em uma General Session e conta a história do Java.

JavaFX

Falou-se bastante sobre as novas tecnologias Java SE 7 SDK, Java EE 6  e Jaxa FX 1.2, mas principalmente sobre Java FX, essa tecnologia recebeu grandes investimento da Sun e promete transformar a forma com que se desenvolve aplicações de alta qualidade de ambiente gráfico com Java. Os dois vídeos abaixo publicados por Augusto Sellhorn do Blog Sellmic.com exibem parte de uma demonstração de JavaFx em que é possível ver ferramentas de animação JavaFX muito semelhante com que se conhece com Adobe Flash e Microsoft Silverlight.

O pessoal do JavaPosse entrevistou Octavian Tanase e Jacob Lehrbaum sobre o JavaFX, vale a pena conferir (em inglês).

Brasileiros no JavaOne

Mais uma vez o Brasil foi muito bem representado por congressistase palestrantes que marcaram o evento. Magno Cavalcante e Clayton Chages apresentaram a Technnical Session: “Java™ in the Brazilian Digital TV: Interactivity and Digital Inclusion on TV“.  Ainda sobre TV Digital, David Campelo apresentou a “TS-4453: New Java Digital TV Standard Goes Brazil“. A Dupla Marlon Luz e Bruno Oliveira, também deixaram suas contribuições brasileiras com a palestra Java ME Myth Busters, confira a entrevista (em português) realizada pelo Sérgio do JavaBahia.

O brasileiro Felipe Gaucho que atualmente trabalha na Suiça esteve no evento e postou em seu blog suas impressões. O Baiano, Serge Rehem doJavaBahia também participou do evento registrou sua impressões.

O Classpath está morto!

Mark Reinhold, Chief Engineer do Java SE, disse isso durante a demonstração da forma com que o Java 7 gerenciará módulos. Vale a pena dar uma olhada no projeto Jigsaw que tem como objetivo resolver de forma eficiente as questões da modularização no JDK, esse projeto está sendo construindo segundo a JSR 294: Improve Modularity Support in the Java Programming Language. Segundo Raja Islam o benefício principal que será alcançado com a modularização será a redução do tempo de carga e deploy de aplicações Java.

Microsoft no JavaOne

Pode parecer estranho, mas a Microsoft apresentou a General Session do terceiro dia do JavaOne. No momento em acontecem as General Sessions não há nenhuma outra apresentação ocorrendo simultaneamente e todos os congressistas presentes participam, ou seja, são apresentações de grande importância e alcançam a maior parte do publico do evento.

Dan’l Lewin, Vice Presidente Corporativo da Microsoft, falou sobre esforço que vem sendo realizado a cinco anos desde o inicio da parceria entre a Microsoft e Sun para promover a interoperabilidade entre aplicações Java e .NET, segundo Lewin em uma entrevista realizada pela Microsoft no ano passado com mais de 5 milhões de pessoas, constatou-se que 73% dos entrevistados trabalhando em ambientes mistos (Java + .NET). Para maiores informações visite www.interoperabilitybridges.com.

Outras linguagens sobre JVM

Ola Bini da ThoughtWorks,  famoso por participar ativamente na comunidade open source e por desenvolver a linguagem de programação Ioke, também participou do evento e destacou o projeto Da Vinci, segundo ele, essa tecnologia contribuirá para que a Java Virtual Machine se torne melhor. Ola Bini também apresentou sua BOF 4434: Hacking JRuby.

BOF significa (Birds-of-a-Feather), as BOFs  são palestras informais, interativas e flexíveis. No JavaOne, geralmente acontecem no final do dia com assuntos complementares aos discutidos nas technical sessions (TSs) ou palestras técnicas que acontecem durante o dia.

Charles Nutter também esteve lá falando sobre o projeto JRuby que … No vídeo abaixo, Nutter falou um pouco a tecnologia:

Rich Hickey falou sobre sua linguagem: Clojure, que também roda sobre a JVM. Para saber mais confira os slides de sua “TS-4164 Clojure: Dynamic Functional Programming for the JVM Machine“.

Neal Ford fez uma comparação entre as linguagens Ruby e Groovy em sua “TS-4955: Comparing Groovy and JRuby“.

Falou bastante sobre JRuby, Jython, Scala e Groovy.  Nesta entrevista para o JavaOne, Guillaume Laforge da SpringSource comenta um pouco sobre isso:

Destacou-se também o lançamento da versão 1.6 da linguagem Groovy, confira a “TS-4215: What’s New in Groovy 1.6?” por Laforge.

Bill Venners, da Artima Inc., apresentou um pouco da linguagem Scala em sua “TS-4487: The Feel of Scala“.

Roberto Chinnici falou sobre programação funcional e orientada a objetos com JavaScript, seus slides podem ser visto neste link.

Java, uma plataforma em evolução!

De acordo com Jim White, o Java 7 está previsto para ser lançado em Fevereiro de 2010. Jim participou de algumas palestras que tinham como tema principal a evolução do Java, e disse que muitas das decisões para o Java 7 ainda não foram tomadas, o que indica que ainda há bastante trabalho pela frente. Enquanto ao Java 6, White, diz que será lançado mais cedo, em Setembro de 2009.

Joseph Darcy da Sun Microsystems, na “Ts-4060: Small Language Changes in JDK Release 7” apresentou algumas das mudanças que serão feitas na linguagem Java. Darcy chamou a atenção da comunidade para que torne-se parte da evolução e que participando e contribuindo, através do projeto Coin que tem essa finalidade.

Servlet 3.0

A especificação vem evoluindo através da JSR 315 e entre as principais novidades está a possibilidade de configurações toda a aplicação através de annotations ao invés de utilizar o arquivo web.xml e maior utilização do principio CoC (Convetion over Configuration) que visa diminuir a quantidade de configuração. Existem annotations para registrar Servlets, Filters, Listeners, e até mesmo para declarar regras de segurança e permissões de acesso.

Um outra recurso que ganhou bastante repercussão foram os novos Servlet Assíncronos, para maiores informações confira a “TS-3790: Java Servlet 3.0:Empowering Your Web Application With Async, Extensibility and More” apresentada por Rajiv Mordani, Greg Wikins e Jan Juehe.

Bean Validation

Validação através de metadados nos JavaBeans como no Hibernate Validator. Confira a “TS-5184: Bean Validation: Declare Once, Validate Anywhere – A Reality?” apresentada por Emmanuel Bernard da JBoss sobre o assunto.

Java Server Faces 2.0

Ed Burns e Roger Kitain, ambos da Sun Microsystems, apresentaram a “TS-4640: A Complete Tour of the JavaServer Faces 2.0 Plataform” onde falaram sobre as principais novidades do JSF 2.0. Nesta nova versão do JSF teremos melhor suporte a Ajax, componentes compostos que possibilitará melhor reuso de código e melhor suporte a eventos. E para completar ainda mais a discussão sobre JSF no JavaOne, Kitto Mann da Virtua, na “TS-5205: Writing Killer JavaServer Faces 2.0 UI Components” apresenta diversos conceitos importantes se criar inovadores e eficientes componentes JSF 2.0 e David Allen da RedHat falou sobre fluxo de páginas (page flow) e conversação (converstation) com JSF na “TS-5045: Converstations and Page Flows on the JavaServer Faces Plataform“.

EBJ 3.1

A evolução dos Enterprise Java Beans continua, na versão 3.0 pode-se notar grande avanço e uma simplicidade muito grande ao se comparar com versões anterior, nessa nova versão a meta de aumentar a simplicidade se manteve, por isso, a forma de empacotamento dos aplicativos foi simplificada e criou-se o EJB Lite API, que é um conjunto reduzido das funcionalidades disponíveis na especificação completa do EJB.

Além da simplicidade, novas funcionalidades foram incluídas como por exemplo, objetos Singleton, Callbacks de Startup e Shutdown, Timers baseado em Calendars, Session Beans assincronos e integração com JAX-RS. Para maiores informações confira a “TS-4605: Enterprise JavaBeans 3.1 Technology Overview” apresentada por Kenneth Saks, Senior Staff Engineer da Sun Microsystems.

Java Persistence API (JPA) 2.0

Linda DeMichiel da Sun Microsystems, na “TS-5214: Java Persistence 2.0: What’s New?” apresentou as principais novidades da JPA que evolui através da JSR 317:

  1. Modelagem mais flexível
  2. Novas formas de mapeamento O/R, novas annotations
  3. Java Persistence Query Language mais poderosa
  4. Criteria API
  5. Suporte a Validação
  6. Novos padrões de configuração

A Implementação de Referência ou Reference Implementation (RI) da especificação é o projeto EclipseLink que tem como base o antigo projeto da TopLink da Oracle. Andrei Badea da Sun e Dogule Clarke da Oracle apresentaram na “TS-5018: Developing Java Persistence API Applications with the NetBeans IDE and Eclipse Link” de forma um pouco mais prática como utilizar a nova API. Mike Keith da Oracle fez uma apresentação completa sobre os conceitos de mapeamento da JPA na “TS-5265: A Java Persistence API Mapping Magical Mystery Tour“.

Context Dependency Injection for Java EE

Gavin King da RedHat apresentou na “TS-6726: Context and Dependency Injection for Java Plataform, Enterprise Edition (Java EE Plataform)” uma introdução o que a especificação JSR-299 trará de novo ao Java EE. Segundo King teremos um novo e rico modelo de gerenciamento de depedências com suporte a objetos statefull, integração da camada web com a camada transacional, será muito fácil construir aplicações utilizando EJB e JSF juntos, e frameworks terceiros poderão facilmente integrar-se a API.

Spring 3.0

Rod Johnson da Spring Source apresentou as novidades do Spring 3.0 na “TS-5225: Spring Framework 3.0: New and Notable“. Segundo Johnson, o trabalho em tornar o desenvolvimento de aplicações Java para Web mais simples e poderoso continua, por isso, os arquivos XML serão ainda mais curtos, havendo necessidade de utilizá-los somente quando for preciso externalizar algum recurso.

A nova versão traz suporte a REST, melhorias no MVC e expression language. O Spring 3.0 será compatível somente com Java 5+.

Spring Roo

O Spring Roo é o mais novo projeto da Spring Source, e segundo Jim White, é uma espécie de Rails, também com muita meta-programação, que tem como base apenas Java e Spring. Rod Johnson disse que a missão do Roo é melhorar dramaticamente a produtividade de desenvolvedor Java sem comprometer a poder e flexibilidade através de geradores de código que proporcionarão a entrega rápida de aplicativos corporativos robustos e de alta performance.

Google Guice

E por falar em Spring, o Google Guice, também vem ganhando bastante espaço no mercado como framework de injeção de dependência, e os Googlers Bob Lee e Jesse Wilson, falaram sobre ele na “TS-5434 Introduction to Google Guice: The Java Programming Language Is Fun Again!“, confira.

Eclipse Galileo

Depois do Calisto, Europa e Ganymede, vem aí o Eclipse Galileo. O lançamento está previsto para 24 de Junho. O release incluirá 48 projetos, o destaca bastante crescimento, ao se comparar como o Ganymede que contemplava apenas 24 projetos. Em 26 de Junho, a Eclipse Foundation fará uma apresentação chamada Galileo in Action onde serão apresentadas as principais funcionalidades do novo realease.

Google App Engine

Como comentei no artigo anterior, o Google App Engine agora possui suporte a Java, e claro, isso não poderia deixar de ser assunto de destaque no JavaOne, por isso, os Googlers, Toby Reyelts, Max Ross, e Don Schwarz, apresentaram a “TS-3817: Google App Engine: Java Technology in the Cloud“.

Effective Java

Joshua Bloch do Google, que teve intensa participação do desenvolvimento da linguagem Java, desde o JavaOne 2007 vem de falando sobre boas práticas de programação, e destacando tópicos de seu livro Effective Java, em sua “TS-5217: Effective Java: Still Effective After All These Years” manteve o mesmo padrão dos anos passados.

Prêmios do JavaOne e Java Toy Show

No último dia do evento, James Gosling apresentou o Toy Show, onde foi apresentado diversas situações onde pessoas e empresas por todo o mundo utilizaram Java de forma inovadora, e também foram distribuídos os prêmios dos ganhadores do Duke’s Choice Award.

Slides e Vídeos

Os slides e vídeos das apresentações estão sendo paulatinamente disponibilizados no site da Sun Developer Network (SDN), não perca a oportunidade de baixar alguns slides para estudar, garanto que tem material de ótima qualidade publicado lá.

Alguns vídeos do CommunityOne também podem ser baixados aqui.

Conclusão

O JavaOne 2009 não trouxe tantas pessoas como anos anteriores, este ano apenas 9.000 pessoas se reunião enquanto em edições anteriores do evento mais de 25.000 estiveram presentes, é claro que existem diversos fatores para que isso tenha acontecido como a crise econômica e a gripe suína, por exemplo, mas de toda forma há uma grande diferentes que nos leva a reflexão. Neste ano o evento nos trouxe diversas tecnologias, frameworks, projetos e iniciativas que prometem manter a plataforma em constante evolução. Fiquemos Ligados!

Read More

Google I/O 2009

Posted by on Jun 1, 2009 in Eventos | 1 comment

Google I/O 2009

Aconteceu no Moscone Center em São Francisco nos dias 27 e 28 de maio de 2009 o evento do Google para desenvolvedores, o Google I/O. Apesar de não ter participado do evento assisti a diversos vídeos publicados no canal Google Developers do YouTube e gostaria de compartilhar com vocês alguns dos tópicos que achei mais interessantes e links para que possam buscar maior aprofundamento.

No Keynote do primeiro dia, Vic Gundontra ,vice presidente de engenharia do Google, liderou a apresentação com a ajuda de grandes personalidades do desenvolvimento de software. O principal assunto foi a “Web como plataforma de desenvolvimento de software” e de forma especial, como o HTML 5 poderá contribuir para o futuro da internet. Gundontra lembrou da tecnologia AJAX que infelizmente só foi explorada de maneira significativa muitos anos depois de sua concepção, “não queremos que o mesmo aconteça com o HTML 5“.

Cinco das principais funcionalidade do HTML 5 foram destadas:

  1. Canvas – Através deste recurso será possível desenhar no browser sem ajuda de ferramentas externas como Flash ou Silverlight.
  2. Video – Haverá um tag especial para inserção de vídeos e estes poderão ser manipulados através de JavaScript.
  3. Geolocation – Você poderá compartilhar sua localização geográfica para que softwares como o Google Maps ou Google Latitude tirem proveito.
  4. Banco de Dados e Cache – Será possível armazenar dados de aplicações no browser para que seja possível desenvolver softwares que funcionem mesmo com conectividade baixa ou nula.
  5. Web Workers – Processamento em background que impedirá os constantes e desagradáveis travamentos do browser.

Outro ponto bastante destacado foi o árduo trabalho que vem sendo realizado por todos os fornecedores de browser para melhorar o desempenho de programas JavaScript, segundo o vice-presidente da Mozilla, c, o Firefox 3.5 será 3 vezes mais veloz do que o que Firefox 3 e 10 vezes mais veloz que 2.0.

Um serviço muito interessante foi apresentado por DeWitt Clinton, Tech Lead, no Google: o Google WebElements, uma série de elementos como mapas, buscadores, agendas, chats, planílhas e apresentações que podem ser incorpadas ao seu site através de poucos cliques.

Além dos tópicos citados, falou-se ainda do suporte a Java no Google App Engine, um pouco de Google Web Toolkit, e claro, do Google Android.

Para maiores informações sobre esses novos recursos do HTML 5, assitam o Key Note  do primeiro dia.

No Keynote do segundo dia, como você provavelmente já ouviu falar o Google apresentou sua nova plataforma de comunicação online, o Google Wave. O Google Wave agrega diversos serviços da web como e-mail, comunicação instantânea, wikis e redes sociais e promete grandes possiblidades de integração e mecanismos para que desenvolvedores possam extender suas funcionalidades. Não entrarei em maiores detalhes, porque seria chover no molhado, mas se você quiser mais informações, assita ao vídeo abaixo.

Read More