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.
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.
“Write Once, Run Anywhere“
(Escreva uma vez, execute em qualquer lugar)
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.




