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.

1 comment:

Anonymous said...

Teste comentário!