Escolar Documentos
Profissional Documentos
Cultura Documentos
Nesta aula, vamos aprender o conceito de framework, a diferença entre um framework e uma
API e os principais frameworks disponíveis no mercado de desenvolvimento web.
45 minutos
INTRODUÇÃO
Prezado, estudante.
Nesta aula, vamos aprender o conceito de framework, a diferença entre um framework e uma API e os
principais frameworks disponíveis no mercado de desenvolvimento web.
A linguagem JavaScript é, hoje, uma realidade de mercado, e durante a prática profissional, é comum que
ocorram problemas que demandem a realização de tarefas repetitivas e de baixa complexidade que consomem
tempo e recursos. Diante disso, como um framework pode ajudar nessas tarefas?
Mas antes que pense em uma resposta, vamos definir, inicialmente, o que é um framework considerando sua
aplicabilidade no mercado de tecnologia. Em função das características desse mercado, o profissional mais
preparado tende a se destacar dos demais. Por isso, é importante que, desde já, tomemos consciência da
disciplina focada no autoestudo, pois é por meio dela que alcançamos nossa autonomia.
CONCEITO DE FRAMEWORKS
Podemos compreender um framework como uma “estrutura de softwares” que possibilita a sua ampliação e
transformação em algo maior e mais especifico; ele é um conjunto de códigos-fonte, classes, funções, técnicas e
metodologias que viabilizam o desenvolvimento dos softwares (MINETTO, 2007).
Vamos pensar um framework como um conjunto de estruturas que podem ser totais ou parcialmente
reutilizáveis; é por meio dele que podemos conceber aplicações customizadas e dedicadas ao nosso interesse.
Perceba que podemos definir o que é um framework de várias maneiras, mas o importante é compreender que
sua definição não é estática, logo, podemos dizer que o framework é caracterizado como uma coleção de
classes abstratas e concretas, é também o modo como as instâncias dessas classes interagem entre elas
(ROBERTS; JOHNSON, [s. d.]). Isso que dizer que um framework realiza a captura de uma funcionalidade
partilhada por diversas aplicações, mas para isso ser possível, é necessário que tais aplicações tenham algo em
comum, algo que pertença ao mesmo domínio de problema.
A nossa definição de framework apoia-se em algumas características fundamentais; a primeira delas diz que um
framework deve fornecer uma solução para um grupo de problemas similares, por meio de suas classes e
interfaces, decompondo o problema em partes menores e mais fáceis de solucionar; já a segunda característica
diz respeito a como os objetos dessas classes cooperam entre si para realizar suas funções; outro atributo trata
de seu conjunto de classes flexíveis e extensíveis, permitindo a criação de aplicações com menos esforço.
Veja que um framework é uma aplicação incompleta, pois faltam alguns componentes. Atualmente, há uma
apreciável quantidade de sites web e sistemas que funcionam por meio do JavaScript e seus frameworks
(FLANAGAN, 2011).
Empresas como Google, Microsoft e Facebook aplicam essa tecnologia em seus sistemas, forçando sua evolução
e, por consequência, tornando sua utilização mais simples. Realmente, o desenvolvimento web tem ficado cada
vez mais complexo, assim, a produção de códigos não se realiza de forma simplesmente manual, mas por meio
do auxílio dos frameworks, conforme Figura 1.
Daremos ênfase aos APIs e aos frameworks, no entanto, antes, temos que definir o que são bibliotecas. A
concepção de biblioteca é de compartilhamento de resultados ou soluções que ocorrem por meio de suas
funções e métodos; mas o que isso quer dizer? Quando estamos programando, empregamos um conjunto de
funções previamente escritas e testadas, não sendo necessário reescrever as funcionalidades dessas funções, e
esse conjunto é chamado de biblioteca.
Mas você pode estar se perguntando: e se, em algum momento, for necessária a inclusão de uma nova
funcionalidade em uma aplicação? Bem, nesse caso, será preciso incluir alguma biblioteca que se ajuste à
necessidade de determinada funcionalidade. Por exemplo: se alguém precisar criar gráficos, poderá utilizar a
biblioteca Chart.js do Java Script, assim como a biblioteca React, se quiser construir interfaces de usuário.
A definição de biblioteca nos leva à definição de framework, dado que um framework, diferentemente de outras
bibliotecas, é uma reunião de bibliotecas (TECHNOPEDIA, 2018), sendo a API uma abstração. De outra forma,
dizemos que as APIs são grupos ou conjuntos de padrões e de rotinas de programação que nos dão acesso a
plataformas ou aplicações web.
Basicamente, esse framework emprega a linguagem HTML como standard, sendo capaz, por meio de suas
diretivas, de ampliar os atributos do HTML. O AngularJS se vincula aos dados do código HTML por meio de suas
expressões; ele possui uma estrutura JavaScript e pode ser acrescentado a uma página web por meio de uma
tag de script (SILVA, 2020). Vejamos um exemplo do seu emprego analisando o trecho de Código 1 a seguir.
Código 1 | HTML
1 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js">
2 </script>
Esse pequeno trecho de código mostra o AngularJS sendo adicionado a uma web page por meio da tag <script>.
A extensão do HTLM realizada por esse framework ocorre por meio de suas diretivas -ng. Abaixo, temos o
Código 2, em que algumas de suas diretivas são utilizadas:
Código 2 | Diretivas
1 <div ng-app="">
4 </div>
Comentários do código: nesse código, temos, na linha 1, a diretiva ng-app, e essa diretiva informa, ao AngularJS,
que o elemento <div> é o dono do arquivo; já na linha 2, temos a diretiva ng-model, que realiza o vínculo do
valor do campo de input, recebendo o nome da variável; por fim, a linha 3 une o conteúdo do elemento <p> ao
nome da variável.
Como vimos, às diretivas AngularJS são atributos HTML com prefixo -ng, e esse foi um exemplo de
funcionamento desse framework; abordaremos questões mais técnicas oportunamente. Além do AngularJS,
temos outro importante framework chamado Vue.js, que nos possibilita a construção de interfaces de usuário
(users interfaces). O Vue.js foi desenvolvido para ser adotado de modo incremental, ou seja, ele é um
framework progressivo e pode se conectar, parcialmente, a uma aplicação server-side, ou seja, ele se conecta
apenas a setores da aplicação que são definidos pelo desenvolvedor, de acordo com sua necessidade.
Outra característica desse framework diz respeito a sua principal biblioteca, que foi escrita para ser aplicada
exclusivamente na camada visual (view layer). Não pense que o AngularJS é o protagonista absoluto no mundo
do desenvolvimento web; outro framework importante se chama Vue.js, que também é capaz de se integrar a
outras bibliotecas, e assim como o AngularJS, o Vue.js promove, a partir de seus atributos, a extensão do HTML,
e suas diretivas propiciam mais funcionalidades aos aplicativos escritos em HTML. Esse framework utiliza
colchetes duplos { { } } para os campos reservados aos dados, e suas diretivas, que são atributos HTML, são
escritas com o prefixo v- . Podemos estudar outros exemplos de código em W3schools. Vejamos um pequeno
exemplo retirado dessa fonte.
1 <div id="app">
4 <script>
5 var myObject = new Vue({
6 el: '#app',
7 data: {message: 'Hello Vue!'}
8 })
9 </script>
No Código 3, na linha 5, um new object é criado por meio do comando new Vue(); uma propriedade chamada
(el) linha 5 liga o new object Vue a um elemento do HTML com id = "app" linha 5. Novamente, reforçamos a
necessidade da prática de programação e do estudo detalhado desse framework.
Certamente, essa tecnologia nos oferece padrões para o desenvolvimento tanto em HTML quanto em CSS e
JavaScript. Lançado, em 2011, por profissionais do Twitter, ele apresenta enorme vantagem quando se trata da
concepção de layouts e projetos de sites que privilegiam o acesso via dispositivos móveis.
ESTUDO DE CASO
Você foi contratado como desenvolvedor web de uma grande empresa e está integrado em um time de
desenvolvimento front-end responsável por uma importante plataforma acessada diariamente por milhares de
clientes ao redor do mundo.
Recentemente, o help desk dessa empresa tem recebido solicitações de serviço (tickets) demandando suporte
em uma quantidade anormal se comparado aos anos anteriores. A maioria dessas solicitações tem sido a
respeito das dificuldades dos clientes em acessar a plataforma que parece funcionar de modo intermitente. Um
cliente relatou que acessou a plataforma pela manhã, por meio de um desktop, e que, posteriormente, a
acessou a partir de um dispositivo móvel, e foi nesse momento que o cliente se deparou com um problema de
interface. O desenvolvedor está, agora, no centro da questão, participando de uma reunião emergencial para a
formação de um grupo de trabalho focado na solução dessa falha. O problema deve ser solucionado em
questão de horas, uma vez que a empresa corre o risco de perder credibilidade e valor de mercado.
Então, chegou a hora, cada equipe está buscando encontrar a falha em seus respectivos setores. Depois de
algum tempo, foi descoberto que a falha tinha relação com o preenchimento de um formulário em uma
interface programada em JavaScript que utiliza um determinado framework. Essa página é acessada pelos
clientes por meio de vários tipos de dispositivos e sistemas operacionais; frente a isso, pense e proponha uma
hipótese justificável que possa servir de base para resolver a situação. Lembre-se de analisar o problema de
modo objetivo, levando em consideração tudo o que você já conhece sobre os principais frameworks
modernos.
A partir da análise dos relatórios das solicitações de serviços, encontramos uma pista quando o texto diz:
acessou a plataforma por um dispositivo desktop pela manhã e, em outro acesso via dispositivo móvel,
deparou-se com problemas de interface. Essas informações nos levam a pensar no framework utilizado pela
aplicação em questão. De fato, ele parece não ser o mais adequado, dado que os acessos à plataforma foram se
tornando cada vez mais complexos ao decorrer dos anos (o texto diz que a empresa tem recebido solicitações
de serviço – tickets –, demandando suporte em uma quantidade anormal se comparada aos anos anteriores).
Logo, do ponto de vista dos tipos de dispositivos utilizados no acesso à plataforma e do aumento expressivo de
demandas por acessos via dispositivos móveis, podemos chegar à conclusão de que o framework utilizado se
tornou ineficiente, pois, uma vez integrado ao sistema da empresa, a quantidade de acessos via aparelhos
móveis não foi tão expressiva. Assim, a escolha de um framework adequado resolveria o problema, e, de acordo
com o nosso conhecimento do assunto, seria conveniente a sua substituição por outro que privilegie o acesso
via dispositivos móveis, e uma escolha seria o Bootstrap.
Saiba mais
Para ampliar seu aprendizado e sanar questões do dia a dia sobre tecnologias web, visite o site
w3shools.com; nele, você encontra inúmeros tutoriais relacionados ao JavaScript e seus frameworks, bem
como a outras tecnologias. Outra fonte confiável de referência pode ser consultada por meio do endereço
web developer.mozilla.org.
Além disso, em ieeexplore.ieee.org, você também pode consultar livros, conferências, artigos, cursos,
padrões e citações sobre tecnologia. Acesse a plataforma e pesquise: JavaScript Framework.
Para treinar programação, utilize a ferramenta online CodeSandbox e teste seus códigos. Bons estudos!
Aula 2
ANGULAR
Nesta aula, você terá a chance de aprender a trabalhar com o framework angular, assim como
configurar seu ambiente de desenvolvimento, conhecer seus componentes e módulos.
39 minutos
INTRODUÇÃO
Caro estudante, no decorrer desta aula, vamos aprender pontos importantes relativos ao desenvolvimento web
por meio do framework angular, e conhecer essa tecnologia é muito importante, pois a demanda por aplicações
web têm se tornado uma constante no mercado de software. Frente a isso, podemos nos perguntar, qual a
forma mais eficaz de desenvolvê-las? Qual tecnologia devemos utilizar? Nesta aula, você terá a chance de
aprender a trabalhar com o framework angular, assim como configurar seu ambiente de desenvolvimento,
conhecer seus componentes e módulos. Logo, vamos criar o nosso primeiro projeto com esse framework.
Bons estudos!
Inicialmente, esse framework era grafado como AngularJS; após sua versão 1.7, ele passou a ser chamado de
Angular. Para ficar claro, a versão Angular sem o “JS” é uma versão que foi reformulada para otimizar código,
tornando-o mais eficiente.
O MCV separa a representação da informação chamada Model da interação que o usuário realiza com essa
informação (View) (KAUFMAN; TEMPLIER, 2016). Percebemos, então, uma característica importante dessa
arquitetura: cada elemento funcional do código é tratado por ele de modo independente, o que torna o código
mais inteligível e fácil de manter. Outro atributo do Angular que não podemos deixar de citar diz respeito ao
emprego de suas diretivas, e podemos definir as diretivas como uma maneira de estender as funcionalidades
do HTML, que ocorre pela inclusão de atributos ou componentes que permitem a criação de tags específicas
que possibilitam o reuso do código.
Antes de prosseguirmos com a codificação de aplicações com esse framework, vamos acompanhar a instalação
desse ambiente de desenvolvimento. Abaixo, temos a imagem das opções de instalação do AngularJS. O
download desse framework está disponível em duas opções: a não comprimida (uncompressed) e a versão
minificada (minified), que ocupa menos espaço no disco, pois não vem com seu código comentado.
Veja só: o Angular-1.8.2 possui uma estrutura própria de diretórios e arquivos em que cada qual apresenta uma
funcionalidade específica.
A próxima imagem exibe a mesma estrutura de arquivos, agora, aberta em um editor HTML. Perceba que,
nessa estrutura, existe um arquivo chamado index.html.
Figura 3 I Estrutura dos arquivos do angular-1.8.2 com destaque para o arquivo index.html
A próxima figura mostra um exemplo de código que foi carregado no arquivo index.html.
1 <DOCTYPE html>
4 <meta charset="UTF-8">
5 <title>Document</title>
6 <script src='js/angular.min.js'></script>
7 </html>
8 <body>
9 <h1>{{'Hello ' + 'AngularJS'}}</h1>
12 </html>
Vamos estudar as linhas mais importantes desse código. Na linha 6, foi feita a inclusão da biblioteca AngularJS;
na linha 2, apontamos o HTML como app por meio da diretiva ng-app do Angular; já o restante das linhas
corresponde à estrutura padrão de um arquivo HTML. Ainda na linha 2, perceba que não foi especificado o
nome do app, e por que isso? Isso é necessário somente quando os elementos do JavaScript são acoplados com
HTML. As linhas 9 e 10, representadas pelas chaves duplas, mostram que tudo o que estiver entre essas chaves
será renderizado como HTML após ser interpretado pelo Angular (a linha 9 representa uma concatenação de
elementos textuais); por fim, na linha 10, foi expressa uma operação de soma. O resultado da compilação será
exibido no browser conforme a figura abaixo.
MÓDULOS
Neste momento, vamos conhecer os componentes e módulos do Angular. Os componentes são os blocos
fundamentais que constituem uma aplicação. São estruturas de código que funcionam de modo independente
e que podem ser reutilizadas em diversos contextos de aplicação.
Cada componente possui sua própria lógica de funcionamento. Quando desenvolvemos uma aplicação Angular,
o que realizamos é a conexão entre vários componentes distintos que, juntos, irão formar uma interface de
usuário (user interface). Esses componentes podem, de maneira opcional, receber parâmetros internos ou
externos à aplicação a que pertencem, bem como podem se comunicar com outros componentes por meio de
retornos de chamadas (Call-backs) ou de eventos. É interessante notarmos que um componente pode ter
encapsulado em seu código funcionalidades que são externas a ele, tais como estruturas de estilo ou, até
mesmo, uma lógica de negócios. Os componentes do Angular são, de fato, diretrizes que possuem sua própria
lógica definida, assim, quando olhamos para uma aplicação Angular, constatamos que ela contém sua própria
árvore de componentes, e isso significa que nossas aplicações são baseadas no conceito de visualização (View) e
que são um subconjunto de diretrizes.
Existem dois tipos de diretrizes, uma que trata sobre o comportamento dos elementos e outra que
denominamos diretriz estrutural, também chamada de componente. Quando criamos aplicações “Angular”, o
resultado são estruturas de código segregadas por módulos, e esse conceito se refere a um modelo de template
HTML gerenciado por, pelo menos, um controlador. Repare que o conceito de módulo carrega consigo um
modo mais eficaz de organizar e gerenciar o código da interface do usuário, e isso é realizado por meio das
secções de código que funcionam individualmente e que podem ser reutilizadas. Agora que já sabemos o que
são e quais são as principais características de um componente, vamos tratar dos módulos em Angular.
Os módulos são construídos a partir de contêineres, que são códigos dedicados a um determinado domínio de
aplicações; isso é um módulo.
Figura 6 I A figura destaca alguns módulos dos quais o ambiente Angular é dependente
Vemos, na Figura 6, a estrutura do node module. Os módulos podem conter serviços de provedores,
componentes e diretivas, que são definidas pelo módulo raiz ou NgModule. Cada aplicação Angular possui, ao
menos, um NgModule, que, por convenção, denominamos AppModule, e esse módulo se localiza em um
arquivo chamado App.Module. Perceba que uma aplicação pode ser concebida com apenas um módulo,
entretanto, a grande maioria delas é construída a partir de diversos módulos de recursos.
De fato, uma das mais importantes características introduzidas no JavaScript foram os módulos, através do
NgModule, onde todas as declarações e variáveis de uma aplicação farão parte de seu escopo. O NgModule,
sendo um módulo root, compartilha o mesmo contexto de compilação de componentes que pertencem a outro
NgModule, e essa é uma importante característica desse módulo. Cada aplicação Angular possui, ao menos, um
NgModule, que, por convenção, denominamos AppModule, e esse módulo se localiza em um arquivo chamado
app.module.ts.
Agora, estamos preparados para prosseguir em nosso estudo sobre o Angular, espero que você tenha
compreendido o que são módulos e componentes, assim como as suas principais características. Temos a
certeza de que, agora, estamos em condições de nos aprofundarmos neste tema tão instigante que é o
desenvolvimento em JavaScript, conforme Figura 7.
Videoaula: Módulos
1 <!doctype html>
2 <html ng-app>
3 <head>
4 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
5 </head>
6 <body>
7 <div>
8 <label>Name:</label>
11 <h1>Hello {{yourName}}!</h1>
12 </div>
13 </body>
14 </html>
3 <head>
4 <script
5 src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
6 </head>
7 <body>
8 <div>
11 <hr>
12 <h2>Bem-Vindo(a): {{seuNome}}.</h2>
13 </div>
14 </body>
15 </html>
16 <body>
17 <div>
18 <label>Nome do novo Usuário:</label>
23 </body>
No Código 2, temos, na linha 1, a declaração padrão do HTML, que informa ao navegador qual versão do HTLM
será utilizada. Na linha 2, declaramos a propriedade ng-app, iniciando a aplicação, e essa diretiva é incluída
como parte do HTML em qualquer aplicação que se queira construir por meio do Angular (GREEN; SESHADRI,
2013). Na linha 4, foi especificado o atributo src (Source) do HTML, e repare que o valor que esse atributo recebe
é dado por uma url (uniform resource locator), que aponta para o local fonte da informação. Na linha 9, temos a
diretiva NgModel, que realiza a ligação entre uma entrada de dados e uma propriedade do escopo da aplicação;
nesse caso, a uma área de texto. Além disso, na mesma linha, temos o atributo placeholder, que insere o texto
em um campo de formulário. As demais linhas são partes da estrutura padrão do HTML.
Veja que o código apresentado é bastante simples e deve ser compreendido em detalhes. Já o código 3 mostra
o mesmo trecho, mas com as modificações necessárias que alteram a interface do usuário.
O que temos de diferente no Código 3 em relação ao Código 2? Perceba que, no Código 3, temos a mesma
estrutura do Código 2 (veja o resultado das alterações efetuadas). Observando atentamente o código
modificado, percebemos que, na linha 9, em <label></label>, modificamos a mensagem inicial para receber um
nome e sobrenome; na linha 10, alteramos o ng-model, que, agora, recebe seuNome; a linha 12 teve seu
conteúdo de texto modificado para exibir uma mensagem de boas-vindas; e repare que o restante do código
(linhas 16 a 23) é uma réplica do trecho do Código 2. O resultado foi a duplicação do campo que recebe os
dados de entrada.
Experimente executar os dois códigos e compare os resultados. Execute o Código 3, faça as suas próprias
modificações, analise o resultado obtido e pense nas funcionalidades adicionais que podem ser adicionadas a
ele, como alteração do estilo de interface, gravação e armazenamento em um arquivo a partir dos dados
registrados. É importante que você busque novas soluções para questões que são recorrentes no campo da
programação web.
Bons estudos!
Para isso, a leitura da documentação do Angular é um ótimo começo. Responder a problemas muitas vezes
atípicos faz parte da vida do desenvolvedor, e o que diferencia um bom profissional nesse setor é justamente
sua capacidade de buscar soluções mais eficientes e novas maneiras de agir sobre processos e questões
pertinentes ao ambiente de desenvolvimento.
ESTUDO DE CASO
Imagine que você faz parte do time de desenvolvimento de uma empresa do setor de tecnologia e que, nessa
empresa, o Angular é um ambiente bastante utilizado por seus colaboradores que estão em constante contato
com essa tecnologia.
Durante o expediente, os desenvolvedores acessam um portal interno em que podem ter acesso a documentos
sobre o Angular. Esse portal foi concebido visando a facilitar o acesso do time de desenvolvimento da empresa,
entretanto, em razão de uma falha de segurança, o portal de consulta foi desabilitado. Logo, buscando uma
solução rápida, seu superior lhe deu a tarefa de construir um novo site que deverá conter uma mensagem de
boas-vindas e um aviso ao usuário com a mensagem: “Atenção! Nosso sistema está migrando”, assim como a
versão corrente (versão 1.0) e a mensagem: “Links Importantes”. A sequência dos links que deverão aparecer
nos botões será a seguinte:
O layout da página que vamos criar será um modelo reutilizado a partir do padrão do Angular e a página deverá
conter somente os elementos indicados no texto, logo, elementos adicionais deverão ser suprimidos. (Altere os
arquivos necessários para que as modificações sejam aplicadas com sucesso.)
As alterações foram suficientes? Em caso negativo, procure, no código, os elementos que ainda devem ser
alterados, se houver. É importante trabalhar buscando as nossas próprias soluções.
2. <!-Toolbar
Ainda em app.componet.html, altere a linha: <span>{{title}} Nosso Sistema está Migrando </span>:
2. <h2>Versão 0.1</h2>
3. <p>Links Importantes</p>
compiler"
2. title = 'ATENçÃO:'
3. }
2. <meta charset="utf-8">
3. <title>Novo Portal</title>
Saiba mais
É importante que nos aprofundemos na tecnologia dos frameworks, para isso, recomendamos a
leitura atenta da documentação referente ao Angular, que pode ser consultada no próprio síte do
ambiente.
Outra fonte importante de informações pode ser acessada por meio do Node.js, nele, podemos
consultar a documentação sobre o nodejs, além de guias e informações sobre dependências,
certificação e segurança.
Para testes com o AngularJS, Vue.js e outros frameworks via servidor, podemos utilizar a ferramenta
online StackBlitz.
Aula 3
VUE
Nesta aula, você aprenderá como funciona o framework no desenvolvimento front-end de um
sistema.
40 minutos
INTRODUÇÃO
Olá, estudante! Vue é um framework de código aberto, desenvolvido pelo programador Evan You, que trabalhou
em diversas empresas de tecnologia e em alguns projetos — como o da Google Interative Labs, utilizando
outros frameworks, como o Angular. Evan queria algo que fosse simples, acessível e livre para qualquer
desenvolvedor. Após muitas horas de trabalho para que esse framework ficasse pronto, o Vue foi lançado,
enfim, em 2014.
Entender como funciona este framework no desenvolvimento front-end de um sistema é o objetivo desta aula.
Escolher qual framework utilizar, para melhor atender ao usuário no produto final, que é o sistema web
desenvolvido, facilita o caminho a ser percorrido até a entrega do sistema funcionando.
INTRODUÇÃO AO VUE
O Vue é um framework progressivo, feito para construir interfaces e o front-end de sistemas web. Este
framework surgiu para facilitar o desenvolvimento e a construção de sistemas web utilizados por meio de
navegadores (VUE, 2021).
Diferente dos outros frameworks, monolíticos, ele é incremental, com o objetivo de facilitar o desenvolvimento,
focado na renderização e na composição de componentes, com funcionalidades que permitem se ter códigos
complexos, mas simples, para desenvolvedores de aplicações web. Ele trabalha por meio de bibliotecas e
pacotes, que facilitam o desenvolvimento, mesmo para os programadores menos experientes.
Esta biblioteca trabalha na camada View, no modelo MVC. Apesar disso, também atua muito bem com outras
bibliotecas e até mesmo com o conceito de single-page application, utilizando bibliotecas e ferramentas
específicas (VUE, 2021).
Com o framework Vue, é possível construir aplicativos web que permitem escolhas, como as opções vistas em e-
commerce, nas quais o usuário pode escolher a cor e tamanho do produto que está comprando. O comprador
interage com a tela, escolhendo cor e tamanho do produto que quer; e o aplicativo valida, por meio das
camadas de arquitetura, se este produto tem ou não disponibilidade em estoque (INCAO, 2017, p. 22).
A utilização deste framework deve permitir ao usuário escolher e comprar o produto diretamente na sua tela.
Esta opção de tela pode ser feita pelo Vue, com o JavaScript (INCAO, 2017, p. 24).
Vue é muito comum na criação de single-pages (páginas únicas), e funciona muito na concepção de interfaces,
na utilização de elementos para compor as páginas. O resultado do trabalho feito usando Vue é uma interface
muito amigável para o usuário.
Por ser progressivo, ele pode ser conectado a diferentes partes em uma aplicação server-side, para otimização
da user interface (UI). Vue é considerado o framework mais popular no mundo pela sua facilidade de uso, bem
como liberdade de atuação e resultados esperados (VUE, 2021).
A arquitetura para trabalhar com Vue deve ter uma configuração bastante simples e ser facilmente integrável a
outras plataformas de desenvolvimento script e a qualquer aplicação já existente, por meio de uma tag <script>.
Sua estrutura precisa ser simples e limpa, para que outros programadores entrem e saiam dos projetos sem
causar impacto negativo ou perdas a eles ou à equipe. A mudança de pessoas ao longo do projeto não impacta
a finalização das entregas. Utilizar o framework Vue torna simples e fácil o desenvolvimento de páginas web,
para serem utilizadas em qualquer navegador.
Desenvolvedores estão construindo aplicações com o Vue em blocos, pacotes ou componentes. Com o uso do
Vue Router, os componentes são mapeados para as rotas pertinentes, entendendo as rotas-raízes e onde seus
filhos serão renderizados (VUE, 2021).
COMPONENTES
O framework Vue trabalha com componentes, o que permite que as aplicações fiquem leves, facilmente de
serem integradas a outras plataformas ou scripts. O desenvolvedor pode adaptar os componentes e reutilizá-
los em outras aplicações.
Para o uso do conceito de componentização, normalmente é utilizada a plataforma Git como repositório dos
códigos, permitindo fácil troca de dados na aplicação que é utilizada pelo usuário (VUE, 2021).
Os componentes feitos com códigos Vue são estruturados em HTML, CSS e JavaScript e colocados em um único
arquivo Vue, o que torna o código mais simples de armazenar, localizar e alterar quando necessário
(VILARINHO, 2021). Esses componentes são isolados e podem ser utilizados de diversas formas.
A Tabela 1 traz um componente Vue, no qual aparece um código bastante comum — como o “Hello World”, feito
sempre como exemplo em qualquer linguagem de programação. Observa-se, na linha dois, que o código do
componente Vue é colocado entre quatro chaves — neste caso, a mensagem em tela será “Hello Vue!!”.
1 <div id=”app”>
2 {{message}}
3 </div>
4 new Vue({
5 el: ‘#app’,
6 data: {
7 message: “Hello Vue!!”
8 }
9 })
O componente pode estar dentro de qualquer código HTML, com CSS e JavaScript. Ele é criado dentro da
estrutura “HTML, CSS e JavaScript”, o que permite a renderização. A renderização é muito conhecida no
tratamento de imagens; consiste num processo de combinação, para resultar em uma outra imagem. No
desenvolvimento web, em front-end, esse conceito é utilizado para explicar uma atualização forçada: quando
uma página web recebe uma atualização HTML, mas ainda não está completamente formada na tela, a
renderização força a atualização, formando a tela em sua totalidade. Este processo implica em um ganho direto
no desempenho da aplicação para o usuário (VILARINHO, 2021).
Uma das características do Vue é a renderização feita por modelo de objeto de documento (DOM), que
permite atualização apenas quando um dos componentes são alterados; isso melhora o desempenho, evitando
atualizações desnecessárias (VUE, 2021). O modelo utilizado pelo Vue cria um vínculo entre o DOM renderizado
e os dados, possibilitando a renderização dos componentes antes da atualização das páginas no navegador,
bem como o cálculo do número mínimo de componentes que precisam ser renderizados para manter a
atualização das páginas.
A componentização do Vue torna possível que o sistema seja construído a partir dos componentes do software
utilizando a função JSX, que permite criar páginas com melhor navegação para o usuário. Em um caso de e-
commerce, por exemplo, esse modelo permite a escolha de um produto, com tamanho e cor específicos. O
componente faz a busca na base de dados, atualizando a informação, validando se o item consta em estoque
ou não e permitindo ao usuário decidir se quer ou não o item antes de colocar no carrinho de compras.
A capacidade de reatividade do Vue faz uso de JavaScript simples e uma renderização otimizada. Dessa forma,
suas próprias dependências (as chamadas reativas) são controladas ao longo da renderização, com o objetivo
claro de o sistema saber quando deve ser renderizado novamente. O uso de transição de páginas no Vue pode
ser feito de diversas formas, como por transição por CSS, integração de bibliotecas do CSS e uso do JavaScript
para o manuseio do DOM. Ao introduzir um componente de transição, o Vue consegue identificar que elemento
é esse e o que ele utiliza, como animações ou transições CSS, que devem permanecer na transição e ser
aplicados quando necessário.
VIDEOAULA: COMPONENTES
Os componentes fazem parte do desenvolvimento Vue; pois, dessa forma, é possível otimizar a codificação,
também facilita o uso do sistema web pelo usuário. O componente permite, por exemplo, que o usuário escolha
um item de compra e tenha a possibilidade de consultar seu estoque antes de ir para o caixa fazer o
pagamento.
Videoaula: Componentes
As diretivas do Vue são importantes para dar maior interação da aplicação, por meio do JavaScript e HTML como
linguagem de marcação, e retornar os dados em uma busca na base de dados.
Diretiva Uso
v-for a iteração dos dados em uma consulta, em que os dados pesquisados são retornados
Interface CLI
Uma ferramenta do Vue.js é a interface CLI (command-line interface), que serve para otimizar o processo de
desenvolvimento, permitindo a execução de diversas funções presentes no desenvolvimento front-end
(VILARINHO, 2021).
Esta função tem como objetivo iniciar um novo projeto seguindo um projeto pronto. O desenvolvedor cria um
primeiro projeto partindo de algum modelo, o que facilita um primeiro desenvolvimento.
O Vue tem uma série de ferramentas que permitem os usuários realizar buscas nos navegadores.
Conforme Vilarinho (2021), para trabalhar com o Vue, basta ter instalado o Node.js e utilizar o Visual Studio, ou
mesmo Visual Studio Code, para colocar o script do Vue.js dentro do código em JavaScript.
Existem algumas ferramentas que ajudam no uso do Vue — como Vue.js devtools, por exemplo. Ele facilita o
processo do desenvolvimento em Vue; além disso, utiliza o Vue.js como extensão do browser do navegador e
auxilia na renderização (VUE, 2021).
Para isso, basta substituir o conteúdo HTML pelo projeto em Vue, como mostra a Tabela 3. Nela há uma série de
itens, que estarão disponíveis em uma lista na tela, para escolha do usuário (VUE, 2021).
2 <h2>{{Loja}}</h2>
3 <ul>
4 <li>{{sapatos[0]}}</li>
5 <li>{{sapatos[1]}}</li>
6 </ul>
7 </div>
Neste caso, para que funcione, é importante que sejam mapeados os códigos que foram inseridos na <div>, no
JavaScript. Isto não deve ser feito no index, e sim manualmente (como apresenta o Código 3, nos códigos feitos
em HTML. Abra a ferramenta de desenvolvimento do navegador para esta alteração, dentro da console.
1 // Comando 1
2 var data = {
5 };
6 // Comando 2
7 new Vue({
8 el: '#app',
9 data: data
10 });
O Código 2 traz parte de um código HTML para a criação da lista. Para tanto, é utilizado JavaScript Object
Notation (JSON), para substituir as chaves duplas. Na Tabela 4, o código apresenta os itens da lista e o “new
Vue()”, instanciando um objeto do Vue.js por meio do <div>.
Neste caso, ao término, o usuário verá a lista na tela como apresentado no Código 4, com as opções de escolha
para a compra do sapato na loja virtual:
O próximo passo é incrementar a lista de sapatos que temos na loja virtual, dentro do JavaScript, utilizando a
diretiva “v-for” dentro da tag <ul>, como mostrado no Código 5:
Código 5 | Incremento de uma lista, com uso da diretiva “v-for”
1 <ul>
Então, coloque no console o script apresentado no Código 6. Isto acrescentará mais um modelo à lista de
opções de sapatos.
data.sapatos.push("Tênis branco");
Assim, teremos:
Agora, tente utilizar os exemplos com as diretivas (ou não), dentro de um framework; ou utilizando o Visual
Studio Code, com JavaScript. Muito sucesso no desenvolvimento front-end com Vue!
ESTUDO DE CASO
Caro aluno, você é um programador que trabalha com desenvolvimento front-end (que utiliza HTML, CSS e
JavaScript) usando Virtual Studio Code, para construir landing pages nas quais a interação do usuário na
navegação é somente até a primeira página.
Agora você está participando de um projeto para desenvolver o e-commerce de uma livraria, e deve
implementar uma solução de busca de um item na base de dados, ou seja, o cliente que quer comprar um livro
deve entrar no site e procurar pelo livro de interesse (que tem que ser buscado na base de dados.
Como programador, apresente uma solução, utilizando o Vue, para resolver o problema de busca por um item
no estoque para a compra.
3 <ul>
4 <li>{{livro[0]}}</li>
5 <li>{{livro[1]}}</li>
6 <li>{{livro[2]}}</li>
7 <li>{{livro[3]}}</li>
8 </ul>
9 </div>
Use o <div> do HTML para colocar o código Vue. Abra a ferramenta de desenvolvimento do navegador para esta
alteração, dentro da console.
1 // Comando 1
2 var data = {
3 livro: [‘ A garota do lago - Charlie Donlea’ ‘É Assim que Acaba - Colleen Hoover e Priscila
Catão’ ‘Box Amor & Livros - Jenna Evans Welch, Joana Faro, e outros.’ ‘Mulheres que correm com os
lobos - Clarissa Pinkola Estés’]
4 titulo: 'livros'
5 };
6 // Comando 2
7 new Vue({
8 el: '#app',
9 data: data
10 });
O próximo passo é incrementar a lista de sapatos que temos na loja virtual, dentro do JavaScript, utilizando a
diretiva “v-for” dentro da tag <ul>, como mostrado na Tabela 11:
1 <ul>
2 <li v-for="livros in livros">{{livro}}</li>
3 </ul>
Então, coloque no console o script apresentado na Tabela 12. Isto acrescentará mais um modelo à lista de
opções de livros.
data.livros.push("As obras revolucionárias de George Orwell - Box com 3 livros - George Orwell e Karla
Lima");
Assim, teremos:
Código 13 | Lista de livros disponíveis no sistema para compra
Saiba mais
Para melhor entendimento sobre aplicações web e desenvolvimento front-end que seja melhor para o
usuário, é recomendada a leitura do capítulo “Tecnologias de integração entre sistemas e aplicações”, do
livro Integração de aplicações.
No site oficial da Vue é possível entender melhor como se dá a compatibilidade de frameworks disponíveis
para utilizar Vue.
Instalação do framework Vue: é recomendada a leitura sobre instalação e ambiente no site oficial do
Vue, disponível em “Instalação” — Vue.js (vuejs.org).
Node.js: utilize Visual Studio, da Microsoft, para criar um aplicativo com o Vue.js. Basta ter instalado o
Node.js e começar a trabalhar com Vue. Disponível em: “Criar um aplicativo Vue.js usando o Node.js” —
Visual Studio (Windows) | Microsoft Docs.
Aula 4
REACT
O React é uma biblioteca JavaScript de criação de interfaces para uso do usuário, com código
aberto, mantido pelo Facebook, Instagram e outras empresas de tecnologia.
47 minutos
INTRODUÇÃO
Olá, aluno! O React (React.js ou ReactJS) é uma biblioteca JavaScript de criação de interfaces para uso do
usuário, com código aberto, mantido pelo Facebook, Instagram e outras empresas de tecnologia. Além do
ReactJS, é possível trabalhar com o módulo Native, que permite o desenvolvimento de aplicações para Android
e IOS, sem HTML. Este framework foi um dos mais utilizados pelos desenvolvedores de front-end, assim como o
Angular e o VUE. Essa aderência deve-se ao fato da facilidade de uso.
As bibliotecas disponíveis no React podem ser usadas de acordo com a necessidade, sem obrigatoriedade de
utilização na íntegra. Podem ser manuseadas no próprio HTML, com o Node.js, utilizando o Visual Studio Code
para colocar o código dentro da estrutura HTML, CSS e JavaScript.
Bons estudos!
O objetivo desta biblioteca é auxiliar na criação de interfaces para o usuário, e é bastante fácil de usar. Ela
trabalha com componentes; sendo assim, é possível construir uma aplicação de forma bastante intuitiva —
como o conceito de construção de blocos de montagem, montando e empilhando cada uma das partes que
estão sendo desenvolvidas, igual aos jogos de montar (REACTJS, 2021).
O uso de componentes facilita a criação de códigos por reuso, ou seja, o reaproveitamento do código é uma
prática adotada pela facilidade de uso dos componentes. Por conta da reusabilidade, o código pode ser
compartilhado por qualquer repositório de códigos — como o Git, por exemplo, no qual o compartilhamento
entre equipes é fácil e permite interação e troca rápidas —, independentemente de estar na mesma equipe de
trabalho, basta ter acesso à pasta de repositório em que está o código (SILVA, 2021).
Trabalhar por componentes permite que uma pessoa programe um componente enquanto um colega mexe em
outro componente ao mesmo tempo, sem que os trabalhos interfiram um no outro. Ao final, é possível juntar
os componentes em uma aplicação somente.
Os componentes são uma função JavaScript, que misturam HTML com JavaScript por meio do JSX. Portanto,
conhecer bem JavaScript, HTML e CSS permite que você tenha sucesso em desenvolvimento utilizando as
bibliotecas ReactJS (SILVA, 2021).
Para iniciar o trabalho com o ReactJS, é importante ter instalado a ferramenta Node.js e o Virtual Studio Code
(para a edição dos códigos, portanto, você pode utilizar outro editor). Tenha instalado também em sua máquina
o Create React App, que você baixa da internet.
Como é sabido, essa biblioteca foi criada pelo Facebook e tornou-se popular pela facilidade de uso. Assim, o que
é preciso para usar esta biblioteca está disponível na internet com acesso fácil.
Para utilizar o Create React App, entre em: Create React App (create-react-app.dev).
Ele é uma command-line interface (CLI) que compartilha e cria praticamente todo o projeto desde o início
utilizando modelos pré-existentes.
Ao baixar o Create React App, ele instala o package.json, que está presente em todos os projetos Node.
A instalação disponibiliza scripts que serão utilizados na biblioteca React, e o primeiro deles é o “start”. Ele
começa a trabalhar na máquina criando esta aplicação. Deve aparecer algo como na Figura 1, carregando a tela:
O motivo de usar o ReactJS para construir aplicações mais interativas para os usuários é porque ele reage ao
uso de algumas bibliotecas com o HTML, CSS e JavaScript. Assim, você pode utilizar Virtual Studio Code, colocar
o código que quiser e chamar a biblioteca para reagir ao que você quer que ela faça (REACTJS, 2021).
A biblioteca será chamada dentro do código JavaScript que você está programando no Virtual Studio Code.
Os componentes normalmente levam um nome qualquer, com a extensão “JS”. Como dito aqui, o Create React
App pode ajudar muito na criação dos componentes, com modelos que facilitam a programação — pois a ideia
é esta mesmo. Apesar dos modelos prontos, o Create React App permite programar do zero dentro.
Agora, instale a biblioteca, conforme recomendado nesta aula, para utilizar o React de forma correta e
aproveitar todos os recursos oferecidos.
COMPONENTES
A componentização dentro do ReactJS vem para otimizar o trabalho e ganhar tempo e escalabilidade. Permite
ter várias pessoas ou equipes trabalhando em programação utilizando esta biblioteca e, ao mesmo tempo,
pessoas trabalhando em outros componentes (REACT, 2021).
Os componentes REACTJS são compatíveis com o JavaScript, com entradas chamadas props, e servem para
retornar os elementos (REACT, 2021).
Com o uso de componentes, a interface pode ser dividida e suas partes podem ser reutilizadas
independentemente em outros projetos, facilitando o desenvolvimento do sistema e sua utilização (SILVA,
2021).
Existem alguns tipos de componentes no REACTJS. Os mais comuns são componentes funcionais sem estado e
componentes de classe. Ambos controlam o estado da aplicação, bem como controlam e chamam as APIs,
trazendo os dados requeridos para a aplicação (SILVA, 2021).
Os componentes funcionais sem estado são as funções JavaScript. Eles não se envolvem com o estado do
componente na aplicação, apenas com a apresentação do dado na tela.
Já os componentes de classe atuam diretamente na aplicação e, além de controlar o próprio estado, utilizam os
métodos do ciclo de vida do ReactJS (REACT, 2021).
Nas tabelas abaixo há dois exemplos de código: com componentes funcionais sem estado e componentes de
classe.
4 render() {
5
8
9 }
10 }
O segundo se trata de um componente funcional sem estado, para criar o famoso “Olá, MUNDO!”.
2
3 const Hello = (props) => <h3>Olá, MUNDO! {props.name}</h3>
Apesar de atuarem de forma diferente, os componentes terão o mesmo resultado esperado; pois, embora
sejam diferentes, têm o mesmo propósito de utilização.
O que difere é a forma de acesso aos dados que serão recebidos pelo props; porque, no componente de classe,
é preciso estender a classe component do REACTJS, acessando os valores pelo “this”.
Do outro modo, o this não faz parte do componente, pois ele acessa os valores do objeto diretamente.
Os dois componentes são muito utilizados, dependendo sempre do resultado que se quer para o sistema.
Nunca escolha um ou outro somente pela facilidade, mas pela qualidade de entrega do que ser quer no
sistema. Optar por um componente funcional sem estado ou de classe depende do que se quer acessar e como
se quer acessar e das suas dependências do sistema (REACT, 2021).
A escolha se dá pela necessidade de uso e pelo resultado que se tem na interface do usuário. Os funcionais são
mais simples e tendem a ser mais ágeis, podendo ser mais utilizados pela simplicidade apresentada. Por outro
lado, avalie se é necessária a execução de tarefas mais complexas; neste caso, a melhor opção é o componente
de classe (REACT, 2021).
VIDEOAULA: COMPONENTES
Este vídeo apresenta o que são os componentes no framework REACTJS, como eles funcionam, para que servem
e quais os melhores momentos de atuação de cada um. A escolha se dá pelo resultado que se quer do sistema
que está sendo construído.
Videoaula: Componentes
Trabalhar com o React significa poder criar partes da interface ou mesmo toda ela, flexibilizando a forma de
trabalhar com este framework, até mesmo na criação de apps (SILVA, 2021).
O React pode ser utilizado em partes e não depende de uma biblioteca (como o jQuery), mantendo todos os
benefícios de desenvolvimento de uma interface (como o JSX).
O React utiliza JavaScript em seus padrões, e o JSX permite que este framework use os códigos similares ao
HTML. Como no exemplo:
Especificar uma constante como “heading” é parte do JSX, e o React pode utilizá-la com a tag “h1”. Assim, é
compatível com o JavaScript, bem como com HTML (REACT, 2021).
Ao passar pela compilação, para que a expressão seja aceita pelos navegadores, ela ficaria assim:
2 );
Este exemplo não funcionaria somente deste jeito, mas deve ser adaptado a cada contexto de desenvolvimento,
para o devido funcionamento. Assim, deve ser adequado de acordo com a necessidade de cada código.
Um exemplo muito simples é o do HTML com o JSX. Nesse contexto, é bastante fácil usar o JSX. Ao acostumar-se
com essa forma de trabalhar, tudo se torna mais simples.
Código 3 | App1
1 import React from 'react';
2 import './App1.css';
3
4 function App() {
5 return (
6 <div className="App1">
7 <header className="App1-header">
8 <img src={tipo} className="App1-tipo" alt="tipo" />
9 <p>
10 Edit <code>src/App.js</code> and save to reload.
11 </p>
12 </header>
13 </div>
14 );
15 }
16 export default App1;
Declarar as importações possibilita a utilização desta biblioteca no projeto, como apresentado nas linhas 1 e 2
da Tabela 3. Bem como a exportação, colocada na linha 16. Dessa forma, o componente poderá ser utilizado
como biblioteca de outro sistema, sendo chamado pelo “import”.
O conceito do uso do React como uma biblioteca pode ser aplicado no “HELLO WORLD!”. O resultado seria o
mostrado no Código 4, utilizando HTML e JavaScript, com uma biblioteca REACT:
1 function App1() {
2 return (
3 <div className="App1">
4 <header className="App-header">
7 HELLO WORLD!
8 </p>
9 </header>
10 </div>
11 );
12 }
Outras bibliotecas que reagem e se integram com o JSX do JavaScript podem ser criadas, para o
desenvolvimento front-end.
Sendo assim, no REACT, os componentes importam módulos, que são exportados no final do componente. Os
componentes recebem as nomeações, chamados de PascalCase (a primeira letra de cada palavra é maiúscula,
e deve ser escrito respeitando este critério).
Dentro do React, as variáveis do JSX são colocadas entre chaves: { desta forma }. Os atributos não são os
mesmos do HTML, respeitando as regras do JavaScript. E os props, citados no início desta aula, são atributos
que invocam os componentes.
ESTUDO DE CASO
Você é desenvolvedor de sistemas web, e atua em uma grande empresa de consultoria em T.I. Seu trabalho é
utilizar HTML, CSS e JavaScript, com o Virtual Studio Code, para construir landing pages cuja interação do
usuário na navegação é somente até a primeira página.
Você está participando de um projeto de desenvolvimento de um sistema web, para que os alunos de uma
universidade possam se comunicar de forma segura em uma rede social fechada da universidade. Neste
sistema, o aluno poderá conversar com outras pessoas que fazem parte da universidade e com grupos aos
quais ele pertence.
Você deverá implementar uma solução para que o sistema funcione com os alunos — utilizando a aplicação em
um navegador web, sem restrição de uso pelo navegador escolhido —, para que eles conversem com pessoas
da sua turma e de toda a universidade. A solução inicial deve ser a construção de uma lista de tarefas, a partir
da qual o aluno pode se manter atualizado quanto às entregas que devem ser feitas.
Para criar um projeto, abra o terminal do Virtual Studio Code e use o comando:
public/index.html
src/index.js
1 <!DOCTYPE html>
2 <html lang="pt-br">
3 <head>
4 <title>Lista de compras</title>
5 <meta charset="utf-8">
6 </head>
7 <body>
8 <div id="todos-example">
9
10 </div>
11 </body>
12 </html>
Utilize o props para que seu código fique mais simples e um componente chame o outro, facilitando o
desenvolvimento do código.
Para facilitar a solução, combine pequenos componentes: uns serão chamados por outros, a fim de criar
combinações de componentes. Isso deixa o sistema mais ágil, independentemente de qual seja.
A seguir, como uma solução possível, segue um componente React combinado para criar um avatar de
identificação do usuário por meio de uma imagem na rede social, permitindo o acesso e, então, a comunicação
com outras pessoas que fazem parte do mesmo sistema.
No Código 6 é possível ver linha a linha do componente. Suas duas primeiras linhas fazem a importação das
bibliotecas, e a última linha faz a exportação do componente.
3
4 class TodoApp extends React.Component {
5 constructor(props) {
6 super(props);
9 this.handleSubmit = this.handleSubmit.bind(this);
10 }
11
12 render() {
13 return (
14 <div>
15 <h3>Tarefas</h3>
16 <TodoList items={this.state.items} />
17 <form onSubmit={this.handleSubmit}>
18 <label htmlFor="new-todo">
21 <input
22 id="new-todo"
23 onChange={this.handleChange}
24 value={this.state.text}
25 />
26 <button>
27 Adicionar #{this.state.items.length + 1}
28 </button>
29 </form>
30 </div>
31 );
32 }
33
34 handleChange(e) {
37
38 handleSubmit(e) {
39 e.preventDefault();
40 if (this.state.text.length === 0) {
41 return;
42 }
43 const newItem = {
44 text: this.state.text,
45 id: Date.now()
46 };
47 this.setState(state => ({
48 items: state.items.concat(newItem),
49 text: ''
50 }));
51 }
52 }
53
54 class TodoList extends React.Component {
55 render() {
56 return (
57 <ul>
58 {this.props.items.map(item => (
59 <li key={item.id}>{item.text}</li>
60 ))}
61 </ul>
62 );
63 }
64 }
65
66 ReactDOM.render(
67 <TodoApp />,
68 document.getElementById('todos-example')
69 );
Fonte: REACT, 2021. Disponível em: React – Uma biblioteca JavaScript para criar interfaces de usuário (reactjs.org).
Este componente permite que os alunos possam acompanhar uma lista atualizada das atividades pendentes na
universidade.
npm start
Logicamente utilize este exemplo fazendo as adaptações necessárias, para que as necessidades de seu projeto
sejam atendidas. O importante a se lembrar é que o React utiliza sempre o HTML e o JavaScript como base para
a sua biblioteca.
Bons estudos!
Saiba mais
Como leitura complementar, visando a entendimento do React Native para desenvolvimento mobile, é
recomendado ler o capítulo “Introdução ao desenvolvimento para dispositivos móveis”, do livro
Desenvolvimento para dispositivos móveis - Volume 2, que está em nossa Biblioteca Virtual.
REACTJS
É recomendado o acesso ao site React – Uma biblioteca JavaScript para criar interfaces de usuário
(reactjs.org), a fim de conhecer algumas bibliotecas, exemplos, cases e como criar suas bibliotecas no Git.
Aproveite para entender como este framework funciona!
REFERÊNCIAS
3 minutos
Aula 1
IEEE XPLORE. Terminology. 2022. Disponível em: https://bit.ly/3K1b5fv. Acesso em: 3 jan. 2022.
FLANAGAN, David. JavaScript: The Definite Guide: Activate Your Web Pages. 6th edition. Sebastopool: O’Reily
Media, 2011.
MINETTO, E. L. Frameworks para desenvolvimento em PHP. São Paulo: Novatec, [s. d.]. Disponível em:
https://bit.ly/3tj0RRS. Acesso em: 3 jan. 2022.
ROBERTS, D.; JOHNSON, R. Envolving frameworks: a pattern language for developing object-oriented
frameworks. [s. d.]. Disponível em: https://bit.ly/3FmDh8R. Acesso em: 3 jan. 2022.
SILVA. E. 10 frameworks e bibliotecas JavaScript mais importantes do mercado. 2020. Disponível em:
https://bit.ly/3GiwnmB. Acesso em: 3 jan. 2022.
UZAYR, S. bin. et al. JavaScript frameworks for modern web development: the essential frameworks,
libraries, and tools to learn right now. 2. ed. [S. l.]: Apress, 2019.
W3SCHOOLS. AngularJS introduction. 2022a. Disponível em: https://bit.ly/3nfwU10. Acesso em: 3 jan. 2021.
W3SCHOOLS. What is Vue.js? 2022b. Disponível em: https://bit.ly/3r7A4Fp. Acesso em: 3 jan. 2021.
Aula 2
ANGULAR. Create a new project. 2021a. Disponível em: https://bit.ly/3FhOcRi. Acesso em: 4 jan. 2022.
ANGULAR. Getting started with angular. 2021b. Disponível em: https://bit.ly/34IRoZN. Acesso em: 4 jan. 2022.
ANGULAR. Ng generate. 2021c. Disponível em: https://bit.ly/3K1hB5M. Acesso em: 4 jan. 2022.
ANGULAR. What is angularJS? 2020. Disponível em: https://bit.ly/3njDYts. Acesso em: 4 jan. 2022.
ANGULAR. Workspace npm dependencies. 2021d. Disponível em: https://bit.ly/3K0exae. Acesso em: 4 jan.
2022.
KAUFMAN, N.; TEMPLIER, T. Angular 2 components. 1. ed. Birmingham: Packt Publishing, 2016.
KOZLOWISKI, P.; DARWIN, P. Web mastering web application development with angularJS. Birmingham:
Packt Publishing, 2013.
NODE. Download for Windows (x64). [s. d.]. Disponível em: https://bit.ly/3zQc3Xq. Acesso em: 4 jan. 2022.
NPM. Angular CLI. 2021. Disponível em: https://bit.ly/3zMZcVR. Acesso em: 4 jan. 2022.
STEWART, R. AngularJS: a comprehensive beginner’s guide. 2. ed. Missouri: NLN LLCC, 2021.
Aula 3
Vue.js - O Framework JavaScript Progressivo. 2021. Disponível em Vue.js (vuejs.org). Acesso em: 28 out. 2021.
VILARINHO, Leonardo, Front-end com Vue.js: Da teoria à prática sem complicações. Casa do Código 2021.
Aula 4
ReactJS. React – Uma biblioteca JavaScript para criar interfaces de usuário. Disponível em: reactjs.org.
Acesso em: 29 dec. 2021.
SILVA, Maurício Samy. React - Aprenda Praticando: Desenvolva Aplicações web Reais com uso da Biblioteca
React e de Seus Módulos Auxiliares. Novatec, 2021.