1 / 19 JavaScript Aula 09
2 / 19 JavaScript Bibliotecas ● A linguagem JavaScript é uma das bases do desenvolvimento web e, juntamente com a HTML e as CSS, dão vida a boa parte dos sites da internet. ● Apenas essas linguagens juntas já nos permitem desenvolver páginas completas, com layouts elegantes e conteúdo dinâmico. ● Portanto, pode-se dizer que conhecê-las é obrigação de todo profissional que pretende trabalhar com desenvolvimento web.
3 / 19 JavaScript Bibliotecas ● Assim como outras linguagens, ao longo dos anos a JavaScript foi sendo aperfeiçoada e ganhando cada vez mais importância no meio web. ● Atualmente, é uma linguagem que tem ganhado mais adeptos, uma vez que observamos uma tendência das aplicações de serem transferidas para a web. ● Então, como era de se esperar, foram sendo criados vários plug-ins/frameworks/bibliotecas para se trabalhar com JavaScript, visando facilitar o uso dessa linguagem em tarefas comuns do dia a dia do desenvolvedor web.
4 / 19 JavaScript Bibliotecas ● Jquery: – A jQuery está entre as mais utilizadas (se não a mais utilizada) bibliotecas JavaScript. Atualmente, quando se requisita que um profissional conheça/domine JavaScript, geralmente a jQuery está incluída. – Sob o lema “escreva menos, faça mais” (write less, do more), o forte dessa biblioteca está na simplificação de códigos nativos da linguagem que geralmente são mais extensos.
5 / 19 JavaScript Bibliotecas ● Temos um exemplo bastante básico de uso da jQuery, onde comparamos duas expressões equivalentes, uma em código nativo JavaScript e outra utilizando jQuery.
6 / 19 JavaScript Bibliotecas ● Esse é apenas um exemplo, dos mais simples possíveis, a jQuery vai muito além, permitindo criar animações etc. ● A jQuery é a biblioteca sobre a qual foi desenvolvida a maior quantidade de plug-ins e outras biblioteca, incluindo a jQuery Mobile e a jQueru UI, da mesma empresa responsável pela jQuery, a jQuery Foundation.
7 / 19 Angular JS
8 / 19 Angular Js ● O AngularJS ou, Angular para os íntimos. Descrito por seus criadores como um framework JavaScript supereróico, ele trouxe um novo conceito de desenvolvimento front-end e deu início a nova era dos web apps.
9 / 19 Angular Js ● A premissa do Angular é ser um Framework MV* (Model – View – Qualquer Coisa) para desenvolvimento do front-end de aplicações web, ou seja, que rodam dentro do navegador do cliente.
10 / 19 Angular Js ● Muitos frameworks são desenvolvidos por pessoas talentosas apaixonadas pelo que fazem, o que nos dá sistemas maravilhosos e muito gostosos de usar. Agora, como deve ser um framework feito por um time inteiro de pessoas talentosas, apaixonadas pelo que fazem e que ainda recebem uma quantia considerável de dinheiro para evoluir o projeto? ● O Angular foi desenvolvido por um analista do Google e adotado e incubado pela Gigante de Mountain View. Eles mesmos já o estão usando em mais de 1600 projetos internos.
11 / 19 Angular Js ● Exemplo: https://codepen.io/algaworks/pen/qNZvEV
12 / 19 Node.js ● O objetivo declarado do Node é “fornecer uma maneira fácil de criar programas de rede escaláveis”. ● Qual é o problema com os programas de servidor atuais? Vamos fazer as contas. Em linguagens como Java™ e PHP, cada conexão inicia um novo encadeamento que, potencialmente, é acompanhado de 2 MB de memória. ● Em um sistema que tenha 8 GB de RAM, isto define o número máximo teórico de conexões simultâneas em cerca de 4.000 usuários.
13 / 19 Node.js ● À medida que sua base de clientes cresce, você deseja que seu aplicativo da Web suporte mais usuários e, portanto, será necessário adicionar mais servidores. ● É claro, isso se soma a custos de negócios, especificamente custos de servidor, custos de tráfego e custos de mão de obra. Adicione a esses custos o problema técnico potencial de que um usuário poderá usar diferentes servidores para cada solicitação, de forma que quaisquer recursos compartilhados deverão ser compartilhados por todos os servidores. ● Por exemplo, no Java, variáveis estáticas e caches precisam ser compartilhados entre as JVMs em cada servidor. Este é o gargalo de toda a arquitetura de aplicativos da web, o número máximo de conexões simultâneas que um servidor pode tratar.
14 / 19 Node.js ● O Node soluciona o problema mudando a forma como uma conexão é feita no servidor. ● Em vez de iniciar um novo encadeamento do SO para cada conexão (e alocar a memória correspondente com ele), cada conexão cria um processo, que não requer que o bloco de memória o acompanhe. ● O Node alega que nunca ocorrerá um impasse de bloqueios, pois não são permitidos bloqueios e ele não bloqueia diretamente para realizar chamadas de E/S. ● O Node também alega que um servidor que o execute pode suportar dezenas de milhares de conexões simultâneas. ● De fato, o Node altera o panorama do servidor ao mudar o gargalo do sistema inteiro do número máximo de conexões para a capacidade de tráfego de um único sistema.
15 / 19 Node.js ● Como o Node funciona? – O Node propriamente dito executa V8 JavaScript. Espere, JavaScript no servidor? Sim, você leu corretamente. – O JavaScript no lado do servidor é um conceito relativamente novo, e há cerca de dois anos, aqui no developerWorks, ele foi mencionado em uma discussão sobre o produto Aptana Jaxer. – Apesar de o Jaxer nunca ter chegado a tanto, a ideia em si não era tão absurda — por que não usar no cliente a mesma linguagem de programação que você usa no servidor?
16 / 19 Node.js ● O mecanismo V8 JavaScript é o mecanismo subjacente do JavaScript que o Google usa com seu navegador Chrome. ● Poucas pessoas pensam sobre o que de fato ocorre com o JavaScript no cliente. ● Um mecanismo JavaScript, de fato, interpreta o código e o executa. Com o V8, o Google criou um interpretador ultrarrápido escrito em C++ que tem um aspecto exclusivo: é possível fazer o download do mecanismo e integrá-lo em qualquer aplicativo que você desejar. ● Ele não é restrito à execução em um navegador. Portanto, o Node, na verdade, usa o mecanismo V8 JavaScript escrito pelo Google e o redireciona para uso no servidor. Perfeito! Por que criar uma nova linguagem quando há uma boa solução já disponível.
17 / 19 ReactJS ● React é uma biblioteca para criar interfaces. ● Isso é ótimo, ele vai resolver toda aquele amontoado de código com jQuery que tínhamos para manipular o DOM. Agora podemos criar coisas performáticas e reutilizáveis de verdade. ● Ele vai bem em várias situações e tipos de projetos, independente do tamanho.
18 / 19 ReactJS ● Essa biblioteca surgiu em 2011, no Facebook, e passou a ser utilizada na interface do mural de notícias da rede social. ● No ano seguinte, passou a integrar também a área de tecnologia do Instagram e de várias outras ferramentas da empresa. Em 2013, o código foi aberto para a comunidade, o que colaborou para sua grande popularização.
19 / 19 Trabalho Pesquisa ● Trabalho escrito e apresentado sobre: – Jquery, Angular JS, Node.js, ReactJS, BACKBONE.JS, D3.JS, EMBER.JS, Vue.Js ● Trabalho deve conter conceitos sobre o framework/biblioteca e exemplos de utilização.

