Successfully reported this slideshow.

Jugday - Java Básico

925 views

Published on

  • Be the first to comment

Jugday - Java Básico

  1. 1. Java Básico
  2. 2. Colaboradores <ul><ul><li>Paloma Costa [email_address] </li></ul></ul><ul><ul><li>Guilherme Elias guilherme.elias @gmail.com </li></ul></ul><ul><ul><li>Daniel Wildt dwildt@gmail.com </li></ul></ul>JugDay 2008
  3. 3. Objetivos <ul><ul><li>Apresentar os conceitos iniciais da Tecnologia Java e guiar os participantes em seus primeiros passos. </li></ul></ul><ul><ul><li>Ao final, estará apto a escrever, compilar e interpretar seu primeiro programa! </li></ul></ul><ul><ul><li>Tenham uma excelente apresentação! </li></ul></ul>JugDay 2008
  4. 4. Agenda <ul><ul><li>Teoria </li></ul></ul><ul><ul><ul><li>Histórico </li></ul></ul></ul><ul><ul><ul><li>Tecnologia Java </li></ul></ul></ul><ul><ul><ul><li>Características </li></ul></ul></ul><ul><ul><ul><li>Tendências e Caminhos </li></ul></ul></ul><ul><ul><ul><li>Padrões de Compatibilidade </li></ul></ul></ul><ul><ul><ul><li>Ferramentas </li></ul></ul></ul><ul><ul><li>Prática </li></ul></ul><ul><ul><ul><li>Primeiros Passos(Sintaxe) </li></ul></ul></ul><ul><ul><ul><li>Exercícios </li></ul></ul></ul>JugDay 2008
  5. 5. Parte Teórica JugDay 2008
  6. 6. O Criador <ul><ul><li>Em 1991 por James Gosling </li></ul></ul>JugDay 2008
  7. 7. Histórico <ul><ul><li>Dispositivos Inteligentes e de eletrodomésticos[TV´S interativas, torradeiras interativas, etc...] </li></ul></ul>JugDay 2008
  8. 8. O que é a Tecnologia Java? JugDay 2008
  9. 9. A Tecnologia Java é: <ul><li>Uma Linguagem de Programação </li></ul><ul><li>Um ambiente de Desenvolvimento </li></ul><ul><li>Um ambiente de Aplicação </li></ul><ul><li>Um ambiente de Distibuição </li></ul>JugDay 2008
  10. 10. Tecnologia Java <ul><ul><li>Linguagem de Programação </li></ul></ul><ul><ul><ul><li>Pode criar qualquer tipo de programa. </li></ul></ul></ul><ul><ul><ul><li>Inteligência Artificial, Robôs, Dispositivos Móveis... </li></ul></ul></ul><ul><ul><ul><li>Por exemplo, uma balança de comidas que executa uma JVM. </li></ul></ul></ul><ul><ul><ul><ul><li>atualizar o controle de estoque </li></ul></ul></ul></ul><ul><ul><ul><ul><li>receber atualizações de preços etc. </li></ul></ul></ul></ul>JugDay 2008
  11. 11. <ul><ul><li>Projeto Wonderland é um Ambiente Virtual 3D </li></ul></ul><ul><ul><li>Colaboração dentro do ambiente profissional, como reuniões, discussões, resoluções etc. </li></ul></ul>JugDay 2008
  12. 12. <ul><ul><li>Helicóptero que voa em locais perigosos e inacessíveis, e captura imagens em tempo real. </li></ul></ul>JugDay 2008
  13. 13. <ul><ul><li>Robôs em Java </li></ul></ul><ul><ul><li>Recebe instruções de uma aplicação que detecta os contornos de uma foto, e desenha os traços com uma caneta de alta precisão. </li></ul></ul>JugDay 2008
  14. 14. Tecnologia Java <ul><ul><li>Ambiente de Desenvolvimento Compilador(javac), Interpretador(java), Docs(javadoc), Empacotamento(jars) </li></ul></ul>JugDay 2008
  15. 15. Tecnologia Java <ul><li>Ambiente de Aplicação Aplicações de tecnologia Java são tipicamente programas de propósito geral que executam sobre </li></ul><ul><li>uma máquina onde o Java Runtime Environment é instalado. </li></ul>JugDay 2008
  16. 16. Tecnologia Java <ul><ul><li>Ambiente de Distribuição JRE, Navegador Web </li></ul></ul>JugDay 2008
  17. 17. Características Java <ul><ul><li>Orientada a Objetos; </li></ul></ul><ul><ul><li>Portabilidade </li></ul></ul><ul><ul><li>Robusta </li></ul></ul><ul><ul><li>Segura </li></ul></ul><ul><ul><li>Distribuída </li></ul></ul><ul><ul><li>Recursos de Rede </li></ul></ul><ul><ul><li>Simplicidade </li></ul></ul>JugDay 2008
  18. 18. Características Java <ul><ul><li>Trabalha sobre uma JVM : Máquina imaginária implementada como uma aplicação de software em uma máquina real. </li></ul></ul><ul><ul><li>Garbage Collector: libera espaço em memória. </li></ul></ul><ul><ul><li>Técnicas OO e Padrões: necessita destas técnicas para um melhor aproveitamento . </li></ul></ul>JugDay 2008
  19. 19. Ambiente Java <ul><ul><li>JSDK/JEE/JME - Software Development Kit </li></ul></ul><ul><ul><ul><li>Máquina Virtual Java – compila e interpreta. </li></ul></ul></ul><ul><ul><ul><li>Bytecodes, linguagem de máquina, interpretador. </li></ul></ul></ul><ul><ul><li>JVM – Virtual Machine </li></ul></ul><ul><ul><ul><li>Sun, GCJ, Kaffe, Classpath, IBM </li></ul></ul></ul><ul><ul><li>JRE – Runtime environment </li></ul></ul>JugDay 2008
  20. 20. Escolha uma tendência, escolha o seu caminho! JugDay 2008
  21. 21. JEE – Java Enterprise Edition <ul><ul><li>Desenvolvimento Web (Servidor) </li></ul></ul><ul><ul><ul><li>Servlets - desenvolvimento web (padrão CGI) </li></ul></ul></ul><ul><ul><ul><li>JSP – Java Server Pages - criação de páginas dinâmicas (<% %>) através de scriptlets </li></ul></ul></ul><ul><ul><ul><li>JSF – Java Server Faces – Criação de páginas “ligadas” Struts. </li></ul></ul></ul>JugDay 2008
  22. 22. JSE – Java Standard Edition <ul><ul><li>Desenvolvimento Desktop (Cliente) </li></ul></ul><ul><ul><ul><li>SWT (Standard Widget Toolkit) </li></ul></ul></ul><ul><ul><ul><li>AWT (Abstract Window Toolkit) </li></ul></ul></ul><ul><ul><ul><li>Swing </li></ul></ul></ul><ul><ul><ul><li>Thinlet </li></ul></ul></ul>JugDay 2008
  23. 23. JME – Java Micro Edition <ul><ul><li>Desenvolvimento para pequenos dispositivos </li></ul></ul><ul><ul><ul><li>JavaCard, Dispositivos Móveis, Jogos </li></ul></ul></ul>JugDay 2008
  24. 24. Java FX <ul><ul><li>É open-source e existe uma grande integração com outros aplicativos da linha como o JME, JEE e JSE. </li></ul></ul><ul><ul><li>Exemplo </li></ul></ul>JugDay 2008
  25. 25. Integração de Linguagens de Script <ul><li>Groove é uma linguagem de programação projetada para ser interpretada, (como Perl e PHP), porém derivada e compatível com Java (linguagem de programação). </li></ul><ul><li>JRuby permite que você rode seus scripts Ruby na máquina virtual Java . </li></ul><ul><li>Jython é uma implementação da linguagem Python que gera bytecode para máquinas Java . </li></ul><ul><li>Vantagens </li></ul><ul><ul><li>É possível fazer o desenvolvimento de aplicações híbridas que unem código </li></ul></ul><ul><ul><li>É muito útil para embutir uma linguagem para criação de scripts em aplicações que requerem este tipo de funcionalidade. </li></ul></ul>JugDay 2008
  26. 26. Certificações JugDay 2008
  27. 27. Padrões de Compatibilidade <ul><ul><li>JCP(Java Community Process http:// jcp.org ) </li></ul></ul><ul><ul><li>Foco em Compatibilidade e Multiplataforma </li></ul></ul><ul><ul><li>Qualquer um pode participar (JSR's) HP, IBEA, IBM, Intel, Oracle, Google </li></ul></ul><ul><ul><li>O processo é aberto desde o início </li></ul></ul>JugDay 2008
  28. 28. Software Livre & Java <ul><li>Java não é software, é uma especificação! </li></ul><ul><li>As implementações de Java que podem ser software livre!!! </li></ul>JugDay 2008
  29. 29. Vantagens <ul><ul><li>Linguagem Multiplataforma; </li></ul></ul><ul><ul><li>Grande quantidade de soluções e ferramentas de apoio gratuitas; </li></ul></ul><ul><ul><li>Código Aberto a partir da 5º edição(13/11/2006). </li></ul></ul>JugDay 2008
  30. 30. Ferramentas <ul><ul><li>JSDK 1.6.X ( http://java.sun.com ) </li></ul></ul><ul><ul><li>IDE para desenvolvimento Java: </li></ul></ul><ul><ul><ul><li>NetBeans ( http://www.netbeans.org ) </li></ul></ul></ul><ul><ul><ul><li>Eclipse ( http://www.eclipse.org ) </li></ul></ul></ul><ul><ul><li>Documentação API </li></ul></ul><ul><ul><ul><li>http://java.sun.com/reference/api/ </li></ul></ul></ul>JugDay 2008
  31. 31. Demonstração JugDay 2008
  32. 32. Parte Prática JugDay 2008
  33. 33. Tarefas <ul><ul><li>Escrever o Programa </li></ul></ul><ul><ul><li>Ferramenta Utilizada </li></ul></ul><ul><ul><ul><li>NetBeans6.01 </li></ul></ul></ul><ul><ul><li>Saída de Arquivos: </li></ul></ul><ul><ul><ul><li>Java </li></ul></ul></ul><ul><ul><ul><li>Class (Bytecode) </li></ul></ul></ul><ul><ul><ul><li>Execução do Programa </li></ul></ul></ul>JugDay 2008
  34. 34. public class OlaMundo { /** * Método que executa o programa * public = É visto em qualquer lugar da aplicação * static = é iniciado automaticamente pela JVM, sem precisar que seja chamado por algum objeto * void = Método sem retorno * main = Nome do método, que é obrigatorio ser este. Recebe como parâmetro um array de String. * */ public static void main(String[] args) { System.out.println(&quot;Olá, Mundo!&quot;); //Imprime na tela } } JugDay 2008
  35. 35. Exercícios JugDay 2008
  36. 36. Dicas de Livros
  37. 37. Referências <ul><ul><li>Notícias Java One http://www.devmedia.com.br/articles/viewcomp.asp?comp=5403&hl = </li></ul></ul><ul><ul><li>Projeto Wonderland http://lg3D-wonderland.dev.java.net </li></ul></ul><ul><ul><li>Curriki http://www.curriki.org/xwiki/bin/view/Coll_DanielWildt/FUJA-NivelamentoJava1-Aula01 </li></ul></ul><ul><ul><li>JEDI http://jedi.wv.com.br/ </li></ul></ul><ul><ul><li>Certificações </li></ul></ul><ul><ul><li>JavaFX https:// openjfx.dev.java.net /#demos </li></ul></ul>JugDay 2008
  38. 38. Perguntas JugDay 2008 Java é uma linguagem? É uma plataforma? Tecnologia? Arquitetura? É free? Muito Obrigada!!

×