O Java é atualmente uma das linguagens mais utilizadas em todo o mundo, em ainda em crescimento nas empresas, através de novas adoções. Uma coisa que se deve mencionar é que hoje o Java não é apenas uma linguagem, mas sim uma plataforma de desenvolvimento. Neste artigo serão mostradas as vantagens de se programar em Java, as principais plataformas, além das futuras novidades desta tecnologia.

Nos últimos anos o Java vem sendo usado por todo o mundo dentre as características podemos citar as seguintes:

  • Aprenda Java e programe em uma qualquer plataforma: Uma das grandes vantagens do Java é que ele além de ser uma linguagem é uma plataforma de desenvolvimento. Com ele é possível desenvolver aplicações para desktop, celular, cartão, web, televisão digital, etc. (as plataformas serão descritas melhor no decorrer deste artigo).
  • Comunidades: Os grupos de usuários Java são muito fortes em todo o mundo e graças a eles é possível obter material para estudos de maneira fácil, participar de encontros regionais, palestras e até minicursos. Neles também é possível trocar experiência com pessoas que já atuam na área a mais tempo. Uma das novidades para a comunidade é a participação do SouJava, grupos de usuários Java em São Paulo no JCP (Java Community Process).
  • Grande número de frameworks: Graças ao investimento das comunidades e também de algumas empresas, existem hoje uma variedade de frameworks que visam facilitar o trabalho do desenvolvedor.
  • O Java não roda somente Java: A máquina virtual Java atualmente roda cerca de 350 linguagens com pontos interessantes, por exemplo, o Groovy linguagem dinâmica, Scala que é específica para concorrência dentre outras linguagens como JPython , Python, Jruby e o Ruby.
  • Desenvolva em qualquer sistema operacional para qualquer sistema operacional: Quando se compila um arquivo em Java ele gera um bytecode que é interpretado numa JVM. Bastando que o seu sistema operacional tenha uma JVM, será possível executar o Java nos sistemas operacionais Windows, GNU/Linux e Mac. Suas principais IDES, podemos citar o Eclipse e o Netbeans, rodam em Java ou seja se pode programar em qualquer sistema operacional.

Plataformas Java:

Como já dito anteriormente o Java não se resume em uma linguagem, mas é uma plataforma de desenvolvimento.

  • JSE: Java Standard Edition. A versão básica do Java com ela é possível desenvolver diversos aplicativos para desktop, normalmente aqueles que querem se aprofundar nessa tecnologia começam por essa plataforma. Existem pacotes para se desenvolver programas em console ou, por exemplo, Swing que se pode desenvolver software com interface gráfica.
  • JME: Java Micro Edition é a plataforma voltada para o desenvolvimento de embarcados e dispositivos móveis, atualmente essa plataforma é muito popular entre os celulares. Ela foi dividida em duas frentes: Para os dispositivos com poder computacional limitado CLDC, Connected Limited Device Configuration, e dispositivos com um poder computacional um pouco maior CDC, Connected Device Configuration.
  • Java TV: Dentro da plataforma JME, o Java TV traz uma API que ter permite o desenvolvimento para a Televisão Digital com recursos como fluxo de áudio e vídeo, acesso aos dados nos canais de transmissão, sincronia das mídias dentre outros. Esta tecnologia veio a ser amplamente estudada e desenvolvida após a definição do padrão de televisão digital brasileiro.
  • Java FX: Essa plataforma visa a criação da Internet rica, aplicações web com características de um programa tradicional de um desktop, em diversos dispositivos (desktop, browser, telefone celulares, TVs, video-games, Blu-rays players etc.).
  • JEE: Java Enterprise Edition é uma versão voltada para as empresas e para aplicativos web. Uma grande característica dessa plataforma é a necessidade de um servidor de aplicação. Recentemente recebeu a atualização para a versão 6, dentre os frameworks dessa plataforma podemos citar:

    JSP (Java Server Pages): De uma maneira geral ele executa Java em sua página.

    JPA (Java Persistence API): Ele funciona como um padrão dos padrões de persistência. Com ele se pode modificar de framework de persistência (hibernate, toplink etc) com impacto zero em sua aplicação.

    JSF (Java Server Faces): Framework responsável pela camada de visão muito indicado para programas que utilizarão o padrão MVC (Model View Control), uma de suas características é o uso do AJAX de maneira nativa.

  • Java Card: Programação voltada para o desenvolvimento de cartões inteligentes. Um dos seus principais benefícios do seu uso é a portabilidade e a segurança. Esses dispositivos vêm crescendo nos últimos anos e tendem a crescer ainda mais.

O futuro do Java

Assim como a tecnologia da informação, as linguagens passam por constantes mudanças para se adaptar aos novos mercados. Com o Java esse processo não é diferente. A seguir são mostradas algumas novidades que virão neste ou nos próximos anos.

  • Suporte a um maior número de Linguagem: O projeto “Da Vinci Machine” tem como maior objetivo incrementar ainda mais o número de linguagens que rodam em cima da JVM. A ideia é fazer, invokeDynamic, criar instruções na JVM para ativar bytecodes externos.
  • Java 7 e 8: Com o objetivo de trazer novidades mais rápido o Java 7 foi dividido em dois projetos (Java 7 e Java 8). O primeiro tem o objetivo de ser entregue no segundo semestre de 2011. Dentre seus recursos podemos destacar: switch com String, inicialização dinâmica de collection iniciado (diamante), tratar várias exceções em um mesmo bloco (multi-catch). O Java 8 está previsto para ser entregue no segundo semestre de 2012, e dentre as novidades podemos destacar: suporte a closures (projeto lambda), manipulação de I/O de maneira mais fácil (Automatic Resource Management).
  • Java FX 2.0: Previsto ainda para esse ano essa a remoção do Fx script para Java, isso permite o uso do javafx em linguagens alternativas como o Groovy e o Scala, além da integração com o HTML5. Essa versão tende a agradar a vários desenvolvedores da linguagem podendo ser visto como “Swing 2.0” sem falar que pode ser integrado com a web e para dispositivos móveis.
  • Java ME: Nessa plataforma promete ser incrementada a função de renderização de Javascript e HTML 5, com isso a plataforma ganha aplicações web além de se ganhar um browser baseado no webkit além da facilidade na inserção do javaFX 2.0 na plataforma mobile.
  • Java EE 7: Nesta plataforma voltada para aplicações web se trará as novas versões do JSF 2.1, JPA 2.1 e JAX-RS 2.0 a integração com o HTML 5 será muito forte, ferramentas para desenvolvimento em computação nas nuvens além de desta plataforma já está usando o potencial do Java SE 7.

Conclusão

Neste artigo foi falado da linguagem Java, seus benefícios, principais plataformas além das novidades que vem por aí nesses próximos anos. Essa tecnologia tende a ser amplamente desenvolvida sobre tudo para os dispositivos móveis, web e a computação nas nuvens. Essas tecnologias estão começando a se integrar ao HTML 5 que está com a sua data prevista para 2014, já que há uma tendência muito forte das aplicações se concentrarem na arquitetura web e na arquitetura mobile.

Referências

Para saber mais sobre Closure e o projeto Lambda: