Introdução ao Ambiente de Desenvolvimento

Propaganda
15/09/2013
Desenvolvimento Web
TCC-00.226 | Turma A-1
Conteúdo
Introdução ao Ambiente de Desenvolvimento
Professor Leandro Augusto Frata Fernandes
[email protected]
Material disponível em
http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Histórico
1991
Início em 1991 com um pequeno grupo de projeto da
Sun Microsystems, denominado Green Team
O projeto visava o desenvolvimento de software para uma ampla
variedade de dispositivos de rede e sistemas embutidos
James Gosling decide pela criação de uma nova linguagem de programação que
fosse simples, portátil e fácil de ser programada
Surge a linguagem interpretada Oak (carvalho em inglês), mais tarde
rebatizada como Java devido a problemas de direitos autorais
Duke é o mascote do Java
TCC-00.226 Desenvolvimento Web
2
1
15/09/2013
Histórico
1991
1994
Mudança de foco para aplicação na Internet
(visão: um meio popular de transmissão de texto, som, vídeo)
Projetada para transferência de conteúdo de mídia em redes
com dispositivos heterogêneos
Também possui capacidade de transferir “comportamentos”, junto com o
conteúdo (HTML por si só não faz isso)
Em 1994, Jonathan Payne e Patrick Naughton desenvolveram o programa
navegador WebRunner
TCC-00.226 Desenvolvimento Web
3
Histórico
1991
1994 1995
No SunWorld’95 a Sun apresenta formalmente o navegador HotJava e a
linguagem Java
Poucos meses depois a Netscape Corporation lança o seu navegador capaz de
fazer download e executar pequenos códigos Java chamados de Applets
Imediatamente a Sun decide disponibilizar o Java gratuitamente para a
comunidade de desenvolvimento de softwares e assim surge o
Java Developer’s Kit 1.0 (JDK 1.0)
Inicialmente disponível para Sun Solaris e Microsoft Windows 95/NT
Progressivamente surgiram kits para plataformas como Linux e Apple Macintosh
TCC-00.226 Desenvolvimento Web
4
2
15/09/2013
Histórico
1991
1994 1995
2010
Oracle adquire a Sun Microsystems e passa a ser a “dona” do Java
Java Platform (JDK), Standard Edition está disponível para download em
http://www.oracle.com/technetwork/java/javase/downloads
A Integrated Development Environment (IDE) mantida pela Oracle é o NetBeans,
também disponível em http://www.oracle.com/technetwork/java/javase/downloads
Eclipse é uma das IDEs mais utilizadas
http://www.eclipse.org/downloads/moreinfo/java.php
Outra opção é o BlueJ, disponível em http://www.bluej.org/
TCC-00.226 Desenvolvimento Web
5
Características da Linguagem Java
•
•
•
•
•
•
•
Simples
•
Coletor de lixo (garbage collector) para desalocar recursos
Orientada a objetos
Interpretada, neutra e portável
Alta performance
Robusta
Segura
Facilidades para criação de programas distribuídos e
multitarefas
TCC-00.226 Desenvolvimento Web
6
3
15/09/2013
Características da Linguagem Java
Simples e Orientada a Objetos
•
•
É de fácil aprendizado
Puramente orientado a objetos
 Permite o desenvolvimento de sistemas de
uma forma mais natural
TCC-00.226 Desenvolvimento Web
7
Características da Linguagem Java
Interpretada, Neutra e Portável
•
Permitindo que o código em Java possa ser escrito
independente da plataforma
•
Bytecodes executam em qualquer máquina que
possua uma Java Virtual Machine (JVM)
•
Neutra em relação à arquitetura
 Característica que permite uma grande portabilidade
