SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
Desenvolvimento Java



             Serge Rehem
          serge.rehem@gmail.com
           JavaBahia JUG Leader
                    javabahia.org
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?
computadores + eletrodomésticos
*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âmica

          Linguagem Java
Portabilidade              Garbage Collector

              Segurança
                                    API++++
  Rede/distribuição
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
Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1
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
                                      ?

Utilitários              Relatórios

          Workflow
                           Agendamento
Logging              ?
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
Java Bahia Desenvolvimento Java Area1
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


                      Rhino: JavaScript for Java




www.beanshell.org     www.mozilla.org/rhino
javafx.com
Java Bahia Desenvolvimento Java Area1
JavaFX
JavaFX Mobile
Learn Once Reuse Anywhere
Obrigado!



                   Serge Rehem
       serge.rehem@gmail.com
        twitter.com/serge_rehem
    slideshare.net/serge_rehem

Mais conteúdo relacionado

Mais procurados

Mais procurados (16)

Automatizando a entrega de software
Automatizando a entrega de softwareAutomatizando a entrega de software
Automatizando a entrega de software
 
Node js
Node jsNode js
Node js
 
Ambiente java
Ambiente javaAmbiente java
Ambiente java
 
WildFly Swarm
WildFly SwarmWildFly Swarm
WildFly Swarm
 
Groovy e Grails 2
Groovy e Grails 2Groovy e Grails 2
Groovy e Grails 2
 
Fundamentos de Programação Front-End
Fundamentos de Programação Front-EndFundamentos de Programação Front-End
Fundamentos de Programação Front-End
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Spring Capitulo 01
Spring Capitulo 01Spring Capitulo 01
Spring Capitulo 01
 
TDC 2008 JBoss Seam
TDC 2008 JBoss SeamTDC 2008 JBoss Seam
TDC 2008 JBoss Seam
 
JavaScript Moderno
JavaScript ModernoJavaScript Moderno
JavaScript Moderno
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
 
AMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasAMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps Modernas
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma Java
 
Palestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DPalestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3D
 
Javascript por onde começar
Javascript por onde começarJavascript por onde começar
Javascript por onde começar
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 

Destaque

Presentation1
Presentation1Presentation1
Presentation1KT1993
 
Design Is In The Details - WV 2008
Design Is In The Details - WV 2008Design Is In The Details - WV 2008
Design Is In The Details - WV 2008Dan Rubin
 
fannie mae Investor Summary
fannie mae Investor Summary fannie mae Investor Summary
fannie mae Investor Summary finance6
 
Presentation1
Presentation1Presentation1
Presentation1KT1993
 
Room to Grow Eco City Project Concept
Room to Grow Eco City Project ConceptRoom to Grow Eco City Project Concept
Room to Grow Eco City Project ConceptTim Gregory
 
Designers & Developers Sitting in a Tree (Web09)
Designers & Developers Sitting in a Tree (Web09)Designers & Developers Sitting in a Tree (Web09)
Designers & Developers Sitting in a Tree (Web09)Dan Rubin
 
Collaborative Work Space - Mark Cuban's Stimulus Plan
Collaborative Work Space - Mark Cuban's Stimulus PlanCollaborative Work Space - Mark Cuban's Stimulus Plan
Collaborative Work Space - Mark Cuban's Stimulus Planguesta9f365c
 

Destaque (7)

Presentation1
Presentation1Presentation1
Presentation1
 
Design Is In The Details - WV 2008
Design Is In The Details - WV 2008Design Is In The Details - WV 2008
Design Is In The Details - WV 2008
 
fannie mae Investor Summary
fannie mae Investor Summary fannie mae Investor Summary
fannie mae Investor Summary
 
Presentation1
Presentation1Presentation1
Presentation1
 
Room to Grow Eco City Project Concept
Room to Grow Eco City Project ConceptRoom to Grow Eco City Project Concept
Room to Grow Eco City Project Concept
 
Designers & Developers Sitting in a Tree (Web09)
Designers & Developers Sitting in a Tree (Web09)Designers & Developers Sitting in a Tree (Web09)
Designers & Developers Sitting in a Tree (Web09)
 
Collaborative Work Space - Mark Cuban's Stimulus Plan
Collaborative Work Space - Mark Cuban's Stimulus PlanCollaborative Work Space - Mark Cuban's Stimulus Plan
Collaborative Work Space - Mark Cuban's Stimulus Plan
 

Semelhante a Java Bahia Desenvolvimento Java Area1

Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia JavaThiago Gonzaga
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Emerson Saito
 
JBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 FlorianópolisJBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 FlorianópolisGeorge Gastaldi
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1bibliotecadobarao
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo JavaTI Infnet
 
Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETAlessandro Binhara
 
Desmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java AssociateDesmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java AssociateMagno A. Cavalcante
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuroFabiano Souza
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Raphael Marques
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Raphael Marques
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...
GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...
GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...mercuriocfg
 

Semelhante a Java Bahia Desenvolvimento Java Area1 (20)

Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia Java
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL
 
Compweek
CompweekCompweek
Compweek
 
JBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 FlorianópolisJBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 Florianópolis
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NET
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Desmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java AssociateDesmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java Associate
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuro
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...
GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...
GINGA: Interatividade na TV Digital com Java - FLISol 2015 - IFSP - Votuporan...
 

Java Bahia Desenvolvimento Java Area1

Notas do Editor

  1. 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
  2. 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
  3. * 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
  4. Java é uma linguagem de programação Java é uma plataforma Java NÃO É JavaScript
  5. 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
  6. 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 .