Qualidade e Performance de            Sistemas 2.0   Ivo Nascimento   iannsp@gmail.com |    ivo.nascimento@ianntech.com.br
O que é web 2.0"Web 2.0 é a mudança para uma internet comoplataforma, e um entendimento das regras paraobter sucesso nesta...
Regras que ajudam a definir     sucintamente a Web 2.01.O beta perpétuo2.Pequenas peças frouxamente unidas3.Software acima...
1. O beta perpétuonão trate o software como um artefato, mas comoum processo de comprometimento com seususuários.
2. Pequenas peças frouxamente             unidasAbra seus dados e serviços para que sejamreutilizados por outros. Reutiliz...
3. Software acima do nível de um        único dispositivoNão pense em aplicativos que estão no cliente ouservidor, mas des...
4. Lei da Conservação de Lucros,     de Clayton ChristensenLembre-se de que em um ambiente de rede, APIsabertas e protocol...
5. Dados são o novo “Intel inside”A mais importante entre as futuras fontes defechamento e vantagem competitiva serão osda...
Em linhas de apache | php |      javascript | css | ...Temos de pensar em cada uma das partes do        sistema com mais c...
Servidores Http   Segurança das transações   Segurança dos dados   Escalabilidade
php   Manutenção das sessões.   Segurança dos dados.   Boas praticas de desenvolvimento.(POO, MVC,    PDO, SCA SDO,SPL ...
javascript   Diminuicao do uso do servidor.   Segurança dos dados.   Ambiente de aplicação.   XHR.   Atenção ao Multi...
css   Dominio sobre o layout(e não o contrário).   Manipulação de componentes da DOM.   Personalização por cliente faci...
Estudando o AmbienteToda aplicação web (sistemas http) necessitarade um browser para interpreta-la e renderiza-la.Os princ...
Performance browser baseada    em SunSpider JavaScript Benchmark    http://webkit.org/perf/sunspider-0.9/sunspider.html●Fi...
Performance baseada em acesso        a sites popularesyahoo.com                               hi5.com       google.com    ...
XHR – 1a Preocupação●Dados - fatos em sua forma primária.●Informação - estruturas significantes com aintenção de gerar con...
XHR (retorno)Caso 1)                        Caso 2)Retorno = ”<div                Retorno = ” titulo:Exemplo 2,id=titulo>E...
Renderização – 2a Preocupação     Inserir objetos na página via html e via DOM                      diretamente. With( esp...
Sincronismo – 3a PreocupaçãoPartes XHR da Aplicação precisão estarserializadas, executando uma ação depois deoutra.       ...
Código manutenível – 4a           PreocupaçãoA evolução:a) Coleção de functions espalhadas pelo códigoda pagina.b) Coleção...
PrototypeTodo Objeto Javascript implementa prototype, que          permite extensão do objeto.  String.prototype.isIvoNome...
Json Syntaxvar modelo = { nome :, setNome : function(n){    this.nome = n;}, getNome:function(){     return this.nome;    ...
Provendo conexão a outros        sistemas.        Webservice       APIs Javascript             RSS
Próximos SlideShares
Carregando em…5
×

Qualidade e performance de sistemas 2.0

842 visualizações

Publicada em

Palestra ministrada em 2008 onde é feita uma reflexão sobre o conceito de web 2.0, a qualidade que deve existir em softwares e a performance requerida/desejada para as aplicações web.

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Qualidade e performance de sistemas 2.0

  1. 1. Qualidade e Performance de Sistemas 2.0 Ivo Nascimento iannsp@gmail.com | ivo.nascimento@ianntech.com.br
  2. 2. O que é web 2.0"Web 2.0 é a mudança para uma internet comoplataforma, e um entendimento das regras paraobter sucesso nesta nova plataforma. Entreoutras, a regra mais importante é desenvolveraplicativos que aproveitem os efeitos de redepara se tornarem melhores quanto mais sãousados pelas pessoas, aproveitando ainteligência coletiva" Tim OReilly
  3. 3. Regras que ajudam a definir sucintamente a Web 2.01.O beta perpétuo2.Pequenas peças frouxamente unidas3.Software acima do nível de um único dispositivo4.Lei da Conservação de Lucros, de Clayton Christensen5.Dados são o novo “Intel inside”
  4. 4. 1. O beta perpétuonão trate o software como um artefato, mas comoum processo de comprometimento com seususuários.
  5. 5. 2. Pequenas peças frouxamente unidasAbra seus dados e serviços para que sejamreutilizados por outros. Reutilize dados e serviçosde outros sempre que possível.
  6. 6. 3. Software acima do nível de um único dispositivoNão pense em aplicativos que estão no cliente ouservidor, mas desenvolva aplicativos que estão noespaço entre eles.
  7. 7. 4. Lei da Conservação de Lucros, de Clayton ChristensenLembre-se de que em um ambiente de rede, APIsabertas e protocolos padrões vencem, mas issonão significa que a idéia de vantagem competitivavá embora.
  8. 8. 5. Dados são o novo “Intel inside”A mais importante entre as futuras fontes defechamento e vantagem competitiva serão osdados, seja através do aumento do retorno sobredados gerados pelo usuário, sendo dono de umnome ou através de formatos de arquivoproprietários.
  9. 9. Em linhas de apache | php | javascript | css | ...Temos de pensar em cada uma das partes do sistema com mais cuidado.
  10. 10. Servidores Http Segurança das transações Segurança dos dados Escalabilidade
  11. 11. php Manutenção das sessões. Segurança dos dados. Boas praticas de desenvolvimento.(POO, MVC, PDO, SCA SDO,SPL e outras). Planejamento antes da codificação.
  12. 12. javascript Diminuicao do uso do servidor. Segurança dos dados. Ambiente de aplicação. XHR. Atenção ao Multi Browser.
  13. 13. css Dominio sobre o layout(e não o contrário). Manipulação de componentes da DOM. Personalização por cliente facilitada.
  14. 14. Estudando o AmbienteToda aplicação web (sistemas http) necessitarade um browser para interpreta-la e renderiza-la.Os principais:●Firefox●IE●Safari
  15. 15. Performance browser baseada em SunSpider JavaScript Benchmark http://webkit.org/perf/sunspider-0.9/sunspider.html●Firefox 3 Nightly (PGO Optimized): 7263.8ms●Firefox 3 Nightly (02/25/2008 build): 8219.4ms●Opera 9.5.9807 Beta: 10824.0ms●Firefox 3 Beta 3: 16080.6ms●Safari 3.0.4 Beta: 18012.6ms●Firefox 2.0.0.12: 29376.4ms●Internet Explorer 7: 72375.0ms
  16. 16. Performance baseada em acesso a sites popularesyahoo.com hi5.com google.com msn.com rapidshare.com fotolog.net facebook.com live.com youtube.com microsoft.com myspace.com blogger.com medaupload.com wikipedia.orgfriendster.com orkut.com
  17. 17. XHR – 1a Preocupação●Dados - fatos em sua forma primária.●Informação - estruturas significantes com aintenção de gerar conhecimento no indivíduo eseu espaço.XHR transporta dados e não informação.O contexto da aplicação gera a informação.
  18. 18. XHR (retorno)Caso 1) Caso 2)Retorno = ”<div Retorno = ” titulo:Exemplo 2,id=titulo>Exemplo 1 </div> corpo:Este e o corpo de um<div id=corpo> exemplo de XHR semEste e o corpo de um exemplo formatacao”;de retorno XHR ja formatado.</div>”; var ret = Retorno.responseJSON; $(titulo).innerHTML = ret.titulo;var ret = $(corpo).innerHTML = ret.corpo;Retorno.responseText; document.title = ”Texto sobre: ”+$(texto).innerHTML = ret; ret.titulo;
  19. 19. Renderização – 2a Preocupação Inserir objetos na página via html e via DOM diretamente. With( espaco.appendChild(document.createElement(ID)) ){ title=rec.titulo; innerHTML=rec.corpo;}ourec = ”<div title=”+rec.titulo+””> ”+rec.corpo+”</div>”;espaco.innerHTML = rec;
  20. 20. Sincronismo – 3a PreocupaçãoPartes XHR da Aplicação precisão estarserializadas, executando uma ação depois deoutra. Asynchronous | Synchronous
  21. 21. Código manutenível – 4a PreocupaçãoA evolução:a) Coleção de functions espalhadas pelo códigoda pagina.b) Coleção de functions separadas emarquivos(bibliotecas).c) Coleção de classes bem definidas.
  22. 22. PrototypeTodo Objeto Javascript implementa prototype, que permite extensão do objeto. String.prototype.isIvoNome = function(){ if (this==Ivo) return true else return false; } var a = "Ivo"; if(a.isIvoNome()) alert(Foi escrito Ivo);
  23. 23. Json Syntaxvar modelo = { nome :, setNome : function(n){ this.nome = n;}, getNome:function(){ return this.nome; }}m = modelo;m.setNome(TR);alert(m.getNome());
  24. 24. Provendo conexão a outros sistemas. Webservice APIs Javascript RSS

×