0% acharam este documento útil (0 voto)
0 visualizações67 páginas

FrontWeb - 01 - Introdução - Revisão - HTML, Css

O documento aborda o desenvolvimento web front-end, incluindo conceitos de aplicações web, SPA e PWA, além de revisões sobre HTML, CSS e JavaScript. Ele discute ferramentas como VSCode e plugins, e explora técnicas de layout como Flexbox e Grid. O conteúdo também abrange a diferença entre websites e SPAs, além de conceitos de AJAX e o modelo de caixa CSS.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
0 visualizações67 páginas

FrontWeb - 01 - Introdução - Revisão - HTML, Css

O documento aborda o desenvolvimento web front-end, incluindo conceitos de aplicações web, SPA e PWA, além de revisões sobre HTML, CSS e JavaScript. Ele discute ferramentas como VSCode e plugins, e explora técnicas de layout como Flexbox e Grid. O conteúdo também abrange a diferença entre websites e SPAs, além de conceitos de AJAX e o modelo de caixa CSS.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Desenvolvimento Web Front End

Introdução, Revisão
Daves Martins
[email protected]
---------------------------------------------------
Professor Uniacademia e Vianna jr
Analista de Sistema - UFJF
Professor Efetivo IFET – JF – 20 horas
----------------------------------------------------
Mestre em Computação de Alto Desempenho - UFRJ
Doutorando em Engenharia Elétrica - UFJF

• Texto
Planejamento
 Revisão

 Aplicação Web, SPA, PWA

 Revisão Css

 Responsividade – FlexBox, GridLayout

 SPA - React
Ferramentas
 VsCode
 Plugins
 Live Server
 Emmet

 Prettier - Code formatter


 Live Share
 IntelliSense for CSS class name in HTML

 Conta no github e netfly


Revisão
Servidor web, HTTP
http://frontend.sytes.net

Request Servidor Web

Internet

Response
HTML, CSS, JS
HTML, CSS, JS
HTML, CSS, JS
HTML, CSS, JS
Aplicação Web,
SPA, PWA
Aplicação web, websites
 Aplicações Web comuns realizam um fluxo de atividades de
visualização e requisição HTTP, com algumas interações
dinâmicas via JavaScript.
 Essas aplicações são baseadas em ações síncronas, sem
preocupação com performance ou experiência do usuário.
 A arquitetura de Aplicações Web comuns costuma ser
bastante simples:
Aplicação web, websites
 HTML: marcação de elementos
 CSS: estilização de elementos – layout, fontes, cores…
 JavaScript (Front-End): linguagem padrão para interações no
navegador
 Linguagem Back-End: código escrito em uma linguagem como
Python, PHP, Java, JavaScript….
 Navegador cliente: realiza requisições HTTP ao servidor Web
 Servidor de Banco de Dados: armazena toda a informação do
sistema
 Servidor Web: para processar uma resposta do banco de
dados e devolver uma resposta ao navegador
Aplicação web, websites
http://frontend.sytes.net
login: xxxxxxx
senha: xxxxx
Request Servidor Web

Internet

Response
Aplicação web, websites
http://frontend.sytes.net
login: xxxxxxx
senha: xxxxx
Request Servidor Web

Internet

Response

Java, C#,
NodeJs,
Python, Php,
etc...
SPA – Aplicações de Página Única
 Aplicações SPA são compiladas para trabalhar
requisições/respostas assíncronas, criando-se distribuições
de software com interfaces super-leves baseadas em
componentes, com mecanismos para cache massivo no
navegador cliente.
 A parte de lógica e dados é delegada a uma API segura, que
nada mais é que um outro sistema separado, com a função
exclusiva fornecer dados e responder às requisições da SPA.
 Essa mesma API criada irá servir dados a outros APPs do
negócio, uma vez que já foram criadas rotas
fornecimento/consumo de informações do banco de dados.
SPA – Aplicações de Página Única

Que horas começa a aula?


WebSites x SPA

Request

Servidor Web