Aula09 - Java Script

  • 1.
  • 2.
    2 / 19 JavaScriptBibliotecas ● A linguagem JavaScript é uma das bases do desenvolvimento web e, juntamente com a HTML e as CSS, dão vida a boa parte dos sites da internet. ● Apenas essas linguagens juntas já nos permitem desenvolver páginas completas, com layouts elegantes e conteúdo dinâmico. ● Portanto, pode-se dizer que conhecê-las é obrigação de todo profissional que pretende trabalhar com desenvolvimento web.
  • 3.
    3 / 19 JavaScriptBibliotecas ● Assim como outras linguagens, ao longo dos anos a JavaScript foi sendo aperfeiçoada e ganhando cada vez mais importância no meio web. ● Atualmente, é uma linguagem que tem ganhado mais adeptos, uma vez que observamos uma tendência das aplicações de serem transferidas para a web. ● Então, como era de se esperar, foram sendo criados vários plug-ins/frameworks/bibliotecas para se trabalhar com JavaScript, visando facilitar o uso dessa linguagem em tarefas comuns do dia a dia do desenvolvedor web.
  • 4.
    4 / 19 JavaScriptBibliotecas ● Jquery: – A jQuery está entre as mais utilizadas (se não a mais utilizada) bibliotecas JavaScript. Atualmente, quando se requisita que um profissional conheça/domine JavaScript, geralmente a jQuery está incluída. – Sob o lema “escreva menos, faça mais” (write less, do more), o forte dessa biblioteca está na simplificação de códigos nativos da linguagem que geralmente são mais extensos.
  • 5.
    5 / 19 JavaScriptBibliotecas ● Temos um exemplo bastante básico de uso da jQuery, onde comparamos duas expressões equivalentes, uma em código nativo JavaScript e outra utilizando jQuery.
  • 6.
    6 / 19 JavaScriptBibliotecas ● Esse é apenas um exemplo, dos mais simples possíveis, a jQuery vai muito além, permitindo criar animações etc. ● A jQuery é a biblioteca sobre a qual foi desenvolvida a maior quantidade de plug-ins e outras biblioteca, incluindo a jQuery Mobile e a jQueru UI, da mesma empresa responsável pela jQuery, a jQuery Foundation.
  • 7.
  • 8.
    8 / 19 AngularJs ● O AngularJS ou, Angular para os íntimos. Descrito por seus criadores como um framework JavaScript supereróico, ele trouxe um novo conceito de desenvolvimento front-end e deu início a nova era dos web apps.
  • 9.
    9 / 19 AngularJs ● A premissa do Angular é ser um Framework MV* (Model – View – Qualquer Coisa) para desenvolvimento do front-end de aplicações web, ou seja, que rodam dentro do navegador do cliente.
  • 10.
    10 / 19 AngularJs ● Muitos frameworks são desenvolvidos por pessoas talentosas apaixonadas pelo que fazem, o que nos dá sistemas maravilhosos e muito gostosos de usar. Agora, como deve ser um framework feito por um time inteiro de pessoas talentosas, apaixonadas pelo que fazem e que ainda recebem uma quantia considerável de dinheiro para evoluir o projeto? ● O Angular foi desenvolvido por um analista do Google e adotado e incubado pela Gigante de Mountain View. Eles mesmos já o estão usando em mais de 1600 projetos internos.
  • 11.
    11 / 19 AngularJs ● Exemplo: https://codepen.io/algaworks/pen/qNZvEV
  • 12.
    12 / 19 Node.js ●O objetivo declarado do Node é “fornecer uma maneira fácil de criar programas de rede escaláveis”. ● Qual é o problema com os programas de servidor atuais? Vamos fazer as contas. Em linguagens como Java™ e PHP, cada conexão inicia um novo encadeamento que, potencialmente, é acompanhado de 2 MB de memória. ● Em um sistema que tenha 8 GB de RAM, isto define o número máximo teórico de conexões simultâneas em cerca de 4.000 usuários.
  • 13.
    13 / 19 Node.js ●À medida que sua base de clientes cresce, você deseja que seu aplicativo da Web suporte mais usuários e, portanto, será necessário adicionar mais servidores. ● É claro, isso se soma a custos de negócios, especificamente custos de servidor, custos de tráfego e custos de mão de obra. Adicione a esses custos o problema técnico potencial de que um usuário poderá usar diferentes servidores para cada solicitação, de forma que quaisquer recursos compartilhados deverão ser compartilhados por todos os servidores. ● Por exemplo, no Java, variáveis estáticas e caches precisam ser compartilhados entre as JVMs em cada servidor. Este é o gargalo de toda a arquitetura de aplicativos da web, o número máximo de conexões simultâneas que um servidor pode tratar.
  • 14.
    14 / 19 Node.js ●O Node soluciona o problema mudando a forma como uma conexão é feita no servidor. ● Em vez de iniciar um novo encadeamento do SO para cada conexão (e alocar a memória correspondente com ele), cada conexão cria um processo, que não requer que o bloco de memória o acompanhe. ● O Node alega que nunca ocorrerá um impasse de bloqueios, pois não são permitidos bloqueios e ele não bloqueia diretamente para realizar chamadas de E/S. ● O Node também alega que um servidor que o execute pode suportar dezenas de milhares de conexões simultâneas. ● De fato, o Node altera o panorama do servidor ao mudar o gargalo do sistema inteiro do número máximo de conexões para a capacidade de tráfego de um único sistema.
  • 15.
    15 / 19 Node.js ●Como o Node funciona? – O Node propriamente dito executa V8 JavaScript. Espere, JavaScript no servidor? Sim, você leu corretamente. – O JavaScript no lado do servidor é um conceito relativamente novo, e há cerca de dois anos, aqui no developerWorks, ele foi mencionado em uma discussão sobre o produto Aptana Jaxer. – Apesar de o Jaxer nunca ter chegado a tanto, a ideia em si não era tão absurda — por que não usar no cliente a mesma linguagem de programação que você usa no servidor?
  • 16.
    16 / 19 Node.js ●O mecanismo V8 JavaScript é o mecanismo subjacente do JavaScript que o Google usa com seu navegador Chrome. ● Poucas pessoas pensam sobre o que de fato ocorre com o JavaScript no cliente. ● Um mecanismo JavaScript, de fato, interpreta o código e o executa. Com o V8, o Google criou um interpretador ultrarrápido escrito em C++ que tem um aspecto exclusivo: é possível fazer o download do mecanismo e integrá-lo em qualquer aplicativo que você desejar. ● Ele não é restrito à execução em um navegador. Portanto, o Node, na verdade, usa o mecanismo V8 JavaScript escrito pelo Google e o redireciona para uso no servidor. Perfeito! Por que criar uma nova linguagem quando há uma boa solução já disponível.
  • 17.
    17 / 19 ReactJS ●React é uma biblioteca para criar interfaces. ● Isso é ótimo, ele vai resolver toda aquele amontoado de código com jQuery que tínhamos para manipular o DOM. Agora podemos criar coisas performáticas e reutilizáveis de verdade. ● Ele vai bem em várias situações e tipos de projetos, independente do tamanho.
  • 18.
    18 / 19 ReactJS ●Essa biblioteca surgiu em 2011, no Facebook, e passou a ser utilizada na interface do mural de notícias da rede social. ● No ano seguinte, passou a integrar também a área de tecnologia do Instagram e de várias outras ferramentas da empresa. Em 2013, o código foi aberto para a comunidade, o que colaborou para sua grande popularização.
  • 19.
    19 / 19 TrabalhoPesquisa ● Trabalho escrito e apresentado sobre: – Jquery, Angular JS, Node.js, ReactJS, BACKBONE.JS, D3.JS, EMBER.JS, Vue.Js ● Trabalho deve conter conceitos sobre o framework/biblioteca e exemplos de utilização.