1. Java - Viso Geral Regis Pires Magalhes [email_address]
2. Roteiro
Histrico
Principais caractersticas
Componentes da plataforma Java
3. Histrico
1991 O projeto Green
Projeto conduzido por: Mike Sheridan (negcio), Patrick Naughton
(sistema grfico) and James Gosling (linguagem de programao).
O objetivo do projeto descobrir a nova onda da computao.
Eles chegaram a concluso de que uma das ondas seria a
convergncia entre dispositivos eletrnicos inteligentes e
computadores.
O projeto vislumbrou a criao de um ambiente de execuo
flexvel
Capaz de rodar nos mais diversos tipos de dispositivos
Primariamente em pequenos dispositivos (mveis ou no)
A implementao inicial do runtime era em C++
James Gosling viu que C++ no era adequada para o projeto e suas
extenses e modificaes ao C++ foram os primeiros passos para o
desenvolvimento de uma linguagem independente apropriada ao
projeto.
A linguagem foi inicialmente chamada Oak, mas o nome foi mudado
devido existncia de uma patente j registrada para outra linguagem
de programao.
Para dispositivos com pouca memria era necessria uma linguagem
pequena com cdigo bastante otimizado para poupar espao.
Como os fabricantes de dispositivos poderiam usar diferentes
CPUs era importante no ficar preso a nenhuma arquitetura em
particular.
4. Histrico
1991 O projeto Green
Os requisitos de cdigo pequeno e independente de plataforma fez
a equipe ressuscitar o modelo de algumas implementaes do Pascal dos
primeiros dias do PC, baseadas em um cdigo intermedirio para uma
mquina virtual.
A inspirao do nome Java surgiu em uma cafeteria local, cujo
contedo do caf vinha de uma ilha da Indonsia chamada Java.
O projeto Green ainda criou o personagem Duke, que seria o
ajudante usado na interface grfica.
O projeto estava beira do cancelamento. No conseguiu vender
nada em 93 e at metade de 94. O mercado de dispositivos
inteligentes no estava se desenvolvendo como a Sun previa.
O rpido crescimento da Internet por volta de 1994 deu um novo
impulso ao projeto. A Sun voltou seus esforos para acelerar a
concluso da sua linguagem.
O objetivo era aproveitar a flexibilidade da linguagem para
prover maior dinamismo na Web.
No havia nenhum concorrente no horizonte na nova era digital
que se abria com a Web.
5. Histrico
1994 Browser
Na metade de 94 a equipe percebeu que um browser independente
de arquitetura, confivel e seguro seria importante e, ento,
construiu um browser.
O browser HotJava foi feito para mostrar o poder do Java, mas
os idealizadores tambm tinham em mente o poder do que chamamos
applets. Assim, fizeram um browser capaz de executar cdigo Java em
pginas web.
1995 Lanamento da tecnologia Java
Em 23 de maio de 95 o browser com suporte a applets foi
apresentado na SunWorld.
Jan/1996 Netscape decide dar suporte a Java ao seu browser
Navigator
1996 Disponibilizao da primeira release
Java Development Kit (JDK) 1.0
1997 JDK 1.1
6. Histrico
1998 Java Community Process (JCP)
Especificao da tecnologia Java passa a ser conduzida atravs de
processo aberto formado pela Sun e usurios Java
1999
Fevereiro
Java 1.2, renomeado para Java 2.
Junho
Ramificao da plataforma: J2SE, J2ME e J2EE
Dezembro
Primeira release J2EE
Primeira release J2SE para Linux
2000 J2SE 1.3
2002 J2SE 1.4
2004 J2SE 1.5 Java 5
Dez/2006 Java 6 Mustang
2008 Java 7 - Dolphin
7. Principais Caractersticas
Orientada a Objetos
Simples
Robusta
Independente de arquitetura
Portvel
Multi-threaded
Segura
Rpida
8. Principais Caractersticas
Com coleta de lixo automtica
Distribuda
Rica
Livre / Open Source
Multi-Uso -> Abrange os mais diversos tipos de aplicao.
Fartssima documentao
Inclusive em portugus
Vrias ferramentas de apoio aprendizagem da linguagem.
Muito usada no meio acadmico, inclusive como linguagem
introdutria.
9. Plataformas Java
Plataforma
Ambiente de hardware e/ou software no qual um programa
executado
A plataforma Java somente de software
Esta plataforma de execuo funciona sobre outras plataformas de
hardware e software
Plataformas Java
JME Java Platform, Micro Edition
Plataforma de desenvolvimento para dispositivos com suporte
Java como Palms, celulares, pagers, etc.
JSE Java Platform, Standard Edition
Contm servios padro para aplicaes e applets.
JEE Java Platform, Enterprise Edition
Plataforma de desenvolvimento completa para aplicaes
empresariais robustas e escalveis.
10. Plataformas Java *Connected Limited Device Configuration **
Mobile Information Device * ** 11. Componentes da plataforma
Java
Java Virtual Machine (Java VM ou JVM)
Prov suporte para independncia de plataforma
Mquina virtual que interpreta cdigo Java compilado
Java uma linguagem compilada e interpretada!!!
Java Application Programming Interface (Java API)
Prov suporte para programao de aplicaes em geral
Vasta gama de componentes de software prontos para uso para as
mais diversas funcionalidades