2. 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. 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. 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. 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. 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.
8. 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. 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. 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.
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
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.