19
Desenvolvendo Aplicações Livres em Java 1º Workshop Sobre Desenvolvimento de Software Livre – Tchelinux Porto Alegre – 31/03/2007 Palestrante: Thiago Regal da Silva

Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Embed Size (px)

Citation preview

Page 1: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Desenvolvendo 

Aplicações Livres em 

Java1º Workshop Sobre Desenvolvimento de Software Livre – Tchelinux

Porto Alegre – 31/03/2007Palestrante: Thiago Regal da Silva

Page 2: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

O Palestrante

Page 3: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Java, como começou?

● Oak Project● Green Project● Objetivos

– Orientada a objetos– Permitir a execução em diferentes SO`s ­ W.O.R.A.– Conter suporte nativo para redes– Execução segura à partir de fontes remotas– Fácil de usar e que aproveite as coisas boas de outras linguagens

● A integração com o Netscape Browser● Applets, Java 2, evolução do desenvolvimento

Page 4: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Quem “manda” no Java?

● JCP – Java Community Process● Qualquer um pode se inscrever● O processo é aberto desde o início● O papel da Sun

Page 5: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

O que é realmente o Java?

● A visão comum ­ linguagem● O que realmente é?

Page 6: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Plataforma Java

● Três grandes subdivisões

– J2SE (Java SE): Java Standard Edition

– J2EE (Java EE): Java Enterprise Edition

– J2ME (Java ME): Java Micro Edition

Page 7: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

JVM – O segredo da portabilidade

Page 8: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

JVM – O segredo da portabilidade

● Java Virtual Machine é, a grosso modo, um interpretador de bytecodes

● Interpreta os bytecodes e transforma­os em uma série de intruçÕes nativas, utilizando recursos do SO

● É a base de toda a plataforma Java● Contém a API, o gerenciamento de memória, e 

todos os recursos base utilizados pelas outras “edições”

Page 9: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

A API Java

● Conjunto de funcionalidades “nativas” da linguagem● Carga dinâmica de bibliotecas● Abstração do sistema operacional● O que não estiver implementado, é facilmente integrado● Não é “engessado”. O programador pode fazer suas 

próprias implementações

Page 10: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Detalhes sobre a plataforma

● J2SE (Java SE): contém a JVM, API, e recursos

Page 11: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Detalhes sobre a plataforma

● J2ME (Java ME): é, basicamente, um subset da J2SE, utilizada para ambientes “embedded”

● É a tecnologia mais utilizada no mundo para dispositivos embedded

● Pode rodar numa infinidade de dispositivos: telefones celulares, PDA`s, TV`s, impressoras, etc

● Possui um robusto sistema de segurança, protocolos de comunicação integrados, e todas as características de portabilidade do Java

Page 12: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Detalhes sobre a plataforma

● J2EE (Java EE): é a plataforma de desenvolvimento de aplicacoes enterprise

● É contruída sobre a J2SE● Provê recursos para desenvolvimento de 

aplicações de grande porte, multi­camadas, portáveis e escaláveis

● Possibilita o desenvolvimento da aplicação, livrando o programador de criar do zero estruturas altamente complexas e que não estão diretamente relacionadas à lógica da aplicação

Page 13: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Ok, você não vai falar sobre Java e software livre?

Page 14: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Considerações filosóficas

● Quais as motivações de desenvolver software livre?

– Cada um tem uma, mas uma das mais fortes é compartilhar o conhecimento e desenvolver algo útil que as pessoas utilizem

Page 15: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Por quê Java?● O processo sempre foi aberto● A Sun liberou o código­fonte de toda a plataforma 

(GPL)● A estratégia dos grandes (IDEs, ferramentas)● É um padrão de indústria● As características favorecem a usabilidade● A disputa entre .Net x Java● Possui um grande portfólio de aplicacoes 

opensource● Foi “adotada” pela indústria como alternativa às 

soluções fechadas

Page 16: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Ferramentas de desenvolvimento● Eclipse

Page 17: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Ferramentas de desenvolvimento

● Netbeans

– Opensource– Multiplataforma– Grande gama de plugins e recursos– Desenvolvimento para todas as “edições”– Extremamente intuitivo– Demonstração

Page 18: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Demonstração

● Instalacao da JDK● Download da documentação● Instalacao do Netbeans● Instalação dos pacotes adicionais

Page 19: Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva

Contato

● E­mail: [email protected]● Skype: thiagoregal

Recursos adicionais

● java.sun.com● www.portaljava.com● www.javafree.com.br