Curso Técnico em Informática Disciplina: Programação – Java Professor: Rafael Silva E-mail: [email protected] Site: www.rafaelrodrigos.com.br HISTÓRIA DO JAVA • Em 1991, na Sun Microsystems, foi iniciado o Green Project, o berço do Java, uma linguagem de programação orientada a objetos. • Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. • O objetivo do projeto não era a criação de uma nova linguagem de programação, mas antecipar e planejar. Eles acreditavam que, em algum tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia. HISTÓRIA DO JAVA • Em 1992 eles surgiram com uma demonstração da ideia inicial. O protótipo se chamava *7 (lê-se “StarSeven”), um controle remoto com uma interface gráfica touchscreen que tinha a habilidade de controlar diversos dispositivos e aplicações. • Para o *7 foi criado um mascote, o Duke, que tinha como objetivo ser um guia virtual ajudando e ensinando o usuário a utilizar o equipamento(controle). HISTÓRIA DO JAVA • James Gosling especificou uma nova linguagem de programação para o *7 e decidiu batizá-la de “Oak”, que quer dizer carvalho(árvore que ele podia observar quando olhava pela sua janela). • O próximo passo era encontrar um mercado para o *7. A ideia era controlar televisões e vídeos com o equipamento, mas infelizmente era muito cedo para que as empresas de TV a cabo pudessem viabilizar o negócio. HISTÓRIA DO JAVA • A ideia que o *7 tentava vender hoje já é realidade em programas interativos e também na televisão digital: Permitir ao telespectador interagir com a emissora e com a programação em uma grande rede de cabos. • Essa ideia era algo muito visionário e estava muito longe do que as empresas de TV a cabo tinham capacidade de entender e comprar. A ideia certa, na época errada. HISTÓRIA DO JAVA • Entretanto, o estouro da internet aconteceu e rapidamente uma grande rede interativa estava se estabelecendo. • Era este tipo de rede interativa que a equipe do *7 estava tentando vender para as empresas de TV a cabo. • Gosling foi incumbido de adaptar o Oak para a internet e em janeiro 1995 foi lançada uma nova versão do Oak que foi rebatizada para Java. HISTÓRIA DO JAVA • • A tecnologia Java tinha sido projetada para se mover por meio das redes de dispositivos heterogêneos, redes como a internet. Agora aplicações poderiam ser executadas dentro dos navegadores nos Applets Java e tudo seria disponibilizado pela internet instantaneamente. Foi o estático HTML dos navegadores que promoveu a rápida disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o número de usuários cresceu rapidamente, grandes fornecedores de tecnologia, como a IBM anunciaram suporte para a tecnologia Java. HISTÓRIA DO JAVA • Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação na história da computação. • Em 2004 o Java atingiu a marca de 3 milhões de desenvolvedores em todo mundo. • Java tornou-se popular pelo seu uso na internet e hoje possui seu ambiente de execução presente em navegadores, mainframes, sistemas operacionais, celulares, palmtops, cartões inteligentes etc. HISTÓRIA DO JAVA • Java ainda é um padrão de fato, que é controlada através da JCP Java Community Process. • Em 8 de maio de 2007 a Sun tornou praticamente todo o código Java como software de código aberto. • Em 2009 a Oracle comprou a Sun Microsystems e agora possui em seu site ferramentas, informações, material para download e todo tipo de material necessário para acesso sobre o JAVA. • Site: http://www.oracle.com/technetwork/java/javase/do wnloads/jdk8-downloads-2133151.html OBJETIVOS PRINCIPAIS DO JAVA A linguagem Java foi projetada tendo em vista os seguintes objetivos: • Orientação a objetos • Portabilidade - Independência de plataforma "escreva uma vez, execute em qualquer lugar" ( "write once, run anywhere") • Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP • Segurança ALGUMAS CARACTERÍSTICAS JAVA • Sintaxe similar a C/C++ • Facilidades de Internacionalização - Suporta nativamente caracteres Unicode • É distribuída com um vasto conjunto de bibliotecas (ou APIs) • Possui facilidades para criação de programas distribuídos UNICODE • Unicode é um padrão que permite aos computadores representar e manipular, de forma consistente, texto de qualquer sistema de escrita existente. • O padrão consiste de pouco mais de 107 mil caracteres, um conjunto de diagramas de códigos para referência visual, uma metodologia para codificação e um conjunto de codificações padrões de caracteres, uma enumeração de propriedades de caracteres como caixa alta e caixa baixa, entre outros. Voltar CARACTERÍSTICAS JAVA • Robustez: Ela foi pensada para o desenvolvimento de softwares confiáveis, provendo verificações tanto em tempo de execução quanto compilação. • Segurança: Aplicações Java são executadas em ambiente próprio, o que inviabiliza a intrusão de código malicioso no computador ou dispositivo. • Portável: Programas desenvolvidos nesta linguagem podem ser executados em praticamente qualquer máquina desde que esta possua o JRE instalado. FASES DE UM PROGRAMA JAVA As fases pelo qual passam um relacionam-se da seguinte forma: programa Java 1. Criação do código fonte (Programa.java); 2. Compilação do código fonte e geração do bytecode (Programa.class); 3. Interpretação do bytecode pela máquina virtual; 4. Conversão do bytecode em linguagem de máquina. JVM • A máquina virtual java (JVM) é uma máquina imaginária que emula uma aplicação em uma máquina real. É a JVM que permite a portabilidade do código Java, isto ocorre porque todo código Java é compilada para um formato intermediário(bytecode), este formato é então interpretado pela JVM. JVM • Existem diversas JVMs cada uma delas destinada a um tipo de sistema operacional (Windows, Linux, Mac e etc.). • Desta forma sendo o código da aplicação Java (bytecode) um código interpretado pela JVM, podemos desenvolver uma aplicação sem nos preocuparmos onde ela será executada pois sabemos que existindo a JVM instalada nosso código será executado. JRE E JDK • JRE: O Java Runtime Environment contém tudo aquilo que um usuário comum precisa para executar uma aplicação Java (JVM e bibliotecas), como o próprio nome diz é o “Ambiente de execução Java”. JDK: O Java Development Kit é composto pelo JRE e um conjunto de ferramentas úteis ao desenvolvedor Java como o compilador javac, interpretador java, debugador, jdbc e entre outros. FERRAMENTAS DO JDK • • • • • • • • • javac: Compilador da linguagem Java; java: Interpretador Java; jdb: Debugador Java; java -prof: Interpretador com opção para gerar estatísticas sobre o uso dos métodos; javadoc: Gerador de documentação; jar: Ferramenta que comprime, lista e expande; appletviewer: Permite a execução de applets sem browser; javap: Permite ler a interface pública das classes; extcheck: Detecta conflitos em arquivos Jar. EXTENSÕES DO JAVA • • • • • • • • • • • • J2ME (Micro-Edition for PDAs and cellular phones) J2SE (Standard Edition) J3D (A high level API for 3D graphics programming) JAAS (Java Authentication and Authorization Service) JAIN (Java API for Integrated Networks) Java Card (chip cel) JMX (Java Management Extensions) JavaFX (internet multimídia) JSF (JavaServer Faces – Framework Web) JSP (JavaServer Pages) JCE (Java Cryptography Extension) JDBC (Java Database Connectivity) EXTENSÕES DO JAVA • • • • • • • • • • • • • JDO (Java Data Objects) JEE (Enterprise Edition) Jini (a network architecture for the construction of distributed systems) JMF (Java Media Framework) JMI (Java Metadata Interface) JMS (Java Message Service) JNDI (Java Naming and Directory Interface) JNI (Java Native Interface) JOGL (A low level API for 3D graphics programming, using OpenGL) JSML (Java Speech API Markup Language) JXTA (open source-based peer-to-peer infrastructure) MARF (Modular Audio Recognition Framework) OSGi (Dynamic Service Management and Remote Maintenance) JSE OU J2SE • O Foco da nossa disciplina é o JSE. • O J2SE (Java 2 Standard Edition) ou Java SE é uma ferramenta de desenvolvimento para a plataforma Java. Ela contém todo o ambiente necessário para a criação e execução de aplicações Java, incluindo a máquina virtual Java (JVM), o compilador Java, as APIs(bibliotecas) do Java e outras ferramentas utilitárias para uma melhor funcionalidade. VERSÕES DO JSE • • • • • • • • • J2SE 1.2 (1998) – Playground: A partir daqui todas as versões Java foram denominadas de Java 2 Standard Edition. Foi adicionado o Framework Collections. J2SE 1.3 (2000) – Kestrel: Inclusão das bibliotecas JNDI e JavaSound. J2SE 1.4 (2002) – Merlin: Palavra reservada “assert” e biblioteca NIO. J2SE 5.0 (2004) – Tiger: Apesar da versão ser 1.5, agora é chamada apenas de 5. Adições importantes como: Enumeração, Autoboxing, Generics e for-each. JSE 6 (2006) – Mustang: Entre outras alterações houveram mudança na nomenclatura (remoção do 2 – J2SE) e melhora significativa na performance. JSE 7 (2011) – Dolphin – atualizações de desempenho e segurança – funções para aplicativos móveis J2SE 8 (2014) - Versão atual do Java disponibilizada pela Oracle e disponível no site: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads2133151.html INSTALAÇÃO DO JDK7 • As instruções para instalação do JDK8 podem ser encontradas no site: • www.rafaelrodrigos.com.br no link JAVA. • No site também serão encontrados materiais para estudo. • No site podem ser encontradas instruções para instalar o JDK8 no Windows XP, Windows7, Windows8 e Linux. Escolha o arquivo equivalente a seu sistema operacional. • Dúvidas podem ser tiradas em sala de aula ou pelo e-mail do professor: [email protected] Vamos à prática.......