desenvolvimento java

Download Desenvolvimento Java

If you can't read please download the document

Upload: serge-rehem

Post on 16-Apr-2017

4.625 views

Category:

Technology


0 download

TRANSCRIPT

Java Bsico

Desenvolvimento Java

Serge [email protected] JUG Leaderjavabahia.org

Esta obra est licenciada sob uma Licena Creative Commons

http://creativecommons.org/licenses/by-nc-sa/2.0/br/

Como tudo comeou...

3 - 13p / 18m

dez 90

a prxima onda do mundo digital?

computadores + eletrodomsticos

Sunmicrosystems

Sun. Dezembro, 1990 - Green ProjectPatrick Naughton, Mike Sheridan e James Gosling

A prxima onda do mundo digital

IdiaConvergncia dos computadores com os equipamentos e eletrodomsticos comumente usados pelas pessoas no seu dia-a-dia

13 pessoas durante 18 meses

*7

demoset 92

Oak Java

StarSeven (*7) - set/1992Demonstrao funcional da idia

Controle remoto com GUI touchscreen para diversos dispositivos e aplicaes

Duke: guia virtual

Oak (Carvalho) nova LP para o *7

1.0a2mar 95

10.000 downloads

Netscape Java

* StarSeven (*7) - set/1992Mercado: Controlar TV e vdeo por demanda

Necessidade de uma grande rede de cabos

Idia certa na poca errada!

BOOM da InternetInfra-estrutura de rede

Java - Oak adaptado para a Internet (Gosling)Maro, 1995 - verso 1.0a2 (alpha) na Internet

10.000 downloads, ateno de toda a mdia

Netscape anuncia browsers com Java embutido

The Green Team

James Gosling

= Linguagem Programao+Plataforma

JavaScript

Java uma linguagem de programao

Java uma plataforma

Java NO JavaScript

O_o SmallTalk / Simula67

C/C++familiar

Linguagem JavaPortabilidade Segurana

Rede/distribuio

API++++

Carga dinmica

Garbage Collector

Principais Caractersticas Orientao a objeto - Baseado no modelo de Smalltalk e Simula67

Portabilidade - Independncia de plataforma

Recursos de Rede - Extensa biblioteca de rotinas que facilitam a cooperao com protocolos TCP/IP, como HTTP e FTP

Segurana Execuo de programas via rede com restries de execuo

Interpretao Nx

Compilao - 1x

Linguagem Java

Java Virtual Machine (JVM)

Application Programming Interface (API)

Plataforma Java

Programa

JVM

SO

HW

Write Once Run Anywhere

Prog.java

Prog.classbytecode

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" possibleProgramas Java no so traduzidos para a linguagem de mquina como outras linguagens estaticamente compiladas e sim para uma representao intermediria, chamada de bytecodes.Os bytecodes so interpretados pela mquina virtual Java (JVM - Java Virtual Machine). Muitas pessoas acreditam que por causa desse processo, o cdigo interpretado Java tem baixo desempenho. Durante muito tempo esta foi uma afirmao verdadeira. Porm novos avanos tem tornado o compilador dinmico (a JVM), em muitos casos, mais eficiente que o compilador esttico.Java hoje j possuiu uma performace prxima do C++. Isto possvel graas a otimizaes como a compilao especulativa, que aproveita o tempo ocioso do processador para pr-compilar bytecode para cdigo nativo. Outros mecanismos ainda mais elaborados como o HotSpot da Sun, que guarda informaes disponveis somente em tempo de execuo (ex.: nmero de usurios, processamento usado, memria disponvel), para otimzar o funcionamento da JVM, possibilitando que a JVM v "aprendendo" e melhorando seu desempenho. Isto uma realidade to presente que hoje fcil encontrar programas corporativos e de misso crtica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos utiliza a tecnologia Java para construir seus home banks, que so acessados por milhares de usurios diariamente. Grandes sites como o eBay utilizam Java para garantir alta performace. E a cada ano Java tem se tornado mais rpido, na medida que se evolui o compilador dinmico.Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recuperao do programa-fonte original. Esta uma caracterstica 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.

JDKJava Development Kit

javac HelloWorld.java

JREJava Runtime Environment

java HelloWorld

Hello World Festival

App

App

App

Applet

Applet

Applet

Applet

App/Swing

App/Swing

App/Swing

Servlet

Servlet

JSP

JSP

MIDLethttp://www.roseindia.net/j2me/hello-world.shtml

IDE

X

Java/Web...

GlassFish

AppServer

Tomcat

JDBC

JDO

JPA

Persistncia

JSF

Java WebFramework

Hudson

Testes / Build /Integrao Contnua

Segurana

Relatrios

e-Mail

Agendamento

Validao

+ComponentesLogging

Utilitrios

Workflow

?

?

?

Demoiselle Frameworkwww.frameworkdemoiselle.gov.br

Java Editions

Java

jcp.org

Quero aprender +

Java User Groups

Grupos de Usurios

javabahia.org

Java Education and Development Initiative

http://www.dfjug.org/DFJUG/jedi

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 no roda s Java...

groovy.codehaus.org

www.jython.org

jruby.codehaus.org

sun.com/javafx

www.beanshell.org

Rhino: JavaScript for Java

www.mozilla.org/rhino

javafx.com

JavaFX

JavaFX Mobile

Learn Once

Reuse Anywhere

Serge [email protected]/serge_rehemslideshare.net/serge_rehem

Obrigado!