0 FLÁVIO MASSARO TANAKA LINGUAGEM DE PROGRAMAÇÃO PARA WEB E.M. PROFª “MARIA AMÁLIA VOLPON DE FIGUEIREDO” MORRO AGUDO - SP JUNHO DE 2008 1 FLÁVIO MASSARO TANAKA LINGUAGEM DE PROGRAMAÇÃO PARA WEB Trabalho de Conclusão de Curso apresentado à Escola Municipal Profª Maria Amália Volpon de Figueiredo para a Conclusão do curso de Técnico em Informática. E.M. PROFª “MARIA AMÁLIA VOLPON DE FIGUEIREDO” MORRO AGUDO – SP JUNHO DE 2008 2 “Alguns qualificam o espaço cibernético como um novo mundo, um mundo virtual, mas não podemos nos equivocar. Não há dois mundos diferentes, um real e outro virtual, mas apenas um, no qual se devem aplicar e respeitar os mesmos valores de liberdade e dignidade da pessoa”. (Jacques Chirac, 1973.) 3 Dedico, Ao meu pai Chideo Tanaka, à minha mãe Maria Lucia Tanaka e familiares, que sempre me incentivaram, para estudar e aprimorar. Aos educadores, profissionais, educandos e amigos que fazem parte da escola Profª Maria Amália Volpon de Figueiredo pela viabilidade do dedicado aprendizado. 4 AGRADECIMENTOS A Deus, por ter guiado os meus caminhos e sempre estar comigo dentro e fora da escola. A toda a direção da escola E.M. PROFª “MARIA AMÁLIA VOLPON DE FIGUEIREDO”. Que tanto tem cuidado e zelado de mim e da escola. O nosso segundo lar. A todos os professores que me lecionaram e colocaram todo o empenho a me ensinar tudo o quanto hoje sei. Aos colegas de curso, pela agradável companhia. À minha família, que só almeja por mais essa conquista. 5 SUMÁRIO RESUMO .................................................................................................................. 6 INTRODUÇÃO ......................................................................................................... 7 1. E-COMMERCE .................................................................................................... 1.1 O QUE SIGNIFICA E-COMMERCE ? ........................................................... 1.2 O QUE É LINGUAGEM DE PROGRAMAÇÃO ........................................... 1.3 BANCO DE DADOS DISTRIBUÍDO (BDD) ................................................ 8 8 10 11 2. PRINCIPAIS TIPOS DE LINGUAGEM .............................................................. 2.1 HTML ............................................................................................................... 2.1.1 História .................................................................................................... 2.1.2 Etiquetas .................................................................................................. 2.1.3 Cabeçalho ................................................................................................ 2.1.4 Corpo ....................................................................................................... 2.1.5 Editores html ........................................................................................... 2.2 JAVA ................................................................................................................ 2.2.1 A plataforma ............................................................................................ 2.2.2 Tecnologias Java ..................................................................................... 2.2.3 Ambiente de execução Java..................................................................... 2.2.4 Java virtual machine. ............................................................................... 2.2.5 Bibliotecas de classes .............................................................................. 2.2.6 Linguagens .............................................................................................. 2.3 ASP ..................................................................................................................... 2.3.1 História .................................................................................................... 2.4 PHP ...................................................................................................................... 2.4.1 História .................................................................................................... 2.4.2 Principais características.......................................................................... 13 13 14 15 17 18 19 20 22 22 23 23 24 25 25 26 26 27 29 3. SOFTWARES ....................................................................................................... 3.1 MICROSOFT FRONT PAGE .......................................................................... 3.2 ADOBE DREAMWEAVER ............................................................................ 3.3 MACROMEDIA FLASH ................................................................................. 3.4 ADOBE PHOTOSHOP .................................................................................. 30 30 31 32 33 CONCLUSÃO ........................................................................................................... 34 REFERÊNCIAS ........................................................................................................ 35 6 RESUMO A linguagem de programação para web, desde a década 90, vem tendo várias evoluções para melhor atender a nossas necessidades tendo como principal objetivo uma fácil interatividade homem-computador. Serão citados aqui os primeiros passos para a criação de web sites, a necessidade da linguagem de programação, assim como as linguagens mais utilizadas, HTML, JAVA, ASP, PHP. Também alguns dos principais softwares utilizados no mercado: MICROSOFT FRONT PAGE (editor HTML), ADOBE DREAMWEAWER (editor HTML), MACROMEDIA FLASH (editor animações também banners e até mesmo sites), ADOBE PHOTOSHOP (editor de imagens). Proporcionado um fácil entendimento sobre como criar sites dinâmicos e interativos. Este trabalho me proporcionou um amplo conhecimento sobre linguagens de programação, pois era leigo no assunto e hoje estou capacitado a desenvolver as habilidades conhecidas através desta pesquisa. 7 INTRODUÇÃO A Internet, teve inicio em 1969 como a ARPANET, criada pela ARPA, sigla para Advanced Research Projects Agency, ou Agência de Pesquisa de Projetos Avançados, uma subdivisão do Departamento de Defesa dos Estados Unidos. Ela foi criada para a guerra, pois, com essa rede promissora, os dados valiosos do governo daquele país estariam espalhados em vários lugares, ao invés de centralizados em apenas um servidor. Na década de 90 surgiram as primeiras linguagens de programação voltadas para WEB. A linguagem de programação web deve ser feita para seres humanos dialogarem acerca de programas e, só incidentalmente, para computadores os executarem. Como tal deve possuir idéias simples, deve ser capaz de combinar idéias simples para formar idéias mais complexas e deve ser capaz de realizar abstrações de idéias complexas para as tornar simples. Um bom profissional Web deve ser capaz de desenvolver um site web estático e dinâmico, porém, para conseguir este objetivo é imperativo que domine uma linguagem de programação para Web. Existem muitas linguagens e programas que ajudam de uma forma clara e até fácil de como criar um site... Esta pesquisa cientifica, realizadas em sites na Internet e livros didáticos que visa conceitos e técnicas necessárias para o desenvolvimento de web sites para Internet. ECOMMERCE, linguagens de programação HTML, JAVA, ASP, PHP assim como os programas Microsoft FRONTPAGE, adolbe DREAMWEAVER, FLASH, PHOTOSHOP. Com objetivo de apresentar visão moderna e abrangente do desenvolvimento de sistemas voltados à Web, algumas linguagens e programas que são os mais usados para criação de websites, animação, automatização e programação WEB, para melhor poder atender um grande mercado competitivo e abrangente. 8 1. E-COMMERCE 1.1 O QUE SIGNIFICA E-COMMERCE ? Comércio eletrônico ou e-commerce, ou ainda comércio virtual, é um tipo de transação comercial feita especialmente através de um equipamento eletrônico, como, por exemplo, um computador. O ato de vender ou comprar pela Internet é em si um bom exemplo de comércio eletrônico. O mercado mundial está absorvendo o comércio eletrônico em grande escala. Muitos ramos da economia agora estão ligadas ao comércio eletrônico. Imagine sua empresa divulgada no mundo inteiro, fazendo negócios em todos os cantos do planeta, e o melhor de tudo, com um custo muito baixo. Utilizando apenas a informação para satisfazer todas as necessidades de qualquer cliente na hora que ele desejar, onde quer que ele esteja. Não importa se você está no Brasil e seu cliente em outro País. Por isso, o Comércio Eletrônico faz tanto sucesso, e todas as empresas querem uma fatia desse mercado. No início, a comercialização on-line era e ainda é, realizada com produtos como CD's, livros e demais produtos palpáveis e de características tangíveis. Contudo, com o avanço da tecnologia, surge uma nova tendência para a comercialização on-line. Começa a ser viabilizado a venda de serviços pela web, como é o caso dos pacotes turísticos, por exemplo. Muitas operadoras de turismo estão se preparando para abordar seus clientes dessa nova maneira. Existem diversas modalidades de comércio eletrônico, entre elas o B2B, B2C, C2C, G2C e G2B. Por tanto saiba agora qual a diferença entre E-Commerce e E-Business. 9 Existe uma diferença sutil entre o e-commerce e o e-business, que causa confusão em muitos profissionais. Talvez, por ambos serem tratados no meio digital, muitas pessoas confundem e misturam o E-Commerce com o E-Business, enquanto muitas acham que é tudo a mesma coisa. O E-Business é toda aplicação online que oferece suporte a negócios, mas que não precisa necessariamente concluir uma venda, ou seja, um E-Business não é, obrigatoriamente, uma loja virtual. Provavelmente você já deve Ter visto na Internet a Sigla B2B ( Business to Business ), que nada mais é do que negócios entre empresas. O E-Commerce refere-se à vendas, ou seja, é uma transação comercial pela internet. Você também já deve Ter visto em algum lugar na internet a sigla B2C (Business to Costumer) que se refere a transações comerciais de empresas direto para o cosumidor final, o termo “Business to Costumer” é muito usado para especificar uma loja virtual hoje em dia. O comércio eletrônico pode ser B2B e B2C ou apenas um dos dois, se você vende produtos ou serviços via internet para um consumir final ou seja pessoa física então se trata de um B2C, se faz vendas para uma empresa como pessoa jurídica, então estamos falando de B2B (Business to Business). Lembrando que o B2B, é tudo e qualquer tipo de vendas e serviços entre pessoas jurídicas, portanto não confunda. C2C (do inglês Consumer to Consumer) é uma referência ao comércio eletrônico que se desenvolve entre usuários particulares da Internet. Aqui o comércio de bens ou serviços não envolve produtores e sim consumidor final com consumidor final, sem intermediários. G2G ou Government to Citizen, ou literalmente, do governo para Cidadão, é uma relação comercial pela Internet entre governo (estadual, federal ou municipal) e consumidores. Exemplos: o pagamento via Internet de impostos, multas e tarifas públicas.Podemos definir como portais orientados a serviços prestados ao público por meios 10 de sítio oficial que disponibilizam desde serviços, empregos e educação à guia do consumidor para serviços prestados ao cidadão. Portanto temos o G2C com uma ferramenta para levar ao cidadão conhecimento, informação e serviços diversos sobre o governo. Trazendo o cidadão para mais perto do governo sendo um ponto mais fundamental para a inclusão digital com a união do cidadão, não importando a classe, visão política ou até mesmo o nível de escolaridade. O G2B, ou Government to Business, é a relação de negócios pela Internet entre governo e empresas. Por exemplo: as compras pelo Estado através da internet por meio de pregões e licitações, tomada de preços, etc. São as transações entre empresa e governo. Os exemplos comuns de B2G são licitações e compras de fornecedores. A categoria negócio-administração cobre todas as transações entre companhias e organizações governamentais. Esta categoria está na infância, mas pode expandir-se rapidamente à medida que os governos usarem suas próprias operações para despertar a atenção e o crescimento do comércio eletrônico. Nos Estados Unidos já é possível cadastrar-se como fornecedor de certos produtos ao governo via internet e todo o processo de compras também é eletrônico. 1.2 - O QUE É LINGUAGEM DE PROGRAMAÇÃO? Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. 11 O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador. Uma das principais metas das linguagens de programação é permitir que programadores tenham uma maior produtividade, permitindo expressar suas intenções mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (código de máquina). Assim, linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programação são ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez. Linguagens de programação também tornam os programas menos dependentes de computadores ou ambientes computacionais específicos (propriedade chamada de portabilidade). Isto acontece porque programas escritos em linguagens de programação são traduzidos para o código de máquina do computador no qual será executado em vez de ser diretamente executado. Uma meta ambiciosa do Fortran, uma das primeiras linguagens de programação, era esta independência da máquina onde seria executada. 1.3 BANCO DE DADOS DISTRIBUÍDO (BDD) BDD é uma coleção de vários bancos de dados logicamente inter-relacionados, distribuídos por uma rede de computadores. Existem dois tipos de banco de dados distribuídos, os homogêneos e os heterogêneos. Os homogêneos são compostos pelos mesmos bancos de dados, já os Heterogêneos são aqueles que são compostos por mais de um tipo de banco de dados. 12 Num banco de dados distribuídos os arquivos podem estar replicados ou fragmentados, esses dois tipos podem ser encontrados aos longos dos nós do sistema de BDD's. Quando os dados se encontram replicados, existe uma cópia de cada um dos dados em cada nó, tornando as bases iguais (ex: tabela de produtos de uma grande loja). Já na fragmentação, os dados se encontram divididos ao longo do sistema, ou seja a cada nó existe uma base de dados diferente se olharmos de uma forma local, mas se analisarmos de uma forma global os dados são vistos de uma forma única, pois cada nó possui um catálogo que contém cada informação dos dados dos bancos adjacentes. A replicação dos dados pode se dar de maneira síncrona ou assíncrona. No caso de replicação síncrona, cada transação é dada como concluída quando todos os nós confirmam que a transação local foi bem sucedida. Na replicação assíncrona, o nó principal executa a transação enviando confirmação ao solicitante e então encaminha a transação aos demais nós. Exemplo de banco de dados voltado para Internet são o SQL e ORACLE. 13 2. PRINCIPAIS TIPOS DE LINGUAGEM 2.1 HTML HTML é uma linguagem com a qual se definem as páginas web. Basicamente trata-se de um conjunto de etiquetas (tags) que servem para definir a forma na qual se apresentará o texto e outros elementos da página. Criou-se a princípio com objetivos de divulgação. Porém, não se pensou que a web chegaria a ser uma área de ócio com caráter multimídia, de modo que, o HTML se criou sem dar respostas a todos os possíveis usos que lhe dariam posteriormente e a todo coletivo de gente que o utilizariam no futuro. Entretanto, frente a este deficiente planejamento, com o tempo, foram se incorporando modificações as quais são os padrões (standards) do HTML. Numerosos padrões já se apresentaram. O HTML 4.01 foi o último padrão feito até o mês de abril de 2004. O HTML é uma linguagem de programação muito fácil de aprender, o que permite que qualquer pessoa, mesmo que nunca tenha programado possa enfrentar a tarefa de criar um website. O HTML é fácil e em pouco tempo poderemos dominar sua linguagem. Mais adiante, conseguiremos os resultados profissionais graças as nossas capacidades para o desenho e a nossa veia artística. Uma vez conhecendo o conceito do HTML, vamos adiantar mais algumas coisas. Esta linguagem se escreve em um documento de texto, por isso necessitamos de um editor de textos para escrever uma página web. Sendo assim, o arquivo onde está contido o código HTML é um arquivo de texto com uma peculiaridade, que tem uma extensão .html ou .htm (é indiferente qual deles utilizar). De modo que quando programarmos em HTML, o faremos com um editor de texto, o mais simples possível e salvaremos nossos trabalhos com extensão .html, por exemplo: minhapagina.html. 14 Para adiantar um pouco mais como se utiliza o HTML, diremos que a linguagem consta de tags que são etiquetas que tem esta forma<B> ou<P>. Cada etiqueta significa uma coisa , por exemplo:<B> significa que se escreve em negrito (bold) ou<P> significa um parágrafo,<A> é um link, etc. Quase todas as etiquetas têm sua correspondente etiqueta de fechamento, que indica que a partir desse ponto a etiqueta não vai se alterar. Por exemplo,</B> se utiliza para indicar que se deixe de escrever em negrito. Portanto, o HTML não é mais do que uma série de tags que se utilizam para definir a forma ou o estilo que queremos aplicar em nosso documento. Ou seja,<B> isto está em negrito</B>. 2.1.1 História Tim Berners-Lee criou o HTML original (e outros protocolos associados como o HTTP) em uma estação NeXTcube usando o ambiente de desenvolvimento NeXTSTEP. Na época a linguagem não era uma especificação, mas uma coleção de ferramentas para resolver um problema de Tim: a comunicação e disseminação das pesquisas entre ele e seu grupo de colegas. Sua solução, combinada com a então emergente r ernet pública (que tornaria-se a Internet) ganhou atenção mundial. As primeiras versões do HTML foram definidas com regras sintáticas flexíveis, o que ajudou aqueles sem familiaridade com a publicação na Web. Atualmente a sintaxe do HTML é muito mais rígida, permitindo um código mais preciso. Através do tempo, a utilização de ferramentas para autoria de HTML aumentou, assim como a tendência em tornar a sintaxe cada vez mais rígida. Apesar disso, pois questões histórias, os navegadores ainda hoje conseguem interpretar páginas web que estão longe de ser um código HTML válido. A linguagem foi definida em especificações formais pela década de 1990, inspiradas nas propostas originais de Tim Berners-Lee em criar uma linguagem baseada em SGML para a Internet. A primeira publicação foi esboçada por Berners-Lee e Dan Connolly, e publicada 15 em 1993 na IETFcomo uma aplicação formal para o SGML (com uma DTD em SGML definindo a gramática). A IETF criou um grupo de trabalho para o HTML no ano seguinte, e publicou o HTML 2.0 em 1995. Desde 1996, as especificações HTML vêm sendo mantidas, com o auxílio de fabricantes de software, pela World Wide Web Consortium (W3C). Apesar disso, em 2000 a linguagem tornou-se também uma norma internacional (ISO/IEC 15445:2000). A última especificação HTML lançada pela W3C foi a recomendação HTML 4.01, publicada no final de 1999. Uma errata ainda foi lançada em 2001. Desde a publicação do HTML 4.0 no final de 1997, o grupo de trabalho da W3C tem cada vez mais — e de 2002 a 2006, de forma exclusiva — focado no desenvolvimento do XHTML, uma especificação HTML baseada em XML que é considerada pela W3C como um sucessor do HTML. O XHTML aplicada uma sintaxe mais rigorosa e menos ambígua para tornar o HTML mais simples de ser processado e estendido. 2.1.2 Etiquetas Todo documento HTML apresenta etiquetas, elementos entre parênteses angulares (sinais de maior e menor) (< e >); esses elementos são os comandos de formatação da linguagem. A maioria das etiquetas tem sua correspondente de fechamento: <etiqueta>...</etiqueta> Isso é necessário porque as etiquetas servem para definir a formatação de uma porção do documento, e assim marcamos onde começa e termina o texto com a formatação especificada por ela. Alguns elementos são chamados “vazios”, pois não marcam uma região de texto, apenas inserem algum elemento no documento: <etiqueta> Uma etiqueta é formada por comandos, atributos e valores. Os atributos modificam os resultados padrões dos comandos e os valores caracterizam essa mudança. Exemplo: 16 <HR color=”red”> No qual: HR = comando que desenha uma linha color = atributo que especifica uma cor diferente da cor padrão da linha (que é preto) red = valor do atributo color, que é a cor da linha que será desenhada Cada comando tem seus atributos possíveis e seus valores. Um exemplo, é o atributo size que pode ser usado com o comando FONT, com o HR mas que não pode ser usado com o comando BODY. Isso quer dizer que devemos saber exatamente quais os atributos e valores possíveis para cada comando. De maneira geral o HTML é um grande recurso muito simples e acessível para a produção e compartilhamento de documentos. Edição de documentos HTML Os documentos em HTML são como arquivos de texto comuns. Para facilitar a produção de documentos, existem editores HTML específicos: Editores de texto fonte: inserem automaticamente as etiquetas, orientando a inserção de atributos e marcações. Editores WYSIWYG (“What You See Is What You Get”, cuja tradução remete a algo como “O que você vê é o que você tem” [OQVVEOQVT]): oferecem ambiente de edição com um “esboço” resultado final das marcações. Estrutura básica de um documento A estrutura de um documento HTML apresenta os seguintes componentes: <!DOCTYPE HTML PUBLIC “http://www.w3.org/TR/html4/strict.dtd”> <html lang=”pt”> <head> “-//W3C//DTD HTML 4.01//EN” 17 <title>Título do Documento</title> </head> <body> texto, imagem, links, … </body> </html> As etiquetas HTML não são sensíveis à caixa (case sensitive), portanto tanto faz escrever <HTML>, <Html>, <html> ou <HtMl>. As etiquetas básicas de HTML, cuja presença é altamente recomendada nas páginas são: <html>: define o início de um documento HTML e indica ao navegador que todo conteúdo posterior deve ser tratado como uma série de códigos HTML. <head>: define o cabeçalho de um documento HTML, que traz informações sobre o documento que está sendo aberto. <body>: define o conteúdo principal, o corpo do documento. Esta é a parte do documento HTML que é exibida no navegador. No corpo pode-se definir propriedades comuns a toda a página, como cor de fundo, margens, e outras formatações. 2.1.3 Cabeçalho Dentro do cabeçalho podemos encontrar os seguintes comandos: <title>: define o título da página, que é exibido na barra de título dos navegadores. <style>: define formatação em CSS. 18 <script>: define programação de certas funções em página com scripts, podendo adicionar funções de JavaScript. <link>: define ligações da página com outros arquivos como feeds, CSS, scripts, etc. <meta>: define propriedades da página, como codificação de caracteres, descrição da página, autor, etc. São meta informações sobre documento. Tais campos são muitos usados por motores de busca para obterem mais informações sobre o documento, afim de classificá-lo melhor. Por exemplo, pode-se adicionar o código <meta name=”description” content=”descrição da sua página” /> no documento HTML para indicar ao motor de busca que texto de descrição apresentar junto com a ligação para o documento. Obs: as etiquetas <style> e <script> servem tanto para delimitar o espaço usados pelos códigos na pagina quanto para invocar códigos existentes em outros arquivos externos. 2.1.4 Corpo Dentro do corpo podemos encontrar outras várias etiquetas, como por exemplo: <h1>, <h2>,... <h6>: cabeçalhos e títulos no documento em diversos tamanhos. <p>: novo parágrafo. < r>: quebra de linha. <table>: cria uma tabela (linhas são criadas com <TR> e novas células com <TD>. Já os cabeçalhos de coluna são criados com a etiqueta <TH>.) <div>: determina uma divisão na página a qual pode possuir variadas formatações. <font>: forma um texto (fonte, cor e tamanho) de um trecho do texto. <b>, <i>, <u> e <s>: negrito, itálico, sublinhado e riscado, respectivamente. <img>: imagem. <a>: hiper-ligação para um outro local, seja uma página, um e-mail ou outro serviço. 19 <textarea>: caixa de texto (com mais de uma linha); estas caixas de texto são muito usadas em blogs, elas podem ser auto selecionáveis e conter outros códigos a serem distribuídos. <acronym>: acrônimo (sigla) <cite>: citação <adress>: endereço 2.1.5 Editores HTML Adobe Dreamweaver Adobe GoLive. Bluefish. CoffeeCup HTML Editor. CoffeeCup VisualSite Designer. Edit Plus. Emacs. Evrsoft First Page. HTML 4.0 Kompozer Microsoft Expression Web. Microsoft FrontPage. Mozilla Composer Namo Web Editor NVU Quanta Trellian WebPage Vim 20 2.2 JAVA Java é uma linguagem de programação que tem como objetivo construir programas que possam ser utilizados em qualquer plataforma ou computador, com o mínimo possível de dependência com um sistema operacional ou ambiente de desenvolvimento. Do ponto de vista gerencial, Java procura preservar investimentos que sejam feitos nessa tecnologia, permitindo que se substitua equipamentos, sistemas operacionais ou arquiteturas sem que se perca o código gerado nesta linguagem. Java foi construído a partir das técnicas mais modernas de desenvolvimento de sistemas de informação, com a intenção de utilizar o paradigma de orientação a objetos, multi-tarefa e baseado em computação distribuída. Java é apoiado majoritariamente por duas grandes empresas, a Sun (criadora da tecnologia) e a IBM. Ambas têm criado inúmeras e contínuas melhorias na linguagem e também ferramentas que agilizam o trabalho dos desenvolvedores que, conseqüentemente, conseguem construir mais com menos recursos. Por ser portável, ou seja, por não estar presa a um sistema operacional e ambiente específico, Java pode ser utilizado em diversos ambientes, desde pequenas empresas até grandes corporações, desde supercomputadores até celulares e computadores de mão. Com isso, empresas que adotam esta tecnologia têm maior portabilidade de seus aplicativos e pode utilizar uma única linguagem em diferentes computadores e dispositivos. Na verdade, Java é um conjunto de especificações: da linguagem de programação, do formato do arquivo.class, da API e da máquina virtual. O segredo está em emular essa máquina nos diversos aparelhos existentes. Digo aparelhos porque Java não é só para microcomputadores, tem pra celular, brinquedos (ie.: Lego MindStorms) e, diz a lenda, até relógios. 21 Quem conhece emuladores (ex PS3), sabe como funciona. É como se existisse uma máquina virtual dentro do seu micro, fazendo os programas daquela rodar neste. A Sun fez a JVM (Java Virtual Machine, como é chamado o emulador do Java) para os principais sistemas de hoje. Temos pra Windows, Linux, Macintosh,... Você já deve ter usado o Java sem perceber, pois existem inúmeros sites na Internet que utilizam Applets. E estes nada mais são do que programas em Java rodando dentro de um browser. Atualmente, Java é a linguagem mais utilizada no Brasil, segundo pesquisa recente do Grupo Impacta. Portanto, devido à facilidade de encontrar profissionais especializados na linguagem têm facilitado a adoção de sistemas de informação construídos em Java. Geralmente, o Java Virtual Machine não vem instalado de fábrica nos computadores, quer utilizem o sistema operacional Windows ou Linux, apesar de ser grátis. Assim, para instalar o Java, você deve ir ao site da Sun e baixar o JRE – Java Runtime Engine – que é cedido gratuitamente pela Sun. Com este software instalado em sua máquina, é possível executar programas em Java. Caso você queira desenvolver programas em Java, você tem duas opções: o J2SE e o J2EE. O primeiro é Java 2 Standard Edition que é utilizado para desenvolvimento no desktop. Este software pode ser baixado também no site da Sun. Já o J2EE é o ambiente de desenvolvimento para servidores de aplicações baseados na Web. Com o J2EE, é possível construir aplicações corporativas completamente baseadas na tecnologia da Internet. Java possui ainda diversas ferramentas e IDE (Integrated Development Environment) que facilitam o desenvolvimento de aplicativos nesta linguagem. O objetivo destas ferramentas é agilizar o desenvolvimento e aumentar a produtividade dos programadores e analistas. As quatro principais IDEs para Java são Eclipse, IBM WebSphere, Sun Java Studio Creator e Jbuilder, sendo apenas a primeira totalmente baseado em software livre. 22 2.2.1 A plataforma O universo Java é um vasto conjunto de tecnologias, composto por três plataformas principais que foram criadas para segmentos específicos de aplicações: Java SE (Java Platform, Standard Edition). É a base da plataforma; inclui o ambiente de execução e as bibliotecas comuns. Java EE (Java Plataform, Enterprise Edition). A edição voltada para o desenvolvimento de aplicações corporativas e para internet. Java ME (Java Platform, Micro Edition). A edição para o desenvolvimento de aplicações para dispositivos móveis e embarcados. Além disso, pode-se destacar outras duas plataformas Java mais específicas: Java Card. Voltada para dispositivos embarcados com limitações de processamento e armazenamento, como smart cards e o Java Ring. JavaFX. Plataforma para desenvolvimento de aplicações multimídia em desktop/web (JavaFX Script) e dispositivos móveis (JavaFX mobile). 2.2.2 Tecnologias Java A plataforma Java é constituída de um grande número de tecnologias, cada uma provê uma porção distinta de todo o ambiente de desenvolvimento e execução de software. Os usuários finais, tipicamente, interagem com a máquina virtual Java (Java Virtual Machine, ou JVM) e um conjunto padrão de bibliotecas de classe. Existe um grande número de maneiras de se utilizar uma aplicação Java, incluindo applets embutidas em páginas web, aplicativos de uso geral em desktops, aplicativos em aparelhos celulares e em servidores de aplicações para Internet. Os desenvolvedores de aplicações em Java utilizam um conjunto de ferramentas de desenvolvimento, o JDK. 23 2.2.3 Ambiente de execução Java Um programa escrito para a plataforma Java necessita de dois componentes para ser executado: a máquina virtual Java, e um conjunto de bibliotecas de classe que disponibilizam um série de serviços para esse programa. O pacote de software que contém a máquina virtual e esta biblioteca de classes é conhecido como JRE (Java Runtime Environment). 2.2.4 Java Virtual Machine O coração da plataforma Java é o conceito de um processador “virtual”, que executa os programas formados por bytecodes Java. Este bytecode é o mesmo independentemente do hardware ou sistema operacional do sistema em que o programa será executado. A plataforma Java disponibiliza um interpretador, a JVM, que traduz, em tempo de execução, o bytecode para instruções nativas do processador. Isto permite que uma mesma aplicação seja executada em qualquer plataforma computacional que possua uma implementação da máquina virtual. Desde a versão 1.2 da JRE, a implementação da Sun da JVM inclui um compilador just-in-time (JIT). Com este compilador todo o bytecode de um programa é transformado em instruções nativas e carregado na máquina virtual em uma só operação, permitindo um ganho de desempenho muito grande em comparação com a implementação anterior, onde as instruções em bytecode eram interpretadas uma por vez. O compilador JIT pode ser projetado de acordo com a plataforma ou hardware de destino, e o código que ele gera pode ser otimizado com base na observação de padrões de comportamento dos programas. A plataforma Java não é a primeira plataforma baseada em uma máquina virtual, mas é de longe a mais conhecida e a que alcançou maior sucesso. Anteriormente esta tecnologia era utilizada na criação de emuladores para auxílio ao projeto de hardware ou de sistemas operacionais. A plataforma Java foi desenhada para ser implementada inteiramente em 24 software, enquanto permitindo a sua migração de maneira fácil para plataformas de hardware de todos os tipos. 2.2.5 Bibliotecas de classes Na maioria dos sistemas operacionais modernos, um corpo formado por código reusável é organizado e disponibilizado para simplificar o trabalho do programador. Este código encontra-se, normalmente, na forma de bibliotecas dinâmicas que a aplicação utiliza durante a sua execução. Como a plataforma Java não é dependente de qualquer sistema operacional, as aplicações não podem depender das bibliotecas destes sistemas. Ao contrário, a plataforma Java disponibiliza um grande conjunto padronizado de bibliotecas de classe, que contém praticamente o mesmo número de funções encontradas nos sistemas operacionais modernos. Uma classe de biblioteca Java serve a três propósitos dentro da plataforma Java. Como outras bibliotecas padrão, elas disponibilizam ao programador um conjunto de funções bem conhecidas que realizam tarefas comuns, como a manutenção de listas de elementos ou manipulação de strings. Em adição, a biblioteca contém uma interface para tarefas que dependem do hardware e do sistema operacional. Tarefas como acesso a rede e a arquivos são altamente dependentes das capacidades nativas do ambiente. As bibliotecas java.net e java.io implementam o código necessário internamente, e disponibilizam uma interface padrão para que as aplicações Java possam executar estas tarefas. Finalmente, se alguma plataforma não suportar alguma função que uma aplicação Java necessita, as bibliotecas implementam esta funcionalidade usando os recursos disponíveis, ou disponibilizam um meio consistente para que a aplicação verifique a presença de determinada funcionalidade. 25 2.2.6 Linguagens A palavra Java usualmente é uma referência a linguagem de programação Java, que é a primeira linguagem criada pela Sun Microsystems para a JVM. A segunda linguagem criada pela Sun Microsystems para a JVM é chamada de Groovy, uma linguagem mais dinâmica, inspirada em linguagens como Python, Ruby e Smalltalk. Também existem implementações para a linguagem Python, a Jython, e para a linguagem Ruby, a Jruby. Plataformas similares O sucesso da plataforma Java e o seu conceito write once, run anywhere levaram a outros esforços similares. O mais notável destes esforços é a plataforma .NET, da Microsoft, que utilizou muitos dos conceitos e inovações da plataforma Java. 2.3 ASP É uma linguagem de programação totalmente visada e criada para Internet. Active Server Page (ASP) é uma linguagem de programação de scripts, ou seja, é reduzida e simplificada para um uso específico. As Actives Server Pages da Microsoft (ASP) formam a estrutura de aplicações que permitem o desenvolvimento de funções poderosas, baseadas num servidor de um web site. A lógica das ASP é executada no servidor Web, as aplicações que as integram são acessíveis desde qualquer navegador e independe de qual seja a plataforma. Avançamos em muito pouco tempo, das páginas clássicas às páginas dinâmicas. Seguramente notaram as extensões .asp quando se navega pela web. Estas três letras marcam a passagem de uma web vitrine a uma web interativa. As Active Server Pages (ASP) apareceram junto com a necessidade dos webmasters de ter uma tecnologia capaz de completar os scripts que rodavam no cliente, que vocês conhecem certamente: JavaScript, VBScript e Jscript. 26 2.3.1 História Em 1996, a Microsoft anunciou a chegada das ASP, tecnologia extraída de um projeto chamado DENALI. Esta tecnologia servidora é a primeira em desenvolvimento, a se impor muito rapidamente. Ela se beneficiou da gratuidade do Internet Information Server (IIS), servidor web fornecido com o Windows NT. Além disto, a programação das ASP, via uma linguagem de script (VBScript, ou Javascript) é fácil, e acessível a inúmeros conceitos de web sites. O desenvolvimento do comércio eletrônico é também um fator indiscutível do desenvolvimento rápido das ASP. E pode ser o mesmo inversamente. De fato, a possibilidade de criar rapidamente um site web dinâmico com acesso às bases de dados também favorece a concepção de sites comerciais. Atualmente, as Active Server Pages estão na versão 3.0. Isto significa que se trata de uma tecnologia madura, que foi testada, e que certamente está em evolução. Além do mais, ela não se contenta de pertencer ao mundo da Microsoft. De fato, graças aos esforços de empresas como HalcyonSoftware ou bem ChiliSoft, as ASP rodam sobre várias plataformas ( Unix, Linux, Mac…) e vários web servers (Apache, Netscape, FastTrack…). Através dessa tecnologia também é possível executar consultas a Banco de Dados, através da biblioteca de componentes ActiveX. O uso desta tecnologia vem diminuindo sensivelmente pela maturação da tecnologia .NET, sendo gradativamente substituído pelo ASP.NET que proporciona uma gama maior de recursos e um melhor desempenho. 2.4 PHP Linguagem de programação WEB totalmente gratuita e de código fonte aberto (Open Source) que possibilita ao programador uma maior interatividade com os códigos e sua 27 linguagem de uso geral. É considerada por muitos a melhor linguagem do momento para programação em Internet. para o desenvolvimento de aplicações Web, pode ser embutido dentro do HTML. PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web, como por exemplo a Wikipédia. Apesar de ser uma linguagem de fácil aprendizagem e de utilização para pequenos scripts dinâmicos simples, o PHP é uma poderosa linguagem orientada a objetos. O que distingui o PHP de algo como Javascript no lado do cliente é que o código é executado no servidor. Se você tivesse um script em seu servidor, o cliente receberia os resultados da execução do script, sem nenhum modo de determinar como é o código fonte. Você pode inclusive configurar seu servidor para processar todos os seus arquivos HTML como PHP, e então não haverá nenhum modo dos usuários descobrirem que se você usa essa linguagem ou não. A melhor coisa em usar PHP está no fato de ele ser extremamente simples para um iniciante, mas oferece muitos recursos para o programador profissional. Não se preocupe em ler as longas listas de funções do PHP. Pode pular essa parte (por enquanto) e começar a escrever scripts em poucas horas. Apesar do desenvolvimento do PHP ser focado nos scripts do lado do servidor, você pode fazer muito mais com ele. 2.4.1 História A linguagem surgiu por volta de 1994, como um subconjunto de scripts Perl criados por Rasmus Lerdof, com o nome Personal Home Page Tools. Em 1997 foi lançado o novo 28 pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL. Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e dava aos desenvolvedores somente a possibilidade de implementar propriedades e métodos. Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos de orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação de cópias de objetos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como é a linguagem Java. O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha com handlers. Caso se copie um objeto, na verdade copiaremos um apontamento, pois, caso haja alguma mudança na versão original do objeto, todas as outras também sofrem a alteração, o que não acontecia na PHP 4. Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões PECL (PHP Extension Community Library) e alguns destes módulos são introduzidos como padrão em novas versões da linguagem. É muito parecida, em tipos de dados, sintaxe e mesmo funções, com a linguagem C e com a C++. Pode ser, dependendo da configuração do servidor, embarcada no código HTML. Existem versões do PHP disponíveis para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, IRIX e Solaris. A Wikipédia funciona sobre um software inteiramente escrito em PHP, usando bases de dados MySQL: o MediaWiki. 29 Construir uma página dinâmica baseada em bases de dados é simples com PHP ,(em parte, vale lembrar), este provê suporte a um grande número de bases de dados: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc., podendo abstrair o banco com a biblioteca ADOdb, entre outras. PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XMLRPC, SOAP. É possível abrir sockets e interagir com outros protocolos. E as bibliotecas de terceiros expandem ainda mais estas funcionalidades. Existem iniciativas para utilizar o PHP como linguagem de programação de sistemas fixos. A mais notável é a PHP-GTK. Trata-se de um conjunto do PHP com a biblioteca GTK, portada do C++, fazendo assim softwares inter-operacionais entre Windows e Linux. Na prática, essa extensão tem sido muito pouco utilizada para projetos reais. 2.4.2 Principais características A linguagem PHP é uma linguagem de programação de domínio específico, ou seja, seu escopo se estende a um campo de atuação que é o desenvolvimento web, embora tenha variantes como o PHP-GTK. Seu propósito principal é de implementar soluções web velozes, simples e eficientes. Características: Velocidade e robustez Estruturado e orientação a objeto Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer lugar; Tipagem fraca Sintaxe similar a Linguagem C/C++ e o PERL 30 3 – SOFTWARES Aplicativos voltados para criação, animação de web site, assim como tratamento de imagens. 3.1 - MICROSOFT FRONT PAGE. O Microsoft FrontPage é um editor HTML WYSIWYG (“What You See Is What You Get”, cuja tradução remete a algo como “O que você vê é o que você tem” [OQVVEOQVT]) e ferramenta de administração de websites da Microsoft para o sistema operacional Windows. Foi parte da suíte de aplicativos Microsoft Office de 1997 a 2006. Foi substituído pelo Microsoft Expression Web. O FrontPage foi inicialmente desenvolvido pela Vermeer Technologies Inc., uma empresa norte-americana do estado de Massachusetts, que pode ser notado através de arquivos com a extensão _vti_ em páginas de Internet criadas com o FrontPage. A Vermeer foi comprada pela Microsoft em 1996 especificamente para a Microsoft adicionar o FrontPage à sua linha de produtos. O FrontPage já usou plug-ins proprietários conhecidos como FrontPage Server Extensions (extensões de servidor do FrontPage), para serem instaladas no servidor web para as páginas funcionarem. Mas versões mais novas do programa também suportam o protocolo WebDAV, padrão da W3C. Como um editor WYSIWYG (o que você vê é o que você tem), o FrontPage foi projetado para esconder os detalhes dos códigos HTML do usuário, tornando possível a criação de páginas de Internet por usuários leigos. Alguns desenvolvedores criticam o programa por criar códigos muito maiores do que o necessário deixando a performance dos navegadores web fraca. Além disso, outros reclamam que o FrontPage não cria páginas de 31 acordo com os padrões da W3C e que às vezes não aparece corretamente em navegadores que não são da Microsoft. Uma versão para Mac OS foi lançada em torno de 1998, mas tinha menos recursos que a versão para Windows e a Microsoft nunca a atualizou. O principal concorrente do FrontPage é o Macromedia Dreamweaver, outro produto para criar páginas e sites/sítios de Internet. 3.2 - ADOBE DREAMWEAVER. O Macromedia Dreamweaver é uma ferramenta de desenvolvimento para a web criada pela Macromedia (agora Adobe Systems), que está atualmente na versão CS3. Versões iniciais da aplicação serviam como um simples editor HTML WYSIWYG (“What You See Is What You Get”, ou “O que você vê é o que você tem”), porém versões mais recentes incorporaram notável suporte para muitas outras tecnologias web tais como XHTML, CSS, JavaScript e vários scripts de servidor. Desde o final dos anos 90, o Dreamweaver vem tendo um sucesso crescente e hoje domina cerca de 80% do mercado de editores HTML. Existem versões tanto para Mac OS quanto para Windows, mas também é possível executá-lo em plataformas Unix e sabores através do uso de softwares de emulação como o Wine. Como um editor WYSIWYG, o Dreamweaver pode esconder os detalhes do código HTML do usuário, tornando possível que não-especialistas criem facilmente páginas e sítios web. Alguns desenvolvedores web criticam esta abordagem por produzirem páginas HTML muito maiores do que o necessário, o que pode levar a um desempenho pobre dos navegadores web. Isto pode ser particularmente verdade porque a aplicação torna muito fácil a criação de layouts baseados em tabelas. Além disso, alguns desenvolvedores de sítios web, criticaram o Dreamweaver no passado, pela introdução de código, que freqüentemente não era compatível com os padrões W3C. No entanto, a Macromedia aumentou o suporte para CSS e layout de página sem tabelas em versões posteriores. 32 O Dreamweaver permite selecionar a maioria dos navegadores para se ter uma previsão (preview) dos sítios web. O software possui também ótimas ferramentas de gerenciamento de sítios tais como a habilidade de encontrar e substituir, no sítio inteiro, linhas de texto ou código através de parâmetros especificados. O painel de comportamentos também permite a criação de JavaScript básico, sem qualquer conhecimento de codificação. Com o advento da versão MX, a Macromedia incorporou ferramentas de criação de conteúdo dinâmico ao Dreamweaver. No espírito das ferramentas HTML WYSIWYG, permite que usuários se conectem a bancos de dados (tais como MySQL e Microsoft Access) para filtrar e mostrar conteúdo usando tecnologias de script tais como PHP, ColdFusion, ASP e ASP.NET, sem qualquer experiência prévia em programação. 3.3 – MACROMEDIA FLASH. Adobe Flash (antes Macromedia Flash), ou simplesmente Flash, é um software primariamente de gráfico vetorial - apesar de suportar imagens bitmap e vídeos - utilizado geralmente para a criação de animações interativas que funcionam embutidas num navegador web. O produto era desenvolvido e comercializado pela Macromedia, empresa especializada em desenvolver programas que auxiliam o processo de criação de páginas web. Costuma-se chamar apenas de flash os arquivos gerados pelo Adobe Flash, ou seja, a animação em si. Esses arquivos são de extensão ".swf" (de Shockwave Flash File). Eles podem ser visualizados em uma página web usando um navegador que o suporta (geralmente com plug-in especial) ou através do Flash Player, que é um leve aplicativo somente-leitura distribuído gratuitamente pela Adobe. Os arquivos feitos em Flash são comumente utilizados para propaganda animada (banners) em páginas web, mas evidentemente não limitando-se a isso, pois existem diversos jogos e apresentações dos mais variados tipos utilizando a tecnologia. 33 Em versões recentes (a partir da 5), a Macromedia expandiu a utilização do Flash para além de simples animações, mas também para uma ferramenta de desenvolvimento de aplicações completas. Isso graças aos avanços na linguagem ActionScript, que é a linguagem de programação utilizada em aplicações de arquivos flashes (.swf). A terceira versão desta linguagem acaba de ser lançada, tornando mais fácil e rápido criar aplicações para web, além de contar com recursos bem mais poderosos. 3.4 – ADOBE PHOTOSHOP. Adobe Photoshop é um software caracterizado como editor de imagens bidimensionais do tipo raster (possuindo ainda algumas capacidades de edição típicas dos editores vectoriais) desenvolvido pela Adobe Systems. É considerado o líder no mercado dos editores de imagem profissionais, assim como o programa de facto para edição profissional de imagens digitais e trabalhos de pré-impressão. Sua mais recente versão é apelidada como Adobe Photoshop CS3 (sigla cujo significado é Creative Suite 3, correspondente à décima edição desde seu lançamento), disponível para os sistemas operativos Microsoft Windows e Mac OS X. As versões anteriores até à 7.0 podem ser usadas em outros sistemas operativos, como o Linux, por meio de programas como o Crossover Office. Algumas versões anteriores foram lançadas também para IRIX, mas o suporte a esta versão foi descontinuado após a versão 3.0. Formato PSD padrão da Adobe para documentos do Photoshop. Possui muitos recursos extras como image layering. Suportado por muito poucos programas fora o Adobe Photoshop. A grande vantagem desse formato é que ele mantém todas as camadas de seu projeto no photoshop, sendo assim você pode reeditá-los mais tarde. 34 CONCLUSÃO Com o desenvolvimento desta pesquisa, fiquei informado sobre linguagem de programação Web, pois era leigo em tal assunto. Meu objetivo neste trabalho é transmitir de forma clara e transparente a qualquer tipo de usuário, que linguagem de programação pode ser feita de varias formas. Conclui que o avanço tecnológico e a popularização da Internet possibilitaram uma maior tendência para ao comércio eletrônico. Conseqüentemente surgiram novas linguagens de programação, que possuem recursos para desenvolvimento de aplicações para Internet. Depois desta pesquisa constatei que não é tão difícil construir um Web Site, e que qualquer pessoa que tenha conhecimentos básicos em informática terá condições plenas de criar seu site. Para isso o usuário deverá iniciar com a linguagem HTML que é a mais recomendada, por se tratar de uma linguagem vitrine. Já em níveis mais avançados encontram-se poderosos sistemas gerenciadores de banco de dados distribuídos que armazenam os mais variados registros. Também será necessário um simulador instalado em sua maquina onde receberá os comandos e executará as funções e o mais recomendado é o Java. Aos usuários com maior conhecimento, esta pesquisa lhe fornecerá informações sobre alguns dos principais softwares existentes no mercado, tais como: ASP, PHP, Microsoft FrontPage, Macromedia Dreamweaver, Adobe Flash e Adobe Photoshop. Hoje é um grande negócio investir em cursos voltados para a programação de web, pois o mercado de trabalho necessita de profissionais com habilidades e competências para exercer tal função. E é graças a estes profissionais que hoje temos a Internet. 35 REFERÊNCIAS http://br.php.net/manual/pt_BR/introduction.php http://database.vvg.com/asp/apresenta/default.asp http://pt.wikipedia.org/wiki/Adobe_Flash http://pt.wikipedia.org/wiki/Asp http://pt.wikipedia.org/wiki/Banco_de_dados_distribu%C3%Addos http://pt.wikipedia.org/wiki/Com%C3%A9rcio_eletr%C3%B4nico http://pt.wikipedia.org/wiki/Dreamweaver http://pt.wikipedia.org/wiki/Front_Page http://pt.wikipedia.org/wiki/Html http://pt.wikipedia.org/wiki/Photoshop#Formato_PSD http://pt.wikipedia.org/wiki/Php http://pt.wikipedia.org/wiki/Plataforma_Java http://www.criarweb.com/html/ http://www.encarte.com.br/modelo/ecomerce.php http://www.jsk.com.br/java.html <WEB> Como programar usando ferramentas livres. (Leonardo Todeschini 2006) ALTA BOOKS.