SlideShare uma empresa Scribd logo
1 de 77
minicurso Mashup  integrando Serviços na Web Marcelo Linhares – UOL
Quem vos fala... - 6 anos de experiência com webdevelopment - Webmaster @UOL S/A - marcelolinhares.com // pessoal - algumas brincadeiras: > vagasem.info // oportunidades em TI > marcelolinhares.com/bolsa // gestão de portfólio online
Sobre o minicurso... Mashup? Que raios é isto? ?
Agenda - Um pouco de história da WWW - WWW hoje! (vide Web 2.0 ou blá,blá,blá,blá...) -  - Javascript, Json, CSS, EcmaScript, xHTML... - Hora do Café - Hands on code... -  Brindes
Um detalhe... Perguntas, dúvidas, sugestões, e comentários são  SEMPRE  bem vindos, a sua  participação  no mini-curso é  fundamental
Um pouco de história... - Um cara legal chamado Tim Berners Lee criou a WWW em 1991 - Em 1993 o mesmo nerd criou o HTML - Ainda em 93, surge o Mosaic
Mosaic Browser (nostalgia)‏
Este é o “cara”....
Coleção de documentos - A Web era nada mais que uma coleção de documentos hipertexto interligadas entre si -  Web como plataforma? Ainda não...
10 anos depois
10 anos depois - Estouro da bolha,  - Espuelas enriqueceu ;-)‏ - A AOL Brasil fracassou! - O Google apareceu - Banda Larga, SOA,  Mashups , Web 2.0, cloud computing....
 
Enfim.... 10 anos depois, a  internet  se reiventou...
 
A modinha da Web2.0 - Sem especulação, internet realmente começou a dar dinheiro  (Jeff Bezos, Marck Zuckerberg e Larry Page que o diga...)   - Usuário criando conteúdo - Interfaces mais ricas - Internet como plataforma - Software como serviço (ASP)
uma plataforma...?? - GMail/YahooMail x Outlook Express - GoogleDocs x MsOffice - Salesforce.com x RM Corpore
uma plataforma...?? - Novo modelo de licenciamento de software:  - ASP (Application Service Provider)‏
Futuro? não.. presente!
vamos ser sinceros...
tudo isto seria possível, se ainda estivéssemos usando isto?
E se nossa conexão dependesse do  famigerado kit multmídia?
Isto só foi possível porquê: A Lei de Moore  funcionou!
Perguntas ???
Mas o minicurso não é de Mashup?
Ok, onde Mashup entra nesta história?... Usuário criando conteúdo  +   Interface mais rica +  Internet como plataforma +  Software como Serviço x 10*2 / 0,333 =  Mashup
Mashup.... Uma coleção de  serviços  e aplicativos  http   ' misturados ' e (ou)  integrados , formando assim uma nova aplicação.
Ou melhor..... “ Um mashup é um website ou uma aplicação web que usa conteúdo de mais de uma fonte para criar um novo serviço completo.” .  @wikipedia
O quê? Imagina um serviço que dado um  endereço , ele  calcularia o frete  dos  produtos mais baratos de várias lojas , e através de uma configuração, efetuaria  compras automáticas ?
Endereço –  google maps cálculo do frete –   correios produtos mais baratos (comparação de preços) –  buscapé / shopping uol compras  –  Paypal / PagSeguro / F2b
Um site,  mixando  diversas APIs
Arquitetura de um Mashup
Content Provider. Sites que publicam conteúdo e disponibilizam o acesso através de APIs
API?
Application Programming Interface   (API)  um conjunto de instruções e padrões de programação para acesso a um aplicativo de software baseado na Web
No site  programmableweb.com , existem mais de  1000 APIs  públicas disponíveis para sua criatividade!
Como?
REST, Soap! Servindo XML (Atom, RSS) ou JSON, ou  Screen Scrapping (caso o site não forneça uma API)
Aplicação
Pode ser  server-side  ou apenas  client-side
Tecnologias envolvidas
tecnologias - xHTML e CSS - DOM Document Object Model - XML e JSON - Javascript - Linguagem server-side
XHTML e CSS
xHTML e CSS - Web standards e CSS. Sites preparados conforme os padrões da w3c (World Wide Web Consortium), utlizando xHTML para o conteúdo e CSS para o comportamento visual
xHTML - linguagem de marcação (báh..)‏ - “evolução” da HTML... - Objetivo? Aumentar a acessibilidade
DOM
DOM - Document Object Model - Interface para acessar/modificar a estrutura de um documento XML/xHTML - exemplo? document.getElementById(“curso-sg”)‏
DOM
XML e JSON
XML XML (Extensible Markup Language). Um padrão de linguagem para tornar mais fácil a transferência de dados entre aplicações.
XML <pessoa> <nome> José </nome> <idade> 16 </nome> <emprego> Analista de Sistemas </emprego> <apelido> Zezé do Pagode </apelido> </pessoa>
JSON &quot; JavaScript Object Notation &quot; , é um formato para a transferência de dados entre aplicações.
JSON - Simples - Tem a vantagem de ser mais leve que o XML - Normalmente utilizado quando os dados trafegados entre as aplicações são críticos
JSON { &quot; nome &quot;:&quot;José&quot;, &quot; idade &quot;:&quot;16&quot;, &quot; emprego &quot;:&quot;Analista de Sistemas&quot;, “ apelido”:”Zezé do pagode” }
JSON { &quot; nome &quot;:&quot;José&quot;, &quot; idade &quot;:&quot;16&quot;, &quot; emprego &quot;:&quot;Analista de Sistemas&quot;, “ apelido”:”Zezé do pagode” }
JavaScript
Linguagem Client-Side responsável por agilizar interações entre o usuário e a página, baseado no padrão EcmaScript.
 
