O documento apresenta a biblioteca JavaScript do SAPO (Lib.SAPO.JS), descrevendo o que é, suas vantagens e estrutura. A biblioteca fornece classes e widgets JavaScript centralizados, open source, para simplificar o desenvolvimento e permitir a reutilização de código. Ela contém frameworks como Prototype e YUI, além de classes utilitárias e widgets próprios do SAPO. Exemplos demonstram o uso de classes como SAPO.Utility.Dumper e SAPO.Communication.Syndication.
2. Lib.SAPO.JS
JavaScript
●
AJAX
●
JSON
●
Script tag hack
●
Lib.SAPO.JS
●
O que é
●
Vantagens
●
Estrutura
●
Exemplos
●
3. JavaScript
”The World's Most
Misunderstood Programming
Language”
By...
4. JavaScript The World's Most Misunderstood
Programming Language
By:
Douglas Crockford
http://www.crockford.com/
5. JavaScript The World's Most Misunderstood
Programming Language
Não é um ”brinquedo”
para a web...
6. JavaScript The World's Most Misunderstood
Programming Language
Não é um ”brinquedo”
para a web...
É uma linguagem de programação
●
Pequena mas sofisticada
●
Não tem ”class-oriented inheritance”, mas
●
tem ”prototype-oriented inheritance”
Objects as self containers
●
Não se chama AJAX.
●
7. JavaScript The World's Most Misunderstood
Programming Language
Permite criar aplicações completas
8. JavaScript The World's Most Misunderstood
Programming Language
Um bom manual de JavaScript
11. JavaScript.AJAX
Asynchronous JavaScript and XML
Criar aplicações web sem ser
●
necessário fazer reload ao browser
É assíncrono
●
Usa o objecto XMLHttpRequest
●
Recebe o conteúdo formatado em XML*
●
É host restricted
●
21. JavaScript.JSON
JSON como resposta dum AJAX Request
function callBack(obj)
{
var req = obj.responseText;
var myObj = eval('(' + req + ')');
alert(myObj.nome);
}
24. JavaScript['Script'].Tag(Hack)
O que é:
Adicionar dinamicamente uma SCRIPT
●
tag na página (ficheiro js/json)
Esperar que seja carregado
●
Usar/Executar o conteúdo.
●
25. JavaScript['Script'].Tag(Hack)
O que é:
<script type=”text/javascript”
src=”http://services.sapo.pt/Photos/JSON/gamboa?jsonTag=foo”>
</script>”>
// RSS em formato JSON
var foo = {”rss”:{”channel”: ....}}
alert(foo.rss.channel.item[0].title);
28. Lib.SAPO.JS('O que é?')
Repositório central de libs de
●
JavaScript e widgets do SAPO
É Open Source
●
Tem classes utilitárias para
●
simplificar o JavaScript e a vida
dos programadores (SAPO.Utility.*)
29. Lib.SAPO.JS('Vantagens')
Ter classes de JavaScript
●
centralizadas (http://js.sapo.pt)
Ter Widgets baseados nas classes
●
Ter controlo de versões
●
Ter o código organizado/separado
●
Reutilizar código
●
Não ter de reinventar a roda cada vez que
●
se quer validar um endereço de email
Farm estática e conteúdo
●
”jslinted”, ”jsmined” e ”gziped”
30. Lib.SAPO.JS('Vantagens')
Criar ”packages” estáticos
●
(Bundles) de vários ficheiros
JavaScript e servir apenas um
ficheiro para a aplicação.
Torna o load da aplicação mais rapido
●
Não corre o risco de ”partir” por um
●
ficheiro não ter sido carregado
Garante que todo o código necessário
●
existe
http://js.sapo.pt/Bundles/WebmessengerCliente.js
645 Kb -> 322 Kb -> 75 Kb
31. Lib.SAPO.JS('Vantagens')
Criar ”scripts” (Snippets) em que
●
as opções são passadas na query
string.
Disponibilizar apenas um ficheiro para ser
●
reutilizado incluindo apenas uma script
tag.
Dar a possibilidade de o utilizador
●
alterar as opções alterando apenas os
parametros da query string.
Lisbon Weather
http://js.sapo.pt/Snippets/Meteo.js?c=LPLG
39. Lib.SAPO.JS('Estrutura')
SAPO.Geo
●
Map
●
Ver apresentação de Joaquim Muchaxo e
António Cruz no PP às 11:45
”SAPO Mapas & GIS”
http://js.sapo.pt/SAPO/Geo/Map/