O que é Java!?

Muitas pessoas que iniciam na área de programação ficam muito preocupado em que linguagem de programação deva iniciar, e ficam deparados por dois grandes do mercado; Tecnologia Microsoft ou Java!

Como muitos vêem a Microsoft como um pólo econômico e estável, eles não se interessam por conhecer o que é e como trabalhar em Java.

Este tutorial serve para conhecermos panoramicamente o que é Java, de onde veio e como trabalha!

História

Em 1991, a Sun Microsystems deu inicio ao Green Project chefiado por James Gosling. O projeto era uma aposta na convergência de computadores com outros equipamentos.

No inicio, foi lançado o *7 (StarSeven), um controle remoto com uma interface gráfica touchscreen com aplicativos desenvolvidos na linguagem Oak.

 StarSevem e Duke (Mascote Java

A linguagem Oak foi o primeiro nome dado a tecnologia do Java, onde 1995, com o estou da internet, a linguagem foi adaptada para o desenvolvimento de aplicativos web (applets) e foi rebatizada com o nome JAVA.

Em 1997 a Sun Microsystems tentou submeter à linguagem a padronização pelos órgãos ISO/IEC e ECMA, mas acabou desistindo. Java ainda é um padrão de fato, que é controlada através da JCP Java Community Process.  Em 13 de Novembro de 2006, a Sun lançou a maior parte do Java como Software Livre sob os termos da GNU General Public License (GPL). Em 8 de Maio de 2007 a Sun finalizou o processo, tornando praticamente todo o código Java como software de código aberto, menos uma pequena porção da qual a Sun não possui copyright.

 

Hoje temos a estimativa que a linguagem Java mais de 5 milhões de desenvolvedores usa Java como linguagem principal de trabalho, e mais de 3 bilhões de dispositivos utilizam a plataforma Java.

O Java tem estado desde programas de Inteligência Artificial para Robôs, de aplicativos para computadores até aparelhos celulares.

Principais Características da linguagem Java

Portabilidade

 Uma mesma aplicação pode ser executada em diferentes plataformas (hardware e software) sem a necessidade de adaptação de código.

 

Multithreading

Possibilidade de execução de diferentes processos simultaneamente.

 

Suporte a comunicação

Oferece um conjunto de classes para desenvolvimentos de aplicações rodando em rede.

 

Orientação a objetos:

Técnica de programação que modela componentes de softwares em termos de objetos do mundo real.

 

Vantagens:

Modularidade: Permite a criação de pequenos módulos (classes) que integraram um sistema total, ficando mais fácil seu entendimento e sua manutenção.

Reusabilidade: Permite reutilizar classes (módulos de códigos) em outros aplicativos.

Produtividade: Através da modularidade e da reusabilidade, conseguimos mais produtividade, pois, a metade de nossos códigos já estão escritos e podem se reutilizados.

Facilidade de manutenção e expansão: Como Java trabalha por classes, é mais fácil dar manutenção a uma parte de código e importar uma nova aplicação ao sistema através de uma nova classe.

 

Ambientes de desenvolvimento Java

 

JSE (Java Standard Edition)

Seu uso é voltado a PCs e servidores.

Contem todo o ambiente necessário para a criação e execução de aplicações desktop e web de pequeno e médio porte.

Pode-se dizer que essa é a plataforma principal, já que, o JEE e o JME têm sua base aqui.

 

JEE (Java Enterprise Edition)

Voltada para o desenvolvimento de softwares corporativos.

Baseados em componentes que são executados em um servidor de aplicação.

 

JME (Java Micro Edition)

Ambiente de desenvolvimento para dispositivos móveis ou portáteis, como telefones celulares e palmtops

 Componentes básicos da linguagem Java

 JRE (Java Runtime Environment)

Significa Ambiente de Tempo de Execução

É um pacote de softwares, que é executado como um aplicativo do sistema operacional e que interpreta a execução de programas Java

A JRE é composta pela JVM somada ao conjunto de API’s. (JVM + API’s = JRE)

 API (Application Programming Interface)

Significa Interface de Programação de Aplicativos

Biblioteca (ou uma série delas) com funções e procedimentos públicos que permitem aos programadores desenvolverem aplicações fazendo uso de recursos já definidos.

 JVM (Java Virtual Machine)

Significa Maquina virtual Java

Software que emula uma CPU e Memória para a execução de programas Java.

 JDK (Java Development Kit) ou SDK (Software Development Kit)

Significa Kit de Desenvolvimento Java

Conjunto de ferramentas para a compilação, documentação e debug de aplicativos Java.

Composto pela JRE somada as ferramentas de desenvolvimento.

 

Java Development Kit

Java Development Kit

 

 

“Write Once, Run Anywhere“

(Escreva uma vez, execute em qualquer lugar) 

 

Write Once, Run Anywhere

Write Once, Run Anywhere

 

 

 Tipos de programas em Java

Stand-Alone:  

Aplicação baseada na JSE, que tem total acesso aos recursos do sistema (memória, disco, rede, dispositivos, etc)

Um servidor pode executar uma aplicação Stand-Alone, por exemplo, um WebServer.

Uma estação de trabalho pode executar uma aplicação de Automação Comercial.

 

Java Applets:  

Pequenas aplicações, que não tem acesso aos recursos de hardware e depende de um navegador que suporte a JSE para serem executados, geralmente usados para jogos, animações, teclados virtuais, etc.

 

Java Servlets:  

Programas escritos e preparados para serem executados dentro de servidores web baseados em JEE, geralmente usados para gerar conteúdo dinâmico de websites.

Java Midlets:  

Pequenas aplicações, extremamente seguras, e construídas para serem executadas dentro da JME, geralmente, celulares, Palm Tops, controladores eletrônicos, computadores de bordo, smart cards, tecnologia embarcada em veículos, etc.

 

JavaBeans:  

Pequenos programas, que seguem um padrão bem rígido de codificação, e que tem o propósito de serem aproveitados em qualquer tipo de programa Java, sendo reaproveitados, e podendo ser chamados a partir de: stand-alone, applets, servlets e midlets.

Espero que este tutorial tenha aberto a sua mente para está nova tecnologia, onde tem tomado grande mercado no mundo de desenvolvimento de softwares, pois, além de que o Java ser um sistema Orientado a Objeto e gratuito, tem grande mercado pois tem uma portabilidade de Sistema Operacional vasto, alias, o Android é um Sistema Operacional em Java.

Avatar of Ricardo Henrique Carvalho

Sobre Ricardo Henrique Carvalho

Técnico e Analista de suporte a mais de 7 anos, trabalhei no ramo de suporte ao usuário final de problemas com computadores, sistemas operacionais e softwares. Leciono a 9 anos cursos livres e á 3 anos cursos técnicos da área de Informática (Analise e projeto de sistemas e banco de dados).