Javascript - Linguagem interpretada - Roda no cliente (client-side)‏ - Criada pela Netscape inicialmente para fazer validações client-side nos formulários HTML - A intenção do JavaScript é prover maior interatividade entre o sistema e o usuário document.getElementById(“curso-sg”)‏
Javascript - Todo comando javascript dentro do HTML é delimitado pela tag  <script>  -  <script> alert(&quot;Janela do Javascript&quot;)‏ <script> -
Javascript/dom/css -  Atribuindo borda vermelha a um elemento xHTML cujo ID seja “curso-sg” <script>  document.getElementById(“curso-sg”).style.border = “5px solid red” <script>
Javascript / XMLHttpRequest - Objeto XMLHttpRequest - Objeto responsável por fazer as requisições assíncronas
Javascript / XMLHttpRequest - Primeiro problema! a criação do Objeto é diferente no Internet Explorer, neste (pseudo)browser o objeto é criado através de um ActiveX
Javascript / XMLHttpRequest var objeto  = new XMLHttpRequest(); // firefox / ópera / konqueror / safari var objeto  = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); // Internet Explorer
Javascript / XMLHttpRequest function getXML() { var objeto; // declara o objeto try {  // tenta criar objeto XMLHTTPRequest objeto = new XMLHttpRequest()‏ }catch(e) {  // caso dê erro, tenta criar o ActiveXObject objeto = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); } return objeto }
Linguagem server side
server-side - linguagem de programação executada no servidor - exemplo: php, ruby, python, asp, c, c++, Java...
Produtividade  sempre é legal!
Produtividade em JS - existem frameworks JS que irão melhorar muito sua produtividade -  jquery ,  script.acu.lo.us ,  mototools ,  dwr  (Java),  Spry  (Adobe)‏ - Fique atento ao uso de frameworks, não deixem elas dominarem você!
Produtividade - Firefox Firefox não é apenas um navegador, ele é um poderoso ambiente de desenvolvimento
Produtividade - Firefox - Console de Erros eficiente (Nativo)‏ - DOM Inspector - verifica Árvore de Objetos DOM (Nativo)‏ - Extensão FireBug para Depurar Scripts/CSS/HTML e verificar Árvore de Objetos DOM - Extensão WebDeveloper ( CSS/ JavaScript / xHTML / Validadores )‏
Quero saber mais,  Como faço?
- Não se esqueça, o Google é seu amigo ;-); - Participe de listas de discussão, blogs, fóruns, interaja; - Já existem bons livros na área - Qualquer dúvida, beba direto da fonte W3C, Especificação EcmaScript
Só lembrando Ajax já virou commodity, para quem trabalha com web, dominar Ajax é tão essencial quanto matemática para um contador !
Hands-on Mão na massa!
Sabia que tem muita gente divulgando  vagas  no  twitter ? Que tal criarmos um  mashup  que rastreia estas vagas?
Utilizaremos HTML  e  CSS puro ,  Jquery  (lib para Javascript) e  Twitter Search API
Agradecimentos

Mais conteúdo relacionado

Mais procurados

