SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
TcheLinux Rio Grande 2011




Desenhando aplicativos ricos
        para Web


    Carlos Eduardo “kmiksi” Alves
           Agosto de 2011
Conteúdo da palestra
●   Revisão Web
●   jQuery
●   jQuery UI
●   Exemplos de efeitos ricos
●   E o Flash?
●   Exemplos de aplicativos ricos
●   Fontes de documentação
                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       2
Revisão Web

●   Histórico:

    ●   HTML

    ●   Introdução de CSS e JS

    ●   IE e Flash



                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       3
Revisão Web
●   Hoje:
       ●   Web Applications
       ●   HTML5, Canvas, Web GL e CSS3
       ●   Navegadores “modernos”
       ●   Frameworks em Javascript
               ●   Ext JS
               ●   YUI
               ●   GWT
               ●   Prototype
               ●   MooTools
               ●   jQuery
                     Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                           4
jQuery
●   Biblioteca Javascript cross­browser (IE6+, FF2+, 
     Safari3+, Opera9+, Chrome/Chromium)
●   Tamanho 31KB
●   Facilita a vida de desenvolvedores e designers
●   Mais popular, bem documentada, extensível através 
     de plug­ins
●   Software livre, com trechos de códigos contribuídos 
     por individuais do mundo todo

                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       5
jQuery
●   Recursos:
       ●   Facilitar a manipulação de elementos HTML
       ●   Tratamento de eventos
       ●   Animações e efeitos
       ●   Interações AJAX
       ●   Redução e reuso de código


                  Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                        6
