Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 1/28 FERRAMENTAS DE DESENVOLVIMENTO WEB AULA 2 Prof. Yanko Costa 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 2/28 CONVERSA INICIAL Nesta aula, vamos apresentar uma tecnologia complementar ao HTML. O CSS já foi brevemente citado em nossos estudos para informar que a formatação visual do HTML seria desenvolvida utilizando essa tecnologia. Durante esta aula, aprofundaremos o conceito do CSS e serão utilizados exemplos em conjunto com o HTML para apresentar a utilização prática dessas duas tecnologias na interface de um sistema. Também serão verificadas algumas formas de adaptação dessas tecnologias conforme o tipo de dispositivo que será utilizado para executar o sistema (ou aplicação web). Por último, será apresentado um framework que auxiliará na produtividade da montagem de interfaces atrativas e flexíveis que poderão ser utilizadas em diferentes dispositivos. TEMA 1 – CASCADING STYLE SHEETS (CSS) Com o propósito de melhorar a estética dos documentos HTML, que estavam se tornando mais robustos em atributos visuais, e tornar os sistemas web mais atrativos e operacionalmente mais confortáveis, em 1996 foi implementado o conjunto de tecnologias web CSS (Cascading Style Sheets, ou folha de estilo em cascata), que seria o responsável por separar a estrutura do documento HTML da parte estética (CSS, 2020). Antes do CSS, e com base no HTML 3.2, foram acrescentadas algumas opções de formatação usando atributos de alguns elementos HTML e tags específicas para formatação visual. Por exemplo, no HTML 3.2, um atributo bgcolor na tag <body> possibilitava alterar a cor de fundo da página e a tag <center> centralizava um texto na tela. Com a implantação dessas folhas de estilos no HTML 4, o CSS ficaria responsável por aplicar cores, definir fontes de letras, garantir o posicionamento dos objetos em tela e implementar adereços aos componentes HTML, trazendo a oportunidade de criar documentos mais ricos no aspecto visual e mais práticos na formatação de um conjunto muito grande de documentos dinâmicos. 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 3/28 Com base nessa versão do HTML pôde-se realizar uma maior separação da estrutura do documento da sua formatação visual, e, com a possibilidade de manter a configuração visual em arquivo separada, a manutenção e a alteração visual de um documento poderiam ser realizadas sem interferência na informação e sua classificação, bastando para isso alterar apenas o arquivo do CSS. 1.1 SINTAXE BÁSICA Para aplicar a formatação ao documento HTML é necessário especificar qual elemento terá seu estilo alterado. Para isso, a primeira parte do CSS é a indicação do seletor, que poderá ser o nome de uma tag HTML existente, ou um nome novo que será utilizado posteriormente em um ou mais elementos HTML. O Quadro 1 expõe a sintaxe básica da descrição de um seletor, podendo os itens serem digitados na mesma linha (a) ou em linhas diferentes para facilitar a leitura (b). Em (c) é apresentado um exemplo real de alteração de estilo de uma tag <h1>, que terá o texto alterado para a cor azul (blue), conforme mostra o exemplo de HTML (a) e o resultado (b) no quadro Erro! Fonte de referência não encontrada.. Quadro 1 – Seletor no CSS No Quadro 2 (a) é exibido o documento HTML completo, trazendo a tag <style>, que permite inserir um elemento CSS que será usado em todos os elementos <h1> que estiverem inseridos no documento. Os demais elementos não são afetados: o funcionamento do seletor é semelhante a um filtro de pesquisa que procura em todo o documento pelo seletor indicado e aplica a troca da cor do texto para azul em cada H1 que é encontrado. Quadro 2 – HTML completo de aplicação do CSS em H1 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 4/28 Com o CSS todas as características do elemento podem ser alteradas, mesmo que, com essa mudança, o elemento perca os atributos que ele normalmente possui e que diferencia ele dos demais. Veja o exemplo no quadro 3 –. Nesse exemplo, em (a) temos a aparência padrão dos elementos <p> e <h1>. Depois, em (b), temos o CSS que será aplicado. Em (c) temos o resultado com os elementos alterados. Não existe mais diferença visual entre a tag <h1> e <p>, pois as duas estão com o mesmo tamanho (16 pixels) e a tag <h1> está sem o negrito (font-weight: normal). Quadro 3 – Eliminando as diferenças entre as tags <p> e <h1> Existem diversas propriedades que podem ser aplicadas em textos, tabelas, parágrafos, formulários e imagens. As mesmas características que podem ser aplicadas na formatação de publicações impressas, usando um bom editor de texto, podem ser replicadas num documento HTML, tornando a interface de um sistema com algo grau de sofisticação. Com o CSS podemos configurar bordas duplas laterais, sombras, cores, espaçamento entre letras, entre palavras, entre parágrafos ou blocos de elementos e, inclusive, animação de elementos HTML. 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 5/28 Numa situação extrema, um alerta de um sistema pode ser apresentado no formato de uma caixa com fundo vermelho, flutuando em cima do restante da tela com a mensagem percorrendo o interior da caixa, movendo-se da esquerda para a direita, trocando o texto de cor a cada ciclo de movimento. Esse alerta poderá ficar na frente da tela do sistema, enquanto o operador não clicar em alguma parte da tela com o mouse. Nesta aula, serão vistas algumas propriedades para exemplificar o seu uso. Nas práticas, outras propriedades serão utilizadas, mas nem todas as propriedades existentes do CSS serão comentadas, pois são muitas e com diferentes variações de valores na aplicação. Recomenda-se como uma das fontes de consulta sobre as propriedades existentes do CSS a lista de referência da Fundação Mozilla desenvolvedora do navegador Firefox (Mozilla, 2020). Uma sugestão para aprofundar o entendimento e uso das propriedades é pesquisar os elementos utilizados na formatação das telas que serão vistas nas aulas sobre JavaScript e Angular, assim como nas aulas práticas, para identificar outras variações de valores e novas formas de aplicação. Assim o leitor vai experimentando formas alternativas de utilização das propriedades do CSS e aumentando seu repertório. No Quadro 4 foi criada uma lista com um conjunto básico de propriedades e uma descrição simplificada para iniciar o entendimento dos exemplos didáticos na sequência. Quadro 4 – Exemplos de propriedades gerais do CSS 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 6/28 Para alterar algumas das propriedades, pode-se utilizar como seletor um elemento HTML já existente ou pode-se criar um termo específico. Esse termo deve estar associado posteriormente a um elemento HTML dentro do documento, usando os atributos “id=” ou “class=”, como será visualizado nos próximos exemplos. No Quadro 5, temos um exemplo de várias das propriedades listadas no quadro anterior (Quadro 4) sendo aplicadas no mesmo seletor. Quadro 5 – Aplicação de diferentes propriedades em um seletor A mesma sequência de propriedades apresentadas no Quadro 5 pode ser aplicadaem uma tag <h1> ou num bloco com <div>. Para que a formatação possa ser aplicada de uma maneira mais 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 7/28 flexível, podemos colocar um termo no lugar do seletor p do Quadro 5 e utilizar um atributo no elemento que precisarmos formatar. Veja o novo exemplo no Quadro 6. Quadro 6 – Seletor CSS utilizado no atributo class= No exemplo do Quadro 6 temos alguns pontos a considerar: a. o seletor agora não é o nome de uma tag HTML, mas sim um termo “.quadroAula” que poderá ser aplicado a vários tipos diferentes de tags; b. o termo usado como seletor tem um “.” no início, indicando que poderá ser aplicado com um atributo “class=’quadroAula’”; c. somente o elemento <p> com o atributo class foi formatado, o outro elemento <p> não; d. o elemento <h1> foi formatado, mas manteve o negrito original, pois nas propriedades aplicadas não havia nenhuma que alterava o estilo da fonte. Em alguns casos, será preciso aplicar um grupo de propriedades CSS em um grupo de elementos, de maneira que todos sejam envolvidos pela formatação. Esse é o caso de utilizar a tag de bloco <div> com o atributo de formatação desejado, como pode ser visto no Quadro 7. Quadro 7 – Aplicação de CSS em bloco de elementos 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 8/28 No Quadro 7, todos os elementos que estão dentro do bloco formado pelo início e fechamento da tag <div> receberão a formatação aplicada pelo seletor “quadroAula” em forma de herança. Na construção de interfaces de sistemas o uso de um agrupador como o <div> torna mais flexível a aplicação de alguns tipos de formatação em partes da tela sem a preocupação em identificar o tipo de tag que será utilizado para apresentar cada informação. 1.2 CASCATA Até este ponto da aula, utilizamos a tag <style> na área <head> para configurar os seletores e suas propriedades, que depois seriam aplicadas aos elementos do documento. Mas existem duas outras formas de incluir e alterar propriedades no documento: importando um arquivo CSS externo, ou aplicando um atributo CSS diretamente no elemento HTML. E todas as formas podem ser utilizadas no mesmo documento, o que nos leva a verificar como o navegador vai tratar os conflitos na aplicação das propriedades. Essa característica faz parte do nome do CSS (cascade ou cascata) e se refere a possibilidade de organizar a ordem de aplicação da formatação (CSS1, 1996). Na Figura 1, temos um diagrama que mostra uma sequência genérica de aplicação de formatação CSS num documento, em que as três formas são utilizadas. Figura 1 – Aplicação do CSS em documentos 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 9/28 Um exemplo de um conflito está exposto no Quadro 8. Nesse exemplo, o mesmo seletor e a mesma propriedade, mas com valores distintos, estão aplicados em um arquivo externo (cascata.css), no elemento <style> e no atributo style. Quadro 8 – Conflito de aplicação de CSS No exemplo do Quadro 8, temos o carregamento do arquivo CSS externo “cascata.css”, que contém a propriedade de cor de fundo azul para todos os elementos <p>. Na sequência, o navegador identifica o tag <style>, que contém a propriedade de cor de fundo amarelo para todos os elementos <p>. Por final, o navegador encontra em um dos elementos <p> um atributo que contém a propriedade de cor de fundo cinza para aquele elemento. Qual dessas propriedades terá prioridade e vencerá a disputa? Seguindo a Figura 1, a aplicação das propriedades vai se dando por 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 10/28 sobreposição, sendo que a mais próxima do elemento será a vencedora. No caso do primeiro elemento <p> do documento, a propriedade do arquivo externo é sobreposta pela propriedade do elemento <style> e o fundo fica amarelo. No segundo elemento <p> a propriedade do elemento <style> também é sobreposta pelo atributo local e o fundo fica cinza. Apesar de facilitar o entendimento e ajudar nas primeiras montagens de formatação CSS, esta é uma forma didática de visualizar o cascateamento de propriedades CSS. À medida que o leitor vai se aprofundando no tema, vão surgir outras considerações, e a especificação CSS estabelece um algoritmo que impõe uma pontuação para cada situação até concluir qual propriedade vai ser aplicada no final. Entra nesse cálculo a formatação incluída pelo autor do documento, se a propriedade é em seletor HTML ou em uma classe ou ID, se existe alguma hierarquia entre propriedades ou herança entre elementos aninhados. Nas aulas práticas, quando alguma destas condições for aplicada em um caso, ela será explicitada. É importante destacar que, apesar de o arquivo externo ter sido sobreposto pelas demais formas de inclusão de CSS, esta é uma das formas mais flexíveis e práticas de aplicar a formatação CSS em sistemas, podendo inclusive o sistema ter sua aparência totalmente remodelada sem alterar uma linha de código, simplesmente alterando o arquivo CSS externo. 1.4 CORES As cores têm um propósito importante na apresentação de informações na tela, sendo uma das formas que o ser humano percebe mais rapidamente e representa o maior percentual de captação de informação quando em comparação com outros sentidos (Kulpa; Pinheiro; Silva, 2011), como podemos ver pela Figura 2. Figura 2 – Percentual de captação de informação pelos sentidos 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 11/28 Fonte: Kulpa; Pinheiro; Silva, 2011. O CSS permite configurar a cor de um elemento de diferentes formas e com base em diferentes padrões (W3, 2020). As cores podem ser informadas usando nomes padronizados em inglês (ex. Black, Purple, Aqua), mas pode também ser uma combinação de números decimais ou hexadecimais representando a combinação RGB (Red, Green e Blue, ou vermelho, verde e azul). A partir do CSS3, foi incluído o esquema HSL (Hue, Saturation e Lightness ou matiz, saturação e brilho) e com o CSS4, temos também o HWB (Hue, whiteness e blackness ou matiz, branqueamento e escurecimento). Em exemplos passados, foram utilizados os nomes padronizados das cores em inglês na propriedade color e background-color para indicar a cor do texto e do fundo da tela, respectivamente. No Quadro 9, temos um exemplo com a utilização de combinação de vermelho, verde e azul do RGB. Quadro 9 – Formatação de cor usando RGB 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 12/28 No resultado do Quadro 9 (b), as linhas de teste 1 e 2 têm a mesma tonalidade de cor, com base no valor máximo de vermelho e azul, resultando em um tom de rosa (usando o termo em inglês, essa combinação é representada pelo nome Fuchsia). Na linha de teste 1, a informação de vermelho e azul é aplicada em hexadecimal sendo FF (255) o valor máximo de cada cor. Na linha de teste 2, a combinação de cores é criada com base na função “rgb()” com o valor em decimal, sendo o máximo 255. Na linha de teste 3, os mesmos valores máximos de vermelho e azul, mas com o adicional de canal de transparência em 50% (0.5) com o uso da função “rgba()”, resultando numa tonalidade mais fraca de rosa. Quadro 10 – Comparação entre RGB, HSL e termo em inglês Uma comparação entre o padrão RGB, HSL e o termo Fuchsia pode ser vistono Quadro 10. Nessa comparação foi identificado visualmente o tom de cor no padrão HSL que fosse semelhante ao padrão RGB usado no exemplo anterior. Também foi pesquisado o termo padronizado em inglês semelhante aos dois padrões (RGB e HSL). O resultado, no quadro 10 – (b), mostra que as tonalidades 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 13/28 de cores podem ser representadas e usadas na construção da interface do sistema independente do padrão utilizado. 1.5 TABLELESS O uso do CSS permite uma outra forma de posicionar as informações na tela sem a utilização de tabelas, ainda que o modelo visual utilizado seja em linhas e colunas. Isso pode ser feito devido a algumas propriedades que podem alterar o fluxo que as informações podem ser dispostas na tela. Quadro 11 – Configuração de colunas com CSS No Quadro 11 (a), no seletor col foi feita uma divisão da largura da tela de forma proporcional (25%) indicando que um total de 4 espaços poderiam ser utilizados. Para distribuir os elementos na tela e eles ficassem lado a lado, foi configurado a propriedade float indicando a ordem inicial pela esquerda left. Assim os parágrafos com a classe col foram sendo apresentados iniciando com o texto 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 14/28 “Coluna de teste n.1” na lateral esquerda e os demais sendo posicionados no lado esquerdo deste primeiro texto. Para facilitar a visualização, foi formatada uma borda simples vermelha. Mas, ao indicar que a largura do elemento seria 25%, qualquer pixel a mais sendo posicionado na tela junto aos 4 parágrafos teria ultrapassado a largura total, que é o caso da borda de 1 pixel (duas laterais com um pixel de borda vezes os 4 parágrafos teríamos 8 pixels a mais). Para que todos esses espaçamentos fossem utilizados pelo navegador, também no cálculo da largura (25%) foi atribuída a propriedade de “box-sizing: border-box;”. Dessa forma, não houve necessidade de calcular os pixels utilizados na borda ou no espaçamento do texto na largura total das colunas. No exemplo do Quadro 11 também é apresentada a propriedade float com o valor right, indicando que a disposição dos elementos iniciaria pela lateral direita. Isso pode ser comprovado pela ordem que foram inseridos os elementos de parágrafo que estavam com a classe “col2”. Ficaram ao contrário dos elementos da classe col acima. Essa forma de posicionar os elementos e criar a visão de colunas e linhas através do CSS é mais flexível e é processada pelos navegadores de forma mais rápida. Conforme a versão do CSS disponível no navegador, outras formas de posicionamento são liberadas para facilitar a diagramação da interface. TEMA 2 – RESPONSIVE WEB DESIGN (RWD) Com a proliferação de diferentes tipos de dispositivos conectados a uma rede e com navegadores de internet pré-instalados, as telas de páginas e sistemas web puderam ser acessadas em vários equipamentos: smartphones, TVs, notebooks, tablets, computadores ou displays embutidos em aparelhos. Mas ao disponibilizar um navegador em um aparelho com uma tela pequena, as páginas acessadas nem sempre ficavam no formato idealizado pelo autor da página e muitas vezes as informações ficavam deslocadas e confusas, sem o visual atrativo que tinha sido cuidadosamente elaborado. O conceito de projeto web responsivo está associado ao desenvolvimento de interfaces web que sejam adaptáveis a diferentes tamanhos de telas, e o termo RWD – Responsive Web Design tendo sido criado em 2010 por Ethan Marcotte (MDN Web Docs Mozilla, 2021). 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 15/28 Segundo Almeida e Monteiro (2017), a criação de uma interface responsiva deve incluir: a. a possibilidade de os itens distribuídos na tela se adaptarem à resolução do dispositivo; b. as imagens disponibilizadas na página devem poder ser redimensionadas conforme o tamanho da tela; c. Adaptar o tamanho de botões e links para que possam ser utilizados em telas sensíveis ao toque, quando não houver teclado nem mouse disponíveis; d. usar sensores adicionais disponíveis nos dispositivos móveis para auxiliar na orientação dos conteúdos. Algumas técnicas para adaptação de elementos na tela envolvem a utilização de unidades de largura e altura em percentuais – que já existiam em versões antigas do HTML – e outras ferramentas que vieram com as novas versões do CSS. Um exemplo é inserir uma imagem ou uma tabela com uma largura de 100%, o que faria com que estes dois itens se adaptassem ao tamanho da tela. Uma propriedade incluída no CSS permite também a montagem de layout em grade (grid), que é semelhante ao uso de tabelas, mas que foi desenvolvido com a expectativa de ser responsivo. Assim, o desenvolvedor de interfaces pode usar esse método como alternativa ao uso de tabelas e floats, como mostrado no Quadro 12. Quadro 12 – Colunas com o uso de grid 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 16/28 No exemplo do Quadro 12, temos a aplicação do “display: grid;” no seletor grade-completa. A quantidade de colunas foi configurada para quatro com a largura calculada automaticamente (“auto auto auto auto”). Na primeira parte do exemplo, os parágrafos são disponibilizados um ao lado do outro, formando as quatro colunas, bastando, para isso, estarem incluídos dentro da <div>, que tem a classe grade-completa. A borda vermelha que envolve todas as colunas faz parte da grade-completa e não permite diferenciar as colunas. Para perceber os limites das colunas, foi aplicado na segunda parte do exemplo, em cada parágrafo, uma classe col-grade, que possui entre as propriedades a formatação de uma borda verde. Mesmo com a possibilidade de utilizar unidades em percentual e cálculos de larguras automatizados, em alguns casos o desenvolvedor ainda vai precisar identificar em qual dispositivo o sistema web está sendo visualizado e fazer algumas adaptações específicas. Nesses casos, havia a possibilidade de se utilizar códigos em Javascript para retornar a resolução da tela. Com base no CSS 3, foi introduzida uma possibilidade de tratar a resolução do aparelho diretamente no CSS e, com 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 17/28 isso, criar combinações alternativas de layout responsivo e posicionamentos na tela, podendo criar conjuntos de propriedades específicas para um tipo de resolução (W3C, 2020). Esse mecanismo foi o Media Queries. 2.1 MEDIA QUERIES Conforme o tipo do dispositivo ou conforme a resolução da área do navegador onde o HTML será apresentado, uma quantidade de colunas pode deixar o conteúdo muito pequeno, ou algumas imagens não podem ser dispostas uma ao lado da outra sem que seja habilitado o scroll horizontal do navegador. Saiba mais Scroll é uma pequena barra (horizontal ou vertical) que permite ao operador deslizar lateralmente ou horizontalmente para conseguir ver a informação que passa a área útil do navegador. Com a criação das media queries, o CSS pode ser configurado dinamicamente conforme a resolução do aparelho em uso. Pode também identificar se o conteúdo vai ser exibido na tela (screen), impresso (print) ou lido por um mecanismo de voz (speech) (MDN Web Docs Mozilla, 2019). Usando a técnica de construção de colunas com o uso de float, o Quadro 13 mostra a condição a ser aplicada conforme a resolução da janela do navegador.Quadro 13 – Condição de aplicação do float, conforme resolução 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 18/28 No exemplo do Quadro 13, temos duas configurações para o mesmo seletor col. Na primeira configuração, a largura está configurada para 25%. A segunda configuração está subordinada ao media querie, em que temos uma condição para que seja aplicada: deve ser uma tela (screen), e a janela deve ter no máximo 600 pixels. Acima de 600 pixels a formatação volta a ser a primeira (padrão). O resultado das duas situações está indicado no Quadro 14. Quadro 14 – Resultado das colunas conforme dimensionamento da janela do navegador 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 19/28 No primeiro resultado (a) do Quadro 14, a janela do navegador está dimensionada para um pouco acima de 600 pixels. Ao diminuir um pouco a janela e a resolução útil ficar abaixo (basta um pixel a menos), a configuração aplicada é a interna da media querie. Nesse caso, em dispositivos menores como o smartphone, apenas duas colunas (50%) serão apresentadas no navegador. Se for necessário, outras configurações podem ser condicionadas a resolução, assim como outras resoluções podem ser incluídas, podendo a interface do sistema web apresentar elementos dispostos de maneira diferente em smartphones, computadores, tablets ou TVs. TEMA 3 – EXTENSÃO CSS Um arquivo CSS de um sistema pode ficar extenso e com muitas situações criadas especificamente para o projeto em questão, e outras que podem ser usadas em outros projetos. Mas, ao criar valores específicos para a largura de um objeto ou tamanho de fonte, por exemplo, algumas condições podem mudar (tamanho de tela) ou mesmo em diferentes partes do sistema podem não ser adequadas. Nesses casos, seria interessante criar alguma forma de generalizar o trecho de CSS com algumas variáveis ou até condições. Alguns desenvolvedores criaram mecanismos de estender o uso do CSS para aumentar a produtividade, pois alguns arquivos ficavam grandes e difíceis de gerenciar, e trechos, para serem reaproveitados em diferentes sistemas, necessitavam de muitas adaptações. Alguns desses projetos funcionam como uma linguagem simples que vai gerar o arquivo CSS padrão a ser incluído no 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 20/28 sistema web. Podem ser incluídos no framework Angular (Angular Styles, [S.d.]) que será visto nesta disciplina. Duas funcionalidades que podem auxiliar a entender este mecanismo e estão implementados nos projetos Sass, Less e Stylus exemplificados neste tema são o uso de variáveis e mixins (Sass, [S.d.]; Less, [S.d.]; Stylus, [S.d.]). Quadro 15 – Uso de variáveis No Quadro 15 foi feita uma adaptação das propriedades usadas em exemplos anteriores para as três ferramentas citadas, facilitando a comparação do uso de variáveis e as diferenças na sintaxe entre elas. O uso de variáveis pode auxiliar o desenvolvedor que precisa utilizar alguns arquivos de CSS entre diferentes projetos. Pode criar um local separado para as variáveis e os parâmetros que precisam ser adaptados entre os projetos. Quadro 16 – Uso de mixins 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 21/28 No Quadro 16, há um exemplo de reaproveitamento de trecho de CSS dentro do próprio contexto do sistema em desenvolvimento. Um conjunto de propriedades que devem ser aplicadas em diferentes classes pode ser chamado conforme a necessidade, sem a repetição dos trechos e deixando o arquivo CSS mais limpo. TEMA 4 – BOOTSTRAP Quando um sistema precisa ser desenvolvido, a interface com o usuário muitas vezes requer diferentes componentes visuais para destacar informações variadas, sejam estas buscadas em bases de dados, coletadas do próprio operador do sistema ou produzidas por meio de cálculos e combinações entre dados. Durante o desenvolvimento da interface do sistema, conceitos de usabilidade como satisfação do usuário e facilidade de uso (Abran et al., 2003) são utilizados como forma de tornar a experiência de uso do sistema mais atrativa. Uma das formas de facilitar o uso é a combinação de componentes gráficos de uso comum como cartões, botões, barra deslizante, adesivos, placas, com o uso de mouse ou telas sensíveis ao toque e janelas com diferentes tamanhos (ver tema sobre RWD). Um dos frameworks mais utilizados para o desenvolvimento de interfaces web é o Bootstrap, que foi desenvolvido e utilizado internamente na empresa Twitter e depois foi liberado na forma aberta (open-source). Além do conceito de grade visto nos temas anteriores, possui diversos componentes gráficos prontos para utilização no sistema e com a vantagem de ser responsivo (Bootstrap, [S.d.]). Como exemplo de uso do Bootstrap temos uma tela utilizada anteriormente em nossos estudos, reapresentada na Figura 3. Figura 3 – Tela de formulário com o uso do Bootstrap 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 22/28 Nesta tela, foram utilizados botões, listas personalizadas e opções para cor e sombra, combinados com CSS normal. TEMA 5 – EXEMPLO DE BOOTSTRAP Para utilizar o Bootstrap num projeto, é necessário fazer a referência para seu conjunto de componentes CSS e Javascript. No Quadro 17, foi utilizado o formato de referência externa para tornar mais prático, mas outras formas podem ser utilizadas conforme a documentação do framework. Quadro 17 – Inclusão do Bootstrap no documento HTML 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 23/28 Com essa configuração o Bootstrap pode ser chamado por meio das classes pré-configuradas, e no último link foi incluído também uma fonte externa chamada Awsome, que contém muitos ícones que podem ser usados na interface. 5.1 COMPONENTES Alguns componentes já utilizados em nossos estudos são apresentados no Quadro 18. Esses componentes foram utilizados para tornar o HTML apresentado mais estimulante. As cores utilizadas fazem parte do padrão do Bootstrap, que indica a cor azul (a) com primary e verde (c) com success. Quadro 18 – Componentes Bootstrap No Quadro 18 foram incluídos: a. uma configuração na imagem do logotipo do sistema, tornando-o arredondado e com sombra; b. configuração de listas com fundo azul, linhas divisórias e cor de texto branco; 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 24/28 c. botão com ícone de sinal de checagem com fundo verde e letra branca. Este último item também é uma opção de formulário (submit) que coleta e envia as informações para processamento. 5.2 COMPONENTES ADICIONAIS Além dos componentes utilizados anteriormente, foram listadas opções para servir de exemplo no desenvolvimento de aplicações. No Quadro 19, mais três opções a serem consideradas. Quadro 19 – Componentes adicionais para sistemas web 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 25/28 Na opção (a), temos um menu dinâmico que lista as opções ao ser clicado. É muito usado em interfaces para mostrar opções do usuário ou de rápido acesso.Na opção (b), um quadro dinâmico que será fechado e liberado o espaço ocupado ao clicar no x do canto superior direito. E, na opção (c), um botão que pode dar acesso a um relatório do sistema, mas que também informa um dado numérico dentro do próprio botão, permitindo o usuário avaliar antes se precisa ou não clicar no botão com base na informação adicional. Na Figura 4, um exemplo da aparência de um conjunto de abas dinâmicas que mostram conteúdo diferente ao serem clicadas. Cada aba mostra uma tabela com informações de Faturas pagas ou Faturas em aberto. Figura 4 – Abas dinâmicas No Quadro 20, temos o código HTML usado na criação de abas de conteúdo da Figura 4. Quadro 20 – Criação de abas dinâmicas 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 26/28 No Quadro 20, também é apresentada a configuração das tabelas usando classes específicas do Bootstrap para tabelas (bordas e fundo listrado). Ao clicar em uma aba, o conteúdo de uma das tabelas torna-se visível para o usuário e este poderá interagir. FINALIZANDO Nesta aula, foram apresentados os mecanismos utilizados para a formatação visual das interfaces de sistemas web. Junto com os aspectos técnicos da apresentação visual foi incluído um conceito presente na arquitetura dos sistemas web atuais: responsividade. No conjunto de ferramentas, o CSS é uma importante base para a construção das telas de sistemas e, mesmo que o desenvolvedor utilize posteriormente um framework com componentes prontos como o Bootstrap, vai precisar conhecer como o CSS funciona para conseguir integrar as diversas bibliotecas e frameworks utilizados no desenvolvimentos de sistemas e aplicativos. 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 27/28 Para melhorar a produtividade no gerenciamento de extensos grupos de códigos CSS, também foram expostas nesta aula algumas ferramentas que convertem algumas extensões da sintaxe do CSS para um arquivo CSS puro, aproveitando os recursos de variáveis e de reaproveitamento de código. REFERÊNCIAS ABRAN, A. et al. Usability meanings and interpretations in ISO standards. Software quality journal, v. 11, n. 4, p. 325-338, 2003. ALMEIDA, F.; MONTEIRO, J. The Role of Responsive Design in Web Development. Webology, v. 14, n. 2, 2017. ANGULAR. Angular workspace configuration. Angular, [S.d.]. Disponível em <https://angular.io/guide/workspace-config#styles-and-scripts-configuration>. Acesso em: 10 mar. 2021. BOOTSTRAP. Disponível em: <https://getbootstrap.com/docs/5.0/about/overview/>. Acesso em: 10 mar. 2021. CSS1. Cascading Style Sheets, level 1. CSS1, [S.d.]. Disponível em <https://www.w3.org/TR/CSS1/>. Acesso em: 10 mar. 2021. KULPA, C. C.; PINHEIRO, E. T.; SILVA, R. P. A influência das cores na usabilidade de interfaces através do design centrado no comportamento cultural do usuário. Perspectivas em Gestão & Conhecimento, v. 1, n. 1, p. 119-136, 2011. LESS. Disponível em: <http://lesscss.org/>. Acesso em: 10 mar. 2021. MDN WEB DOCS MOZILLA. Referência de CSS. Mozilla, 24 set. 2019. Disponível em <https://developer.mozilla.org/pt-BR/docs/Web/CSS/CSS_Reference>. Acesso em: 10 mar. 2021. _____. Responsive design. Mozilla, 3 mar. 2021. Disponível em <https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design>. Acesso em: 10 mar. 2021. SASS. Sass – CSS with superpowers. Sass, [S.d.]. Disponível em <https://sass-lang.com/guide>. Acesso em: 10 mar. 2021. 10/09/2021 16:12 UNINTER - FERRAMENTAS DE DESENVOLVIMENTO WEB https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/2021/analiseDesenvSistemas/ferramentasDesenvWeb/a2 28/28 STYLUS. Disponível em <https://stylus-lang.com/>. Acesso em: 10 mar. 2021. W3. Standards. W3, [S.d.]. Disponível em <https://www.w3.org/standards/>. Acesso em: 10 mar. 2021. _____. CSS Color Module Level 4. W3, 12 nov. 2020. Disponível em <https://www.w3.org/TR/css- color-4/>. Acesso em: 10 mar. 2021. W3C. Media Queries Level 5. W3C, 31 jul. 2020. Disponível em: <https://www.w3.org/TR/mediaqueries-5/>. Acesso em: 10 mar. 2021.
Compartilhar