0 Introdução ao Desenvolvimento Web - Apresentação
0   Introdução ao Desenvolvimento Web - Apresentação0   Introdução ao Desenvolvimento Web - Apresentação
0 Introdução ao Desenvolvimento Web - ApresentaçãoMauro Duarte
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serioJaydson Gomes
 
Aula 8 php (intro, get e post)
Aula 8   php (intro, get e post)Aula 8   php (intro, get e post)
Aula 8 php (intro, get e post)andreluizlc
 
Django para portais de alta visibilidade. tdc 2013
Django para portais de alta visibilidade.   tdc 2013Django para portais de alta visibilidade.   tdc 2013
Django para portais de alta visibilidade. tdc 2013Bruno Rocha
 
SASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-endSASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-endAnderson Aguiar
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Aula 5 java script
Aula 5   java scriptAula 5   java script
Aula 5 java scriptandreluizlc
 
Introducao desenvolvimento-web
Introducao desenvolvimento-webIntroducao desenvolvimento-web
Introducao desenvolvimento-webMarcio Mota
 
Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMaurício Linhares
 
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiênciasPHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiênciasManuel Lemos
 
Ajax para quem_ouviu_falar
Ajax para quem_ouviu_falarAjax para quem_ouviu_falar
Ajax para quem_ouviu_falarCharleston Anjos
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações WebAnderson Aguiar
 
Django + extjs pelos forms
Django + extjs pelos formsDjango + extjs pelos forms
Django + extjs pelos formsMoacir Filho
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Gustavo Corrêa Alves
 
Web 2.0 e RIA com PHP
Web 2.0 e RIA com PHPWeb 2.0 e RIA com PHP
Web 2.0 e RIA com PHPAdler Medrado
 
Navegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosNavegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosiMasters
 

Mais procurados (20)

0 Introdução ao Desenvolvimento Web - Apresentação
0   Introdução ao Desenvolvimento Web - Apresentação0   Introdução ao Desenvolvimento Web - Apresentação
0 Introdução ao Desenvolvimento Web - Apresentação
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serio
 
Aula 8 php (intro, get e post)
Aula 8   php (intro, get e post)Aula 8   php (intro, get e post)
Aula 8 php (intro, get e post)
 
Django para portais de alta visibilidade. tdc 2013
Django para portais de alta visibilidade.   tdc 2013Django para portais de alta visibilidade.   tdc 2013
Django para portais de alta visibilidade. tdc 2013
 
SASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-endSASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-end
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Mini Curso Wordpress
Mini Curso WordpressMini Curso Wordpress
Mini Curso Wordpress
 
Aula 5 java script
Aula 5   java scriptAula 5   java script
Aula 5 java script
 
Introducao desenvolvimento-web
Introducao desenvolvimento-webIntroducao desenvolvimento-web
Introducao desenvolvimento-web
 
Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)
 
Programação web ASP.NET Tutorial
Programação web ASP.NET TutorialProgramação web ASP.NET Tutorial
Programação web ASP.NET Tutorial
 
Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação Web
 
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiênciasPHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
 
Ajax para quem_ouviu_falar
Ajax para quem_ouviu_falarAjax para quem_ouviu_falar
Ajax para quem_ouviu_falar
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações Web
 
Django + extjs pelos forms
Django + extjs pelos formsDjango + extjs pelos forms
Django + extjs pelos forms
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
 
Web 2.0 e RIA com PHP
Web 2.0 e RIA com PHPWeb 2.0 e RIA com PHP
Web 2.0 e RIA com PHP
 
Navegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosNavegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza Bastos
 

Destaque

Usando Ontologias, Serviços Web Semânticos e Agentes Móveis no Desenvolvimen...
Usando Ontologias, Serviços Web Semânticos  e Agentes Móveis no Desenvolvimen...Usando Ontologias, Serviços Web Semânticos  e Agentes Móveis no Desenvolvimen...
Usando Ontologias, Serviços Web Semânticos e Agentes Móveis no Desenvolvimen...Luiz Henrique Zambom Santana
 
O Uso de Serviços Web na Educação
O Uso de Serviços Web na EducaçãoO Uso de Serviços Web na Educação
O Uso de Serviços Web na EducaçãoAislan Rafael
 
Gestão servicos em aplicações Web
Gestão servicos em aplicações WebGestão servicos em aplicações Web
Gestão servicos em aplicações WebOtaviano Silvério
 
