Friday, February 08, 2008

Development Trends

É comum encontrarmos em sites de tecnologia ou em blogs algumas opiniões sobre qual a linguagem/plataforma que mais está sendo utilizada para desenvolvimento de aplicações.

Para saber o que realmente está acontecendo resolvi fazer uma consulta ao mestre Google (mais especificamente ao Google Trends). O resultado está no gráfico abaixo:


É notável que Java vem perdendo espaço ao longo dos anos para outras linguagens/plataformas. Acredito que em muitos dos casos é em virtude dos seguintes fatores:

  • Burocracia no desenvolvimento (arquivos XML, deployment descriptors, taglibs, frameworks para apresentação-integração-persistencia, deployment de WARs-JARs-EARs-CARs etc)
  • Nível de conhecimento necessário para se criar "boas" aplicações (Design Patterns, Tiers/Layers, Estratégias de integração e persistência, etc).

    "Neste ponto quero ressaltar que todos os itens mencionados acima deveriam ser considerados em qualquer desenvolvimento, independente da plataforma ou linguagem. Porém é mais comum ver isso nas pessoas que conhecem Java."


  • Complexidade na criação das tarefas básicas, como por exemplo, criar um CRUD.

Minha opinião é: existe espaço para todas elas, principalmente para o desenvolvimento com todos os pontos ruins acima. A escolha certa fica pela combinação do nível de conhecimento da tecnologia e pelo grau de complexidade da aplicação. Abaixo segue alguns de meus critérios na hora de começar um novo projeto (desde que eu tenha escolha, é claro):

  • .NET: É interessante utilizar a produtividade do Visual Studio para se criar aplicações que não demandem de tantas complexidades técnicas. A produtividade é notável, principalmente se aliado a componente de terceiros (AJAX, Gráficos e Relatórios), e os resultados tendem a agradar os usuários, que é o que mais importa.
  • Java: Para tarefas mais complicadas de integração, requisitos apurados de desempenho, necessidade da multiplataforma e outras coisas complicadas eu defendo sua utilização, principalmente devido a dois principais pontos: sucesso no desenvolvimento de aplicações críticas e liberdade com a vasta opção de componentes open-source.

SCEA Book Reviews

Em umas de minhas passadas pelo JavaRanch encontrei um post interessante sobre alguns Book Reviews para turma que pretende estudar para a prova de arquiteto - SCEA.

Segue o link para o site Ecletic Programmer: http://eclecticprogrammer.com/

Ateh mais!

Sunday, January 06, 2008

Java EE Learning Path

Como havia mencionando há algum tempo atrás, estou compartilhando um pouco de minha lista de livros favoritos para o aprendizado de Java EE.
É claro que aprender sobre JEE leva um pouco de tempo devido à grande quantidade de tecnologias, protocolos e frameworks, portanto não espere ler apenas um livro e “cabum!!!” agora você já é o “bam bam bam” de Java.
O trabalho é árduo, leva-se um bom tempo lendo livros, revistas, sites, blogs, fóruns, fora a experiência em campo desenvolvendo aplicações das mais variadas.
Sem mais delongas segue abaixo minha sugestão de leitura:

Primeiro Passo: Apesar de ser um livro grande e que aborda praticamento todos os pontos da plataforma eu acredito que é um bom começo, principalmente por estar disponível no site da Sun (http://java.sun.com/javaee/5/docs/tutorial/doc/).

Java(TM) EE 5 Tutorial, The (3rd Edition).
ISBN: 0321490290


Segundo Passo: Após ter um visto todas as possibilidades da plataforma, o próximo passo é entender bem sobre as principais tecnologias do Container JEE.

Head First Servlets and JSP.
ISBN: 0596005407


Head First EJB (Brain-Friendly Study Guides; Enterprise JavaBeans).
ISBN: 0596005717


Core JavaServer(TM) Faces (2nd Edition) (Core Series).
ISBN: 0131738860


Terceiro Passo: Entenda as principais frameworks utilizadas no desenvolvimento de aplicações corporativas.

Agile Java Development with Spring, Hibernate and Eclipse.
ISBN: 0672328968


Building Spring 2 Enterprise Applications.
ISBN: 1590599187


Quarto Passo: Projete aplicações corporativas como elas realmente devem ser construídas. "Be an architect!"

Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition).
ISBN: 0131422464


Core Security Patterns: Best Practices and Strategies for J2EE(TM), Web Services, and Identity Management (Core Series).
ISBN: 0131463071


Head First Design Patterns (Head First).
ISBN: 0596007124


Software Engineering: (Update) (8th Edition).
ISBN: 0321313798

Saturday, January 05, 2008

Happy New Year 2008

Bom, um ano sem postar uma misera linha no meu blog resolvi retomar as atividades agora em 2008.

Problemas de tempo a parte, pretendo começar o ano com o pé direito desejando um Feliz Ano Novo aos leitores.