Desenvolvimento Java



             Serge Rehem
          serge.rehem@gmail.com
           JavaBahia JUG Leader
         ...
Esta obra está licenciada sob uma
        Licença Creative Commons


http://creativecommons.org/licenses/by-nc-sa/2.0/br/
Como tudo começou...
Sun
 dez 90                       microsystems


     3 - 13p / 18m




        a próxima onda do mundo digital?
computado...
*7



     Oak → Java   demo
                  set 92
1.0a2
mar 95




                           10.000
                           downloads




         Netscape ← Java
The Green Team
                 James Gosling
=
 Linguagem
Programação
      +
 Plataforma


     ≠
 JavaScript
C/C++
O_o                             familiar

       ≈ SmallTalk / Simula67
                                 Carga dinâm...
Linguagem Java

                  Interpretação – Nx




Compilação - 1x
Java Virtual Machine (JVM)


        Plataforma Java



Application Programming Interface
              (API)
Programa

  JVM
   SO

   HW
Write Once Run Anywhere
Prog.java    Prog.class


            bytecode
JDK
Java Development Kit
javac   HelloWorld.java
JRE
Java Runtime Environment
java   HelloWorld
Hello World
  Festival
App
App
App
Applet
Applet
Applet
Applet
App/Swing
App/Swing
App/Swing
Servlet
Servlet
JSP
JSP
http://www.roseindia.net/j2me/hello-world.shtml
                                                  MIDLet
IDE




 X
Java/Web...
GlassFish
                     AppServer
                     AppServer

            Tomcat
JDBC    Persistência
        Persistência


       JPA



                JDO
JSF
 Java Web
 Java Web
Framework
Framework
Testes // Build //
   Testes Build
Integração Contínua
Integração Contínua

               Hudson
Validação
      Segurança
                                  e-Mail
  ?       +Componentes
          +Componentes
         ...
Demoiselle Framework
 www.frameworkdemoiselle.gov.br
Java Editions
Java
jcp.org
Quero aprender +
Java User Groups
Grupos de Usuários
javabahia.org
JEDI
Java Education and Development Initiative

        http://www.dfjug.org/DFJUG/jedi
Iniciativa JEDI
Por que Java?
https://meapplicationdevelopers.dev.java.net/fragmentation.html
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Java não roda só Java...


groovy.codehaus.org   www.jython.org




 jruby.codehaus.org    sun.com/javafx


              ...
javafx.com
JavaFX
JavaFX Mobile
Learn Once Reuse Anywhere
Obrigado!



                   Serge Rehem
       serge.rehem@gmail.com
        twitter.com/serge_rehem
    slideshare.ne...
Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1
Upcoming SlideShare
Loading in...5
×

Java Bahia Desenvolvimento Java Area1

1,213

Published on