Performance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius MelloPerformance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius MelloTchelinux
 

Destaque (6)

Usando Ontologias, Serviços Web Semânticos e Agentes Móveis no Desenvolvimen...
Usando Ontologias, Serviços Web Semânticos  e Agentes Móveis no Desenvolvimen...Usando Ontologias, Serviços Web Semânticos  e Agentes Móveis no Desenvolvimen...
Usando Ontologias, Serviços Web Semânticos e Agentes Móveis no Desenvolvimen...
 
O Uso de Serviços Web na Educação
O Uso de Serviços Web na EducaçãoO Uso de Serviços Web na Educação
O Uso de Serviços Web na Educação
 
Serviços WEB 2.0
Serviços WEB 2.0Serviços WEB 2.0
Serviços WEB 2.0
 
Serviços de informação na web 2.0 e 3.0
Serviços de informação na web 2.0 e 3.0Serviços de informação na web 2.0 e 3.0
Serviços de informação na web 2.0 e 3.0
 
Gestão servicos em aplicações Web
Gestão servicos em aplicações WebGestão servicos em aplicações Web
Gestão servicos em aplicações Web
 
Performance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius MelloPerformance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius Mello
 

Semelhante a Mini Curso Mashup Coreu

Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPelliando dias
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Aplicações Web com XML e AJAX
Aplicações Web com XML e AJAXAplicações Web com XML e AJAX
Aplicações Web com XML e AJAXManuel Lemos
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livreRuan Carvalho
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software LivreRuan Carvalho
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stackSidney Roberto
 
Administração de portais
Administração de portaisAdministração de portais
Administração de portaisFelipe Perin
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
Desenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreDesenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreGivanaldo Rocha
 
ASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do frameworkASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do frameworkGuilherme Ferreira
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdfRubenManhia
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
XML Free Programming - Brazil
XML Free Programming - BrazilXML Free Programming - Brazil
XML Free Programming - BrazilStephen Chin
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkRafael Dohms
 

Semelhante a Mini Curso Mashup Coreu (20)

Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
 
Curso asp - basico
Curso   asp - basicoCurso   asp - basico
Curso asp - basico
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Aplicações Web com XML e AJAX
Aplicações Web com XML e AJAXAplicações Web com XML e AJAX
Aplicações Web com XML e AJAX
 
Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Administração de portais
Administração de portaisAdministração de portais
Administração de portais
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Desenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreDesenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software Livre
 
ASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do frameworkASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do framework
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
XML Free Programming - Brazil
XML Free Programming - BrazilXML Free Programming - Brazil
XML Free Programming - Brazil
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao Framework
 

Mais de Marcelo Linhares

getninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdfgetninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdfMarcelo Linhares
 
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdfBRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdfMarcelo Linhares
 
20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdf20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdfMarcelo Linhares
 
20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdf20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdfMarcelo Linhares
 
20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdf20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdfMarcelo Linhares
 
20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdf20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdfMarcelo Linhares
 
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdfbluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdfMarcelo Linhares
 
20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdf20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdfMarcelo Linhares
 
20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdf20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdfMarcelo Linhares
 
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdfMarcelo Linhares
 
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdfMarcelo Linhares
 
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdfMarcelo Linhares
 
20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdf20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdfMarcelo Linhares
 
20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdf20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdfMarcelo Linhares
 
20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdf20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdfMarcelo Linhares
 
20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdf20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdfMarcelo Linhares
 

Mais de Marcelo Linhares (20)

getninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdfgetninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdf
 
UberCab_Dec2008.pdf
UberCab_Dec2008.pdfUberCab_Dec2008.pdf
UberCab_Dec2008.pdf
 
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdfBRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
 
track_field.pdf
track_field.pdftrack_field.pdf
track_field.pdf
 
privalia_ipo.pdf
privalia_ipo.pdfprivalia_ipo.pdf
privalia_ipo.pdf
 
picpay_filling.pdf
picpay_filling.pdfpicpay_filling.pdf
picpay_filling.pdf
 
20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdf20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdf
 
20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdf20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdf
 
20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdf20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdf
 
20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdf20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdf
 
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdfbluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
 
20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdf20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdf
 
20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdf20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdf
 
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
 
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
 
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
 
20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdf20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdf
 
20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdf20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdf
 
20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdf20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdf
 
20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdf20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdf
 