Response
WebSites x SPA

Request
Login: zezin
Senha: 123
Servidor Web

Response
A página de retorno
pode ser estática ou
dinâmica, gerado por
um backend
WebSites x SPA

Request

Servidor Web

Response
WebSites x SPA

Request Ajax
Login: zezin
Senha: 123
Servidor Web

Response Ajax

Backend gera um
json de resposta
PWA – Aplicações de Página Única
 Um PWA é uma aplicação híbrida entre web e
mobile. Imagine que ao acessar um site que você
goste muito pelo smartphone você receba um aviso
para adicionar o site à sua homepage de
aplicativos.
 Com o app instalado agora em seu celular, você
pode ter a mesma experiência que tinha pelo
browser agora sem nenhuma informação em tela
além da aplicação, ou seja, toda interface do
navegador como barra de endereço, botões,
favoritos, etc, são removidos.

https://blog.rocketseat.com.br/pwa-o-que-e-quando-utilizar/
Diferença entre website e spa

Request x Ajax
Navegação sem AJAX
AJAX

 Termo surgiu em 2005


 AJAX (Asynchronous JavaScript and XML) não é uma nova
tecnologia, mas sim uma combinação de tecnologias padrão
 Tem como objetivo principal enriquecer a interação de
aplicações web
 Combina as seguintes tecnologias:
 HTML/XHTML e CSS
 DOM
 XML e XSLT
 JavaScript
 XMLHttpRequest
Navegação com AJAX
AJAX
Exemplo Requisição
com e sem Ajax
Requisição sem AJAX

https://davesmartins.github.io/code/requisicoes/semAjax/index.html
Requisição sem AJAX
Requisição com AJAX

https://davesmartins.github.io/code/requisicoes/comAjax/index.html
Requisição com AJAX
Revisão Css
Box Model
De forma simples e objetiva, baseado em um conceito chamado
“box model”, a grande maioria dos elementos HTML que
temos no nosso site são como caixas. Elas são containers
que armazenam conteúdos ou até mesmo outras caixas.

O modelo de caixa CSS é essencialmente uma caixa que envolve


todos os elementos HTML. Consiste em: margens, bordas,
preenchimento e o conteúdo real. A imagem abaixo ilustra o modelo
da caixa:
Box Model
Sentido da ordem: top, right, botton, left
Box Model
Box Model
Exemplo
Box Model
Exemplo

320px (width)
+ 20px (left + right padding)
+ 10px (left + right border)
+ 0px (left + right margin)
= 350px
CSS - Box Sizing
A box-sizing propriedade CSS nos permite incluir o preenchimento e a borda
na largura e altura total de um elemento.
Sem a propriedade CSS box-sizing

Por padrão, a largura e a altura de um elemento são calculadas assim:

largura + preenchimento + borda = largura real de um elemento


altura + preenchimento + borda = altura real de um elemento
DIV – Block Level
Uma seção <div>, é um box que pode ser personalizado com
CSS:
DIV – Block Level
Tipos de Box
Dependendo do comportamento da box, podemos classificar um
elemento em uma de duas categorias: block-level e inline-level
Span – inline level
Propriedade display
 A propriedade display (na MDN)
 Define o tipo de visualização de um elemento e também seu
comportamento no fluxo da página

 Os valores mais “tradicionais”


 block, para definir um elemento com comportamento block
 inline, similarmente, para inline
 inline-block, similar a block, porém sem quebra de linha
 none, sem renderização
 flex, flexlayout
 grid, gridlayout

https://davesmartins.github.io/code/display/index.html
Propriedade display
https://davesmartins.github.io/code/display/index.html
Propriedade display
https://davesmartins.github.io/code/display/index.html

50 px
Propriedade display
https://davesmartins.github.io/code/display/index.html

automático
Propriedade display
https://davesmartins.github.io/code/display/index.html

50 px
Propriedade display
https://davesmartins.github.io/code/display/index.html