TCC-00.226 Desenvolvimento Web
8
4
15/09/2013
Características da Linguagem Java
Interpretada, Neutra e Portável
•
Em java:
1. Todo o código é inicialmente escrito em arquivos de texto .java
2. Esses arquivos fonte são compilados para arquivos .class pelo
compilador javac
3. A ferramenta “lançadora” java roda a aplicação em uma instancia
da Java Virtual Machine
•
Um arquivo .class contém bytecodes
TCC-00.226 Desenvolvimento Web
9
Características da Linguagem Java
Interpretada, Neutra e Portável
MyProgram.java
Java API
Java Virtual Machine
Hardware‐Based Plataform
** Java API: Java Application Programming Interface
TCC-00.226 Desenvolvimento Web
10
5
15/09/2013
Características da Linguagem Java
Interpretada, Neutra e Portável
TCC-00.226 Desenvolvimento Web
11
Características da Linguagem Java
Interpretada, Neutra e Portável
Bytecodes
J
V
M
J
C
Win95/98
J
V
M
J
C
WinNT
J
V
M
J
C
Linux
TCC-00.226 Desenvolvimento Web
J
V
M
J
C
Solaris
12
6
15/09/2013
Características da Linguagem Java
Interpretada, Neutra e Portável
Editor
.java
.class
Carregador
Bytecodes
verificados
Compilador
Bytecodes
não verificados
Verificador
Interpretador
TCC-00.226 Desenvolvimento Web
13
Características da Linguagem Java
Alta Performance
•
É uma linguagem interpretada
 Existe uma grande discussão quanto a sua performance.
•
Fato: As melhorias na tecnologia
de compilação, tem aproximado
o desempenho ao de
linguagens como C e C++
•
Ex.: Benchmarks mostram
melhor desempenho em
alguns casos e pior em outros,
caracterizando “empate técnico”
http://blog.cfelde.com/2010/06/c-vs-javaperformance/
TCC-00.226 Desenvolvimento Web
14
7
15/09/2013
Características da Linguagem Java
Robusta e Segura
•
As seguintes características contribuem para tornar a
linguagem mais robusta e segura:
 É fortemente tipada
 Não possui aritmética de ponteiros
 Possui mecanismo de coleta de lixo
 Possui verificação rigorosa em tempo de compilação
 Possui mecanismos para verificação em tempo de execução
 Possui gerenciador de segurança
 Possui mecanismos de segurança que evitam operações no
sistema de arquivos da máquina alvo
TCC-00.226 Desenvolvimento Web
15
Características da Linguagem Java
Distribuída
•
•
Projetada para trabalhar em ambiente de redes
Não é uma linguagem para
programação distribuída
 Oferece bibliotecas para facilitar o processo de
comunicação
TCC-00.226 Desenvolvimento Web
16
8
15/09/2013
Características da Linguagem Java
Dinâmica e Multithread
•
•
Resolução de referências em tempo de execução
Suporte para múltiplas threads de execução
 Threads podem tratar diferentes tarefas
concorrentemente
TCC-00.226 Desenvolvimento Web
17
O Ambiente de Desenvolvimento Java SDK
•
Ambiente de desenvolvimento de software Java
 Antigamente denominado JDK
(Software Development Kit)
•
•
Contém um amplo conjunto de APIs
Java SDK não é um ambiente integrado de
desenvolvimento
 Não oferecendo editores ou ambiente de programação
TCC-00.226 Desenvolvimento Web
18
9
15/09/2013
Algumas Ferramentas do Java SDK
•
•
•
•
•
javac: compilador Java
•
•
jdb: depurador de programas Java
java: interpretador de aplicações Java
appletsviewer: interpretador de applets Java
javadoc: gerador de documentação para código Java
jar: manipulador de arquivos comprimidos no formato
Java Archive
etc.
TCC-00.226 Desenvolvimento Web
19
Exercício
•
Baixe e instale o Java SDK e o NetBeans em sua
máquina
•
Crie um projeto no NetBeans, adicione o código
abaixo, compile e execute a seguinte classe:
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Olá mundo!”);
}
}
TCC-00.226 Desenvolvimento Web
20
10
Download