Mini Curso Mashup Coreu

  • 1. minicurso Mashup integrando Serviços na Web Marcelo Linhares – UOL
  • 2. Quem vos fala... - 6 anos de experiência com webdevelopment - Webmaster @UOL S/A - marcelolinhares.com // pessoal - algumas brincadeiras: > vagasem.info // oportunidades em TI > marcelolinhares.com/bolsa // gestão de portfólio online
  • 3. Sobre o minicurso... Mashup? Que raios é isto? ?
  • 4. Agenda - Um pouco de história da WWW - WWW hoje! (vide Web 2.0 ou blá,blá,blá,blá...) - - Javascript, Json, CSS, EcmaScript, xHTML... - Hora do Café - Hands on code... - Brindes
  • 5. Um detalhe... Perguntas, dúvidas, sugestões, e comentários são SEMPRE bem vindos, a sua participação no mini-curso é fundamental
  • 6. Um pouco de história... - Um cara legal chamado Tim Berners Lee criou a WWW em 1991 - Em 1993 o mesmo nerd criou o HTML - Ainda em 93, surge o Mosaic
  • 8. Este é o “cara”....
  • 9. Coleção de documentos - A Web era nada mais que uma coleção de documentos hipertexto interligadas entre si - Web como plataforma? Ainda não...
  • 11. 10 anos depois - Estouro da bolha, - Espuelas enriqueceu ;-)‏ - A AOL Brasil fracassou! - O Google apareceu - Banda Larga, SOA, Mashups , Web 2.0, cloud computing....
  • 12.  
  • 13. Enfim.... 10 anos depois, a internet se reiventou...
  • 14.  
  • 15. A modinha da Web2.0 - Sem especulação, internet realmente começou a dar dinheiro (Jeff Bezos, Marck Zuckerberg e Larry Page que o diga...) - Usuário criando conteúdo - Interfaces mais ricas - Internet como plataforma - Software como serviço (ASP)
  • 16. uma plataforma...?? - GMail/YahooMail x Outlook Express - GoogleDocs x MsOffice - Salesforce.com x RM Corpore
  • 17. uma plataforma...?? - Novo modelo de licenciamento de software: - ASP (Application Service Provider)‏
  • 20. tudo isto seria possível, se ainda estivéssemos usando isto?
  • 21. E se nossa conexão dependesse do famigerado kit multmídia?
  • 22. Isto só foi possível porquê: A Lei de Moore funcionou!
  • 24. Mas o minicurso não é de Mashup?
  • 25. Ok, onde Mashup entra nesta história?... Usuário criando conteúdo + Interface mais rica + Internet como plataforma + Software como Serviço x 10*2 / 0,333 = Mashup
  • 26. Mashup.... Uma coleção de serviços e aplicativos http ' misturados ' e (ou) integrados , formando assim uma nova aplicação.
  • 27. Ou melhor..... “ Um mashup é um website ou uma aplicação web que usa conteúdo de mais de uma fonte para criar um novo serviço completo.” . @wikipedia
  • 28. O quê? Imagina um serviço que dado um endereço , ele calcularia o frete dos produtos mais baratos de várias lojas , e através de uma configuração, efetuaria compras automáticas ?
  • 29. Endereço – google maps cálculo do frete – correios produtos mais baratos (comparação de preços) – buscapé / shopping uol compras – Paypal / PagSeguro / F2b
  • 30. Um site, mixando diversas APIs
  • 32. Content Provider. Sites que publicam conteúdo e disponibilizam o acesso através de APIs
  • 33. API?
  • 34. Application Programming Interface (API) um conjunto de instruções e padrões de programação para acesso a um aplicativo de software baseado na Web
  • 35. No site programmableweb.com , existem mais de 1000 APIs públicas disponíveis para sua criatividade!
  • 36. Como?
  • 37. REST, Soap! Servindo XML (Atom, RSS) ou JSON, ou Screen Scrapping (caso o site não forneça uma API)
  • 39. Pode ser server-side ou apenas client-side
  • 41. tecnologias - xHTML e CSS - DOM Document Object Model - XML e JSON - Javascript - Linguagem server-side
  • 43. xHTML e CSS - Web standards e CSS. Sites preparados conforme os padrões da w3c (World Wide Web Consortium), utlizando xHTML para o conteúdo e CSS para o comportamento visual
  • 44. xHTML - linguagem de marcação (báh..)‏ - “evolução” da HTML... - Objetivo? Aumentar a acessibilidade
  • 45. DOM
  • 46. DOM - Document Object Model - Interface para acessar/modificar a estrutura de um documento XML/xHTML - exemplo? document.getElementById(“curso-sg”)‏
  • 47. DOM
  • 49. XML XML (Extensible Markup Language). Um padrão de linguagem para tornar mais fácil a transferência de dados entre aplicações.
  • 50. XML <pessoa> <nome> José </nome> <idade> 16 </nome> <emprego> Analista de Sistemas </emprego> <apelido> Zezé do Pagode </apelido> </pessoa>
  • 51. JSON &quot; JavaScript Object Notation &quot; , é um formato para a transferência de dados entre aplicações.
  • 52. JSON - Simples - Tem a vantagem de ser mais leve que o XML - Normalmente utilizado quando os dados trafegados entre as aplicações são críticos
  • 53. JSON { &quot; nome &quot;:&quot;José&quot;, &quot; idade &quot;:&quot;16&quot;, &quot; emprego &quot;:&quot;Analista de Sistemas&quot;, “ apelido”:”Zezé do pagode” }
  • 54. JSON { &quot; nome &quot;:&quot;José&quot;, &quot; idade &quot;:&quot;16&quot;, &quot; emprego &quot;:&quot;Analista de Sistemas&quot;, “ apelido”:”Zezé do pagode” }
  • 56. Linguagem Client-Side responsável por agilizar interações entre o usuário e a página, baseado no padrão EcmaScript.
  • 57.  
  • 58. Javascript - Linguagem interpretada - Roda no cliente (client-side)‏ - Criada pela Netscape inicialmente para fazer validações client-side nos formulários HTML - A intenção do JavaScript é prover maior interatividade entre o sistema e o usuário document.getElementById(“curso-sg”)‏
  • 59. Javascript - Todo comando javascript dentro do HTML é delimitado pela tag <script> - <script> alert(&quot;Janela do Javascript&quot;)‏ <script> -
  • 60. Javascript/dom/css - Atribuindo borda vermelha a um elemento xHTML cujo ID seja “curso-sg” <script> document.getElementById(“curso-sg”).style.border = “5px solid red” <script>
  • 61. Javascript / XMLHttpRequest - Objeto XMLHttpRequest - Objeto responsável por fazer as requisições assíncronas
  • 62. Javascript / XMLHttpRequest - Primeiro problema! a criação do Objeto é diferente no Internet Explorer, neste (pseudo)browser o objeto é criado através de um ActiveX
  • 63. Javascript / XMLHttpRequest var objeto = new XMLHttpRequest(); // firefox / ópera / konqueror / safari var objeto = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); // Internet Explorer
  • 64. Javascript / XMLHttpRequest function getXML() { var objeto; // declara o objeto try { // tenta criar objeto XMLHTTPRequest objeto = new XMLHttpRequest()‏ }catch(e) { // caso dê erro, tenta criar o ActiveXObject objeto = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); } return objeto }
  • 66. server-side - linguagem de programação executada no servidor - exemplo: php, ruby, python, asp, c, c++, Java...
  • 67. Produtividade sempre é legal!
  • 68. Produtividade em JS - existem frameworks JS que irão melhorar muito sua produtividade - jquery , script.acu.lo.us , mototools , dwr (Java), Spry (Adobe)‏ - Fique atento ao uso de frameworks, não deixem elas dominarem você!
  • 69. Produtividade - Firefox Firefox não é apenas um navegador, ele é um poderoso ambiente de desenvolvimento
  • 70. Produtividade - Firefox - Console de Erros eficiente (Nativo)‏ - DOM Inspector - verifica Árvore de Objetos DOM (Nativo)‏ - Extensão FireBug para Depurar Scripts/CSS/HTML e verificar Árvore de Objetos DOM - Extensão WebDeveloper ( CSS/ JavaScript / xHTML / Validadores )‏
  • 71. Quero saber mais, Como faço?
  • 72. - Não se esqueça, o Google é seu amigo ;-); - Participe de listas de discussão, blogs, fóruns, interaja; - Já existem bons livros na área - Qualquer dúvida, beba direto da fonte W3C, Especificação EcmaScript
  • 73. Só lembrando Ajax já virou commodity, para quem trabalha com web, dominar Ajax é tão essencial quanto matemática para um contador !
  • 75. Sabia que tem muita gente divulgando vagas no twitter ? Que tal criarmos um mashup que rastreia estas vagas?
  • 76. Utilizaremos HTML e CSS puro , Jquery (lib para Javascript) e Twitter Search API