50 px
Compondo Layout com css
Grids vs Flexbox vs Floats vs Position
Cada técnica tem seus usos, vantagens e desvantagens, e nenhuma
técnica é projetada para ser usada isoladamente.

Grids vs Flexbox – Técnicas modernas de montar layout

Floats vs Position – Técnicas legadas de montar layout


Propriedade position
Posição e Flutuação são métodos relativamente antigos em CSS para
personalizar o layout das páginas, às vezes chamados de Métodos de
Layout Legados ;

Flexbox e Grids são muito novos, às vezes chamados de Métodos de


Layout Modernos .
Propriedade position
A propriedade de posicionamento é basicamente usada para alterar a
posição natural do fuxo do layout do elemento na página e personalizá-
lo de acordo com nossas necessidades. Ele pode ser usado para fxar um
elemento em algum lugar da página, fornecer uma posição relativa ou
absoluta ou nenhuma posição especial. Existem vários tipos diferentes
de posicionamento que você pode aplicar em elementos HTML. Vamos
fazer um breve resumo sobre eles:

a propriedade position defne a posição de um elemento na página HTML


. Por padrão, seu valor é sempre defnido como static, ou seja,
acompanha o fuxo normal do posicionamento na página. Portanto, se
nada for especifcado, ele será posicionado conforme a ordem natural
dos elementos usados na página.
Propriedade position
https://davesmartins.github.io/code/position/

Valor Padrão,
obedecendo ao display
definido
Propriedade position
https://davesmartins.github.io/code/position/

Observe que o local onde


deveria estar fica
preservado.
Propriedade position
https://davesmartins.github.io/code/position/

Observe que o local onde


a div deveria estar não
fica reservador. A div
fica posicianada na
página.
Propriedade position
https://davesmartins.github.io/code/position/

Observe que o local onde a div


deveria estar não fica reservador.
Mas a div fica dentro de um
elemento Relative.
Propriedade position
https://davesmartins.github.io/code/position/

Para mostrar o sticky devemos ter


rolagem, forçei o bloco 3 a descer
para ter a rolagem, vejam que o bloco
1 sumiu e o 2 quase sumiu
Propriedade position
https://davesmartins.github.io/code/position/

Observem o comportamento do bloco


2, ele não some, fica fixo quando
atinge o limite de 25px
Propriedade float
O objetivo da foat propriedade CSS é, em geral, empurrar um elemento
de nível de bloco para a esquerda ou direita, retirando-o do fuxo em
relação a outros elementos de bloco.

Isso permite que o conteúdo de fuxo natural envolva o elemento


futuante. Geralmente, um elemento futuante deve ter uma largura
defnida explicitamente (a menos que seja um elemento substituído ,
como uma imagem).

Isso garante que o foat se comporte conforme o esperado e ajuda a


evitar problemas em determinados navegadores.

Para conseguir um layout de design para navegadores que não


entendem fexbox ou grade, usamos foat.
https://css-tricks.com/all-about-floats/
https://desenvolvimentoparaweb.com/css/css-float-consideracoes-dicas-
e-macetes-para-bons-layouts-na-web/
Propriedade float
atualmente o uso de CSS foat é mais restrito a situações específcas.
Embora não tenha desaparecido completamente, Flexbox e CSS Grid são
atualmente as soluções de facto para layouts na Web.
Propriedade float
https://davesmartins.github.io/code/float/

Sem uso do float, comportamento


padrão do display
Propriedade float
https://davesmartins.github.io/code/float/

Observe que o bloco 2 não ocupa a


linha e é ignorado pelo bloco 3
Propriedade float
https://davesmartins.github.io/code/float/
Propriedade float
https://davesmartins.github.io/code/float/

Sem o paragrafo, os blocos são


ignorados pelo bloco 4
Propriedade float
https://davesmartins.github.io/code/float/

Para que possam ser enxergados,


devemos finalizar o float com a
propriedade clear: both
Seletores em CSS
https://davesmartins.github.io/code/seletoresCss/

Você também pode gostar