Incluindo a jQuery
●   Google Libraries API (http://code.google.com/.../devguide.html)
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/
       jquery/1.6.2/jquery.min.js"></script>

●   Microsoft Ajax CDN (http://www.asp.net/ajaxLibrary/cdn.ashx)
    <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/
       jquery-1.6.2.min.js"></script>

●   CDNJS (http://www.cdnjs.com/#/search/jquery)
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/
       jquery/1.6.2/jquery.min.js"></script>

●   Local
    <script type="text/javascript" src="js/jquery.min.js"></script>

●   Instalado no servidor
    <script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>

                        Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                              7
Manipulação de Elementos

●   Em DOM:
        document.getElementById("info")
            .style.display = "block";




●   Em jQuery:
        $("#info").css("display", "block");
        $("#info").show();

                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       8
Manipulação de Elementos

●   Em DOM:
        var el = document.getElementById("info");
          el.parentNode.removeChild(el);




●   Em jQuery:
        $("#info").remove();



                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       9
Seletores CSS
●   Você pode utilizar seletores CSS para capturar 
     e manipular elementos DOM:
        $("#meu_id").hide();
        $(".minha_classe").show();
        $("#meu_id, .minha_classe").toogle();
        $("form input").addClass("campo_do_form");


               Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                     10
Seletores CSS
●   Alguns seletores são implementados de maneira 
     cross­browser:
       ●   $("ul.topnav > li").css("border", "3px double red");


●   Alguns seletores e pseudo­seletores são 
     implementados como extensões jQuery:
       ●   $(":button").css("background", "yellow");
           $("div:animated").toggleClass("colored");


                    Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                          11
Métodos úteis
●   $(...)
             .addClass("umaclasse");
             .removeClass("outraclasse");
             .toogleClass("maisumaclasse");
             .html("<p>innerHTML aqui</p>");
             .text("um texto");
             .attr("alt", "TcheLinux.org");
             .show();
             .hide();
             .remove();

●   http://docs.jquery.com/Main_Page
                          Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                                12
Efeitos
●   $("div").animate({"left": "+=50px"}, "slow");

●   $("div").show("slow");

●   $("div").hide("slow");

●   $("div").fadeIn("slow");

●   $("div").fadeOut("slow");

                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       13
Manipulação de eventos
●   Eventos Web nativos (click, load, mouseover...)


●   Eventos internos do jQuery


●   Eventos de métodos do jQuery


●   Eventos criados pelo usuário

                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       14
Alguns exemplos de captura
●   $(...)
             .click( function(){ … } );
             .dblclick( function(){ … } );
             .change( function(){ … } );
             .blur( function(){ … } );
             .hover( function(){ … } );
             .keypress( function(){ … } );


                      Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                            15
Qualquer evento
●   Método “.bind()” captura eventos


         $("#alerta").bind("click", function(){
               alert("Foi clicado!!!");
           });


         $("#draggable").bind("dragstart", function(){
               alert("Arrastando!!!");
           });
                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       16
Eventos customizados
●   Método “.trigger()” dispara eventos
●   O método “.bind” captura­os e executa a função 
     predeterminada


         $('#foo').bind('custom', function(event, param1, 
           param2) {
           alert(param1 + "n" + param2);
         });
         $('#foo').trigger('custom', ['Custom', 'Event']);
                  Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                        17
Plug-ins
●   Estendem funcionalidades

●   Tutoriais de criação disponíveis

●   Métodos para facilitar a criação de plugins

●   Incluídos como bibliotecas Javascript


                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       18
jQuery UI
●   Estender os recursos da jQuery
●   Elementos de interface gráfica
●   Recursos prontos
       ●   Animações
       ●   Diálogos
       ●   Efeitos avançados
●   Efeitos ricos

                    Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                          19
Exemplos de efeitos ricos
●   Arrastar e soltar
●   Transições
●   Diálogos
●   Abas
●   Campos de data
●   Slider
●   Grid (plugins prontos)
●   Temas (themeroller)
●   Webcam (plugin)
                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       20
E o Flash?
●   Tecnologia praticamente onipresente no mercado

●   Não necessária para tudo

●   Utilização sadia

●   Estão presentes em plug­ins de terceiros para 
     jQuery (webcam, slider3D)

                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       21
Exemplos de aplicativos ricos
●   Jogos
        ●   RPGjs (http://rpgjs.com/examples)
        ●   GameQuery (http://gamequery.onaluf.org/demos.php)
●   Chrome Experiments (http://chromeexperiments.com)
●   Aplicativos ricos
        ●   Google Mail, Yahoo!Mail
        ●   Google Docs
        ●   Facebook, Twitter, Google Plus
●   Páginas ricas X Páginas ricas em Flash X Páginas simples em Flash

                     Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                           22
Fontes de documentação
●   Documentação oficial
       ●   http://jquery.com

       ●   http://jqueryui.com

●   Alternativos
       ●   http://visualjquery.com
       ●   http://tinyurl.com/jquery­design


                    Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                          23
Dúvidas?
●   E­mail: EduardoPizzani@gmail.com

        ●    Blog: http://kmiksi.blogspot.com

    ●       Slides: http://slideshare.net/kmiksi

    ●       Twitter: http://twitter.com/kmiksi




                 Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                                       24
Agradecimentos
●   TcheLinux (http://tchelinux.org)
       ●   FURG (http://furg.br)
●   Todos os participantes do evento


             ●   Patrocinadores:




       Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web
                                                                             25

Weitere ähnliche Inhalte

Ähnlich wie Desenhando aplicativos ricos para Web - Carlos Eduardo Alves (Sulclínica)

Front-End do Século XXI.I
Front-End do Século XXI.IFront-End do Século XXI.I
Front-End do Século XXI.ILuiz Oliveira
 
Windows 8 - Introdução ao desenvolvimento de apps
Windows 8 - Introdução ao desenvolvimento de appsWindows 8 - Introdução ao desenvolvimento de apps
Windows 8 - Introdução ao desenvolvimento de appsJanynne Gomes
 
jQuery Mobile - Aplicações móveis com Javascript
jQuery Mobile - Aplicações móveis com JavascriptjQuery Mobile - Aplicações móveis com Javascript
jQuery Mobile - Aplicações móveis com JavascriptLuiz Oliveira
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
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
 
Criando plugins jQuery
Criando plugins jQueryCriando plugins jQuery
Criando plugins jQueryRicardo Coelho
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaWaldir R. Pires Jr
 
Descomplicando o JQuery - Introdução ao Framework
Descomplicando o JQuery - Introdução ao FrameworkDescomplicando o JQuery - Introdução ao Framework
Descomplicando o JQuery - Introdução ao FrameworkPablo Garrido
 
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
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 

Ähnlich wie Desenhando aplicativos ricos para Web - Carlos Eduardo Alves (Sulclínica) (20)

Phonegap
PhonegapPhonegap
Phonegap
 
Front-End do Século XXI.I
Front-End do Século XXI.IFront-End do Século XXI.I
Front-End do Século XXI.I
 
Windows 8 - Introdução ao desenvolvimento de apps
Windows 8 - Introdução ao desenvolvimento de appsWindows 8 - Introdução ao desenvolvimento de apps
Windows 8 - Introdução ao desenvolvimento de apps
 
jQuery Mobile - Aplicações móveis com Javascript
jQuery Mobile - Aplicações móveis com JavascriptjQuery Mobile - Aplicações móveis com Javascript
jQuery Mobile - Aplicações móveis com Javascript
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
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
 
Criando plugins jQuery
Criando plugins jQueryCriando plugins jQuery
Criando plugins jQuery
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
jQuery
jQueryjQuery
jQuery
 
jQuery
jQueryjQuery
jQuery
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Codando com PHP e JQuery
Codando com PHP e JQueryCodando com PHP e JQuery
Codando com PHP e JQuery
 
Descomplicando o JQuery - Introdução ao Framework
Descomplicando o JQuery - Introdução ao FrameworkDescomplicando o JQuery - Introdução ao Framework
Descomplicando o JQuery - Introdução ao Framework
 
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
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
O poder das Progressive Web Apps
O poder das Progressive Web AppsO poder das Progressive Web Apps
O poder das Progressive Web Apps
 

Mehr von Tchelinux

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeTchelinux
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Tchelinux
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.Tchelinux
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygameTchelinux
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Tchelinux
 

Mehr von Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 

Desenhando aplicativos ricos para Web - Carlos Eduardo Alves (Sulclínica)

  • 1. TcheLinux Rio Grande 2011 Desenhando aplicativos ricos para Web Carlos Eduardo “kmiksi” Alves Agosto de 2011
  • 2. Conteúdo da palestra ● Revisão Web ● jQuery ● jQuery UI ● Exemplos de efeitos ricos ● E o Flash? ● Exemplos de aplicativos ricos ● Fontes de documentação Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 2
  • 3. Revisão Web ● Histórico: ● HTML ● Introdução de CSS e JS ● IE e Flash Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 3
  • 4. Revisão Web ● Hoje: ● Web Applications ● HTML5, Canvas, Web GL e CSS3 ● Navegadores “modernos” ● Frameworks em Javascript ● Ext JS ● YUI ● GWT ● Prototype ● MooTools ● jQuery Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 4
  • 5. jQuery ● Biblioteca Javascript cross­browser (IE6+, FF2+,  Safari3+, Opera9+, Chrome/Chromium) ● Tamanho 31KB ● Facilita a vida de desenvolvedores e designers ● Mais popular, bem documentada, extensível através  de plug­ins ● Software livre, com trechos de códigos contribuídos  por individuais do mundo todo Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 5
  • 6. jQuery ● Recursos: ● Facilitar a manipulação de elementos HTML ● Tratamento de eventos ● Animações e efeitos ● Interações AJAX ● Redução e reuso de código Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 6
  • 7. Incluindo a jQuery ● Google Libraries API (http://code.google.com/.../devguide.html) <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/ jquery/1.6.2/jquery.min.js"></script> ● Microsoft Ajax CDN (http://www.asp.net/ajaxLibrary/cdn.ashx) <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/ jquery-1.6.2.min.js"></script> ● CDNJS (http://www.cdnjs.com/#/search/jquery) <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/ jquery/1.6.2/jquery.min.js"></script> ● Local <script type="text/javascript" src="js/jquery.min.js"></script> ● Instalado no servidor <script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script> Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 7
  • 8. Manipulação de Elementos ● Em DOM: document.getElementById("info") .style.display = "block"; ● Em jQuery: $("#info").css("display", "block"); $("#info").show(); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 8
  • 9. Manipulação de Elementos ● Em DOM: var el = document.getElementById("info"); el.parentNode.removeChild(el); ● Em jQuery: $("#info").remove(); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 9
  • 10. Seletores CSS ● Você pode utilizar seletores CSS para capturar  e manipular elementos DOM: $("#meu_id").hide(); $(".minha_classe").show(); $("#meu_id, .minha_classe").toogle(); $("form input").addClass("campo_do_form"); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 10
  • 11. Seletores CSS ● Alguns seletores são implementados de maneira  cross­browser: ● $("ul.topnav > li").css("border", "3px double red"); ● Alguns seletores e pseudo­seletores são  implementados como extensões jQuery: ● $(":button").css("background", "yellow"); $("div:animated").toggleClass("colored"); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 11
  • 12. Métodos úteis ● $(...) .addClass("umaclasse"); .removeClass("outraclasse"); .toogleClass("maisumaclasse"); .html("<p>innerHTML aqui</p>"); .text("um texto"); .attr("alt", "TcheLinux.org"); .show(); .hide(); .remove(); ● http://docs.jquery.com/Main_Page Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 12
  • 13. Efeitos ● $("div").animate({"left": "+=50px"}, "slow"); ● $("div").show("slow"); ● $("div").hide("slow"); ● $("div").fadeIn("slow"); ● $("div").fadeOut("slow"); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 13
  • 14. Manipulação de eventos ● Eventos Web nativos (click, load, mouseover...) ● Eventos internos do jQuery ● Eventos de métodos do jQuery ● Eventos criados pelo usuário Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 14
  • 15. Alguns exemplos de captura ● $(...) .click( function(){ … } ); .dblclick( function(){ … } ); .change( function(){ … } ); .blur( function(){ … } ); .hover( function(){ … } ); .keypress( function(){ … } ); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 15
  • 16. Qualquer evento ● Método “.bind()” captura eventos $("#alerta").bind("click", function(){ alert("Foi clicado!!!"); }); $("#draggable").bind("dragstart", function(){ alert("Arrastando!!!"); }); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 16
  • 17. Eventos customizados ● Método “.trigger()” dispara eventos ● O método “.bind” captura­os e executa a função  predeterminada $('#foo').bind('custom', function(event, param1,  param2) {   alert(param1 + "n" + param2); }); $('#foo').trigger('custom', ['Custom', 'Event']); Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 17
  • 18. Plug-ins ● Estendem funcionalidades ● Tutoriais de criação disponíveis ● Métodos para facilitar a criação de plugins ● Incluídos como bibliotecas Javascript Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 18
  • 19. jQuery UI ● Estender os recursos da jQuery ● Elementos de interface gráfica ● Recursos prontos ● Animações ● Diálogos ● Efeitos avançados ● Efeitos ricos Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 19
  • 20. Exemplos de efeitos ricos ● Arrastar e soltar ● Transições ● Diálogos ● Abas ● Campos de data ● Slider ● Grid (plugins prontos) ● Temas (themeroller) ● Webcam (plugin) Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 20
  • 21. E o Flash? ● Tecnologia praticamente onipresente no mercado ● Não necessária para tudo ● Utilização sadia ● Estão presentes em plug­ins de terceiros para  jQuery (webcam, slider3D) Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 21
  • 22. Exemplos de aplicativos ricos ● Jogos ● RPGjs (http://rpgjs.com/examples) ● GameQuery (http://gamequery.onaluf.org/demos.php) ● Chrome Experiments (http://chromeexperiments.com) ● Aplicativos ricos ● Google Mail, Yahoo!Mail ● Google Docs ● Facebook, Twitter, Google Plus ● Páginas ricas X Páginas ricas em Flash X Páginas simples em Flash Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 22
  • 23. Fontes de documentação ● Documentação oficial ● http://jquery.com ● http://jqueryui.com ● Alternativos ● http://visualjquery.com ● http://tinyurl.com/jquery­design Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 23
  • 24. Dúvidas? ● E­mail: EduardoPizzani@gmail.com ● Blog: http://kmiksi.blogspot.com ● Slides: http://slideshare.net/kmiksi ● Twitter: http://twitter.com/kmiksi Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 24
  • 25. Agradecimentos ● TcheLinux (http://tchelinux.org) ● FURG (http://furg.br) ● Todos os participantes do evento ● Patrocinadores: Tchelinux ­ Rio Grande 2011 ­ Desenhando aplicativos ricos para Web 25