Apresentação sobre Desenvolvimento Java realizada no evento Ekaaty Day, na Faculdade Area 1, em Salvador Bahia, 06/02/2010.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,213
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Sun. Dezembro, 1990 - Green Project Patrick Naughton, Mike Sheridan e James Gosling A “próxima onda” do mundo digital Idéia Convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia 13 pessoas durante 18 meses
  • StarSeven (*7) - set/1992 Demonstração funcional da idéia Controle remoto com GUI touchscreen para diversos dispositivos e aplicações Duke: guia virtual Oak (Carvalho) nova LP para o *7
  • * StarSeven (*7) - set/1992 Mercado: Controlar TV e vídeo por demanda Necessidade de uma grande rede de cabos Idéia certa na época errada! BOOM da Internet Infra-estrutura de rede Java - Oak adaptado para a Internet (Gosling) Março, 1995 - versão 1.0a2 (alpha) na Internet 10.000 downloads, atenção de toda a mídia Netscape anuncia browsers com Java embutido
  • Java é uma linguagem de programação Java é uma plataforma Java NÃO É JavaScript
  • Principais Características Orientação a objeto - Baseado no modelo de Smalltalk e Simula67 Portabilidade - Independência de plataforma Recursos de Rede - Extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP Segurança – Execução de programas via rede com restrições de execução
  • You can think of Java bytecodes as the machine code instructions for the Java Virtual Machine (Java VM). Every Java interpreter, whether it's a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java bytecodes help make "write once, run anywhere" possible Programas Java não são traduzidos para a linguagem de máquina como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada de bytecodes . Os bytecodes são interpretados pela máquina virtual Java (JVM - Java Virtual Machine ). Muitas pessoas acreditam que por causa desse processo, o código interpretado Java tem baixo desempenho. Durante muito tempo esta foi uma afirmação verdadeira. Porém novos avanços tem tornado o compilador dinâmico (a JVM), em muitos casos, mais eficiente que o compilador estático. Java hoje já possuiu uma performace próxima do C++. Isto é possível graças a otimizações como a compilação especulativa, que aproveita o tempo ocioso do processador para pré-compilar bytecode para código nativo. Outros mecanismos ainda mais elaborados como o HotSpot da Sun, que guarda informações disponíveis somente em tempo de execução (ex.: número de usuários, processamento usado, memória disponível), para otimzar o funcionamento da JVM, possibilitando que a JVM vá "aprendendo" e melhorando seu desempenho. Isto é uma realidade tão presente que hoje é fácil encontrar programas corporativos e de missão crítica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos utiliza a tecnologia Java para construir seus home banks , que são acessados por milhares de usuários diariamente. Grandes sites como o eBay utilizam Java para garantir alta performace. E a cada ano Java tem se tornado mais rápido, na medida que se evolui o compilador dinâmico. Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recuperação do programa-fonte original. Esta é uma característica que atinge em menor grau todas as linguagens compiladas. No entanto já existem hoje tecnologias que "embaralham" e até mesmo criptografam os bytecodes praticamente impedindo a engenharia reversa .
  • Java Bahia Desenvolvimento Java Area1

    1. 1. Desenvolvimento Java Serge Rehem serge.rehem@gmail.com JavaBahia JUG Leader javabahia.org
    2. 2. Esta obra está licenciada sob uma Licença Creative Commons http://creativecommons.org/licenses/by-nc-sa/2.0/br/
    3. 3. Como tudo começou...
    4. 4. Sun dez 90 microsystems 3 - 13p / 18m a próxima onda do mundo digital? computadores + eletrodomésticos
    5. 5. *7 Oak → Java demo set 92
    6. 6. 1.0a2 mar 95 10.000 downloads Netscape ← Java
    7. 7. The Green Team James Gosling
    8. 8. = Linguagem Programação + Plataforma ≠ JavaScript
    9. 9. C/C++ O_o familiar ≈ SmallTalk / Simula67 Carga dinâmica Linguagem Java Portabilidade Garbage Collector Segurança API++++ Rede/distribuição
    10. 10. Linguagem Java Interpretação – Nx Compilação - 1x
    11. 11. Java Virtual Machine (JVM) Plataforma Java Application Programming Interface (API)
    12. 12. Programa JVM SO HW
    13. 13. Write Once Run Anywhere Prog.java Prog.class bytecode
    14. 14. JDK Java Development Kit
    15. 15. javac HelloWorld.java
    16. 16. JRE Java Runtime Environment
    17. 17. java HelloWorld
    18. 18. Hello World Festival
    19. 19. App
    20. 20. App
    21. 21. App
    22. 22. Applet
    23. 23. Applet
    24. 24. Applet
    25. 25. Applet
    26. 26. App/Swing
    27. 27. App/Swing
    28. 28. App/Swing
    29. 29. Servlet
    30. 30. Servlet
    31. 31. JSP
    32. 32. JSP
    33. 33. http://www.roseindia.net/j2me/hello-world.shtml MIDLet
    34. 34. IDE X
    35. 35. Java/Web...
    36. 36. GlassFish AppServer AppServer Tomcat
    37. 37. JDBC Persistência Persistência JPA JDO
    38. 38. JSF Java Web Java Web Framework Framework
    39. 39. Testes // Build // Testes Build Integração Contínua Integração Contínua Hudson
    40. 40. Validação Segurança e-Mail ? +Componentes +Componentes ? Utilitários Relatórios Workflow Agendamento Logging ?
    41. 41. Demoiselle Framework www.frameworkdemoiselle.gov.br
    42. 42. Java Editions
    43. 43. Java
    44. 44. jcp.org
    45. 45. Quero aprender +
    46. 46. Java User Groups
    47. 47. Grupos de Usuários
    48. 48. javabahia.org
    49. 49. JEDI Java Education and Development Initiative http://www.dfjug.org/DFJUG/jedi
    50. 50. Iniciativa JEDI
    51. 51. Por que Java?
    52. 52. https://meapplicationdevelopers.dev.java.net/fragmentation.html
    53. 53. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
    54. 54. Java não roda só Java... groovy.codehaus.org www.jython.org jruby.codehaus.org sun.com/javafx Rhino: JavaScript for Java www.beanshell.org www.mozilla.org/rhino
    55. 55. javafx.com
    56. 56. JavaFX
    57. 57. JavaFX Mobile
    58. 58. Learn Once Reuse Anywhere
    59. 59. Obrigado! Serge Rehem serge.rehem@gmail.com twitter.com/serge_rehem slideshare.net/serge_rehem
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×