Atualização Mensal de Desenvolvimento Web 4⁄2018: Sobre Esforço, Viés e Ser Produtivo

Publicados: 2022-03-10
Resumo rápido ↬ Anselm Hannemann resumiu o que aconteceu na comunidade da web nas últimas quatro semanas. De notícias sobre navegadores e ferramentas úteis a tópicos quentes e coisas sobre as quais devemos falar com mais frequência.

Hoje em dia, é um dos maiores desafios pensar a longo prazo. Em um mundo onde vivemos com aparelhos que duram apenas alguns meses ou talvez alguns anos, onde compramos coisas para jogar fora dias ou semanas depois, o termo 'esforço' ganha um novo significado.

Recentemente, eu estava lendo um ensaio sobre 'Yatnah', 'Effort'. Passei muito tempo ao ar livre na natureza nas últimas semanas e criei um pequeno acre para cultivar alguns vegetais. Também participei de um workshop para aprender o ofício de enxertia de árvores frutíferas. Quando você corta uma árvore, percebe que nosso estilo de vida rápido e de curto prazo é muito diferente de como a natureza funciona. Eu enxertei uma árvore que deveria crescer por décadas agora, e se você cortar uma árvore que está lá há quarenta anos, levará outros quarenta para crescer uma que seja igualmente alta.

Eu adoraria que todos nós tentamos criar um trabalho mais duradouro , um software que funcione em uma década e, para isso, nos esforcemos para aprender como podemos fazer isso acontecer. Até mais, vou deixar você com esta citação e um monte de artigos interessantes.

“Em nosso mundo moderno, pode ser tentador jogar fora o esforço e substituí-lo por algumas frases de pensamento positivo. Mas simplesmente não há substituto para a prática”.

— Kino Macgregor
Mais depois do salto! Continue lendo abaixo ↓

Notícias

  • O Safari Technology Preview 52 remove o suporte para todos os plug-ins NPAPI que não sejam Adobe Flash e adiciona suporte para cabeçalhos de link de preconnect -conexão.
  • O Chrome 66 Beta traz o CSS Typed Object Model, Async Clipboard API, AudioWorklets e suporte para usar calc() , min() e max() em consultas de mídia. Além disso, os campos select e textarea agora suportam o atributo autocomplete , e a cláusula catch de uma instrução try pode ser usada sem um parâmetro a partir de agora.
  • O iOS 11.3 já está disponível ao público e, como já anunciado, o lançamento traz suporte para Progressive Web Apps para iOS. Maximiliano Firtman compartilha o que isso significa, o que funciona e o que não funciona (ainda).
  • O Safari 11.1 já está disponível para todos. Aqui está um resumo de todos os novos recursos do WebKit que ele inclui.
Aplicativo Web Progressivo no iOS
Os Progressive Web Apps para iOS estão aqui. Tela cheia, compatível com off-line e até mesmo visível no dock do iPad. (Crédito da imagem)

Em geral

  • Anil Dash reflete sobre o que a web deveria ser e como a web de hoje difere disso: “Numa época em que milhões estão perdendo a confiança nos maiores sites da web, vale a pena revisitar a ideia de que a web deveria ser feita de incontáveis pequenos sítios. Aqui está uma olhada nas tecnologias negligenciadas que deveriam tornar isso possível.”
  • Morten Rand-Hendriksen escreveu sobre o uso da ética no web design e quais perguntas devemos nos fazer ao sugerir uma solução, criar um design ou um novo recurso. Especialmente quando pensamos que estamos fazendo algo 'inteligente', é importante questionar se isso realmente ajuda as pessoas em primeiro lugar.
  • Muitos protestos e discussões vieram junto com o caso Facebook/Cambridge Analytica, a maioria deles apontando os problemas tecnológicos com o modelo de permissão do Facebook. Mas o ponto crucial está em como o Facebook projetou sua empresa e qual linha de base ética eles estabeleceram. Se não queremos que algo assim aconteça novamente, cabe a nós projetar o serviço que queremos.
  • Brendan Dawes compartilha por que ele acha que os URLs são uma obra-prima e uma experiência do usuário por si só.
  • A transcrição da palestra de Charlie Owen de “Prezado desenvolvedor, a web não é sobre você” é um bom resumo de por que nós, desenvolvedores, precisamos pensar além do que é bom para nós e considerar o que serve aos usuários e como podemos conseguir isso.

IU/UX

  • B. Kaan Kavustuk compartilha seus pensamentos sobre por que não seremos capazes de construir um design ou base de código perfeito na primeira tentativa, não importa quanta experiência tenhamos. Em vez disso, são as pequenas melhorias constantes que abrem o caminho para a perfeição.
  • Trine Falbe nos apresenta o Design Ético com um guia prático de introdução. Ele mostra alternativas e coisas para pensar ao construir um negócio ou produto. Não importa muito se você é o proprietário, um desenvolvedor, um designer ou um vendedor, trata-se de servir os usuários e estabelecer o terreno para uma confiança real e sustentável.
  • Josh Lovejoy compartilha seus aprendizados ao trabalhar em soluções de tecnologia inclusivas e por que é preciso mais do que uma boa intenção para criar uma tecnologia justa e inclusiva. Este artigo aprofunda por que o julgamento humano é muito difícil e muitas vezes baseado em preconceito, e por que não é fácil projetar e desenvolver algoritmos que tratem pessoas diferentes igualmente por causa disso.
  • O sistema de cores HSB (Hue, Saturation, Brightness) não é especialmente novo, mas muitas pessoas ainda não entendem suas vantagens. Erik D. Kennedy explica seus princípios e vantagens passo a passo.
  • Embora haja mais discussão sobre design inclusivo hoje em dia, muitas vezes é visto sob o chapéu de acessibilidade ou como decisões técnicas. Robert del Prado agora compartilha o quão importante é o pensamento de design inclusivo e por que é muito mais sobre o usuário genérico do que algumas pessoas específicas com deficiências específicas. O design inclusivo aproxima as pessoas, independentemente de quem são, onde vivem e o que podem pagar. E não é o objetivo de todo produto ser bem sucedido adquirindo o maior número de pessoas possível? Talvez precisemos discutir isso com o pessoal de marketing também.
  • Anton Lovchikov compartilha maneiras de melhorar os ajustes ópticos nos componentes. É um estudo interessante sobre como pequenas mudanças podem fazer uma grande diferença.
Justo não é o padrão
Com medo ou com raiva? A emoção que achamos que o bebê está mostrando depende se pensamos que é uma menina ou um menino. Josh Lovejoy explica como preconceitos pessoais e julgamentos como este levam a produtos injustos. (Crédito da imagem)

Ferramentas

  • Brian Schrader encontrou um recurso desconhecido no Git que é muito útil para testar ideias rapidamente: o Git Notes nos permite adicionar, remover ou ler notas anexadas a objetos, sem tocar nos próprios objetos e sem precisar confirmar o estado atual.
  • Para muitos projetos, prefiro usar scripts npm em vez de chamar gulp ou tarefas diretas do webpack. Michael Kuhnel compartilha alguns truques úteis para scripts npm, incluindo como permitir parâmetros de opção CLI ou como observar tarefas e avisos de alerta em caso de erro.
  • Anton Sten explica por que novas ferramentas nem sempre equivalem a produtividade. Todos nós adoramos novas ferramentas de design, e novas como Sketch, Figma, Xd ou Invision Studio continuam surgindo. Mas apesar dessas ferramentas resolverem muitos problemas comuns e facilitarem algumas coisas, a produtividade é principalmente sobre o que funciona para o seu problema e não o que é mais novo. Se você precisa criar uma maquete estática e o Photoshop é o que você conhece melhor, por que não usá-lo?
  • Há um novo serviço de DNS rápido disponível pela Cloudflare. Finalmente, uma alternativa melhor para os servidores DNS do Google muito usados, está disponível em 1.1.1.1 . O novo DNS é o mais rápido e provavelmente um dos mais seguros também. A Cloudflare se esforçou muito para criptografar o serviço e fazer parceria com a Mozilla para fazer o DNS sobre HTTPS funcionar para fechar uma grande lacuna de privacidade que até agora vazava todos os seus dados de navegação para o provedor de DNS.
  • Já ouvi muito sobre aprendizado de máquina iOS, mas apesar do fato interessante de que eles podem fazer isso no dispositivo sem enviar tudo para uma nuvem, ainda não descobri como usar isso para aplicativos. Felizmente, Manu Rink montou um bom guia no qual ela explica o aprendizado de máquina no iOS para iniciantes.
  • Há ótimas notícias para os fãs do Git GUI: o Tower agora oferece uma nova versão beta que inclui suporte a pull request, fluxos de trabalho de rebase interativos, ações rápidas, reflog e pesquisa. Uma atualização incrível que torna o trabalho com o software muito mais rápido do que antes, e mesmo para mim como um amante da linha de comando é uma boa opção.
Aprendizado de máquina no iOS para o Noob
Manu Rink mostra como o aprendizado de máquina no iOS funciona criando um reconhecimento de texto manuscrito offline. (Crédito da imagem)

Segurança

  • O HTTP Strict Transport Security (HSTS), especialmente com pré-carregamento, tem sido considerado um dos melhores recursos de segurança para garantir que um navegador se conecte apenas com segurança a um nome de host. No entanto, os anunciantes encontraram uma maneira de rastrear usuários com HSTS e usá-lo como um identificador persistente entre sites (conhecido como “super cookie”). Os desenvolvedores do WebKit reagiram agora e, para proteger a privacidade de seus usuários, enfraqueceram a confiabilidade do HSTS limitando o escopo do nome do host e ignorando um estado HSTS para solicitações de sub-recursos a domínios bloqueados.
  • O PagerDuty acaba de publicar uma versão de código aberto de seu material de treinamento de segurança interna, cheio de explicações interessantes e fáceis de entender sobre questões e estratégias comuns de segurança. Isso é especialmente útil, pois você pode entregá-lo a pessoas sem experiência técnica.
  • Christoph Rumpel compartilha como ele encontrou uma maneira de usar sua Política de Segurança de Conteúdo com o pacote Laravel Response Caching.
  • Embora o Argon2 seja o algoritmo atual de melhores práticas a ser usado para hash (senhas, por exemplo), há algumas coisas para as quais os desenvolvedores precisam se preparar. Por exemplo, é fácil executar o DOS usando o Argon2, então você precisa classificar as consultas de limite.
  • James Fisher compartilha uma maneira interessante de enganar os usuários do Gmail, como demonstrado no exemplo da Netflix.

Desempenho na Web

  • Esta semana, surgiu uma discussão sobre se a técnica de servir imagens compressivas ainda é uma boa ideia. Tim Kadlec tomou isso como um gatilho para revisitá-lo. Ele agora conclui que não devemos mais usar a técnica de imagem compressiva por causa de sua grande pegada de memória e confiar em novas tecnologias de imagem responsiva, como o elemento <picture> ou os atributos srcset e sizes .
  • Eric Portis compartilha os princípios básicos dos descritores w e atributos de sizes para imagens. Um post bastante técnico, mas revelador, que faz você finalmente entender a mágica por trás desses novos atributos de imagem responsiva.
  • Tim Oxley compartilha por que ele prefere voltar cedo e evitar else sempre que possível. Isso é algo que venho fazendo no início da minha carreira, depois perdi em algum momento, mas voltei a fazer isso recentemente. Especialmente a complexidade reduzida e a lógica mais simples nas funções são uma vantagem importante para mim aqui.
  • Jeremy Wagner compartilha as melhores práticas sobre como construir um mecanismo de carregamento lento para imagens e vídeos. Definitivamente, não é a solução mais rápida, mas o recurso compartilha como criar a melhor experiência e desempenho com base nas tecnologias mais recentes disponíveis em navegadores.

Acessibilidade

  • Marcy Sutton explica o que há de novo no Ax 3.0, que agora suporta Shadow DOM e que você pode executar em seu conjunto de testes automatizado.
  • Patrick H. Laucke compartilha o que é o novo pseudo-seletor CSS :focus-visible e como precisamos escrevê-lo para garantir a compatibilidade com os navegadores que ainda não o suportam.
  • Marco Zehe nos apresenta o novo Inspetor de Acessibilidade no Firefox Developer Tools. Esta é uma ótima notícia e ajuda a tornar a inspeção de problemas de acessibilidade muito mais fácil do que costumava ser.

CSS

  • Amber Wilson compartilha alguns insights sobre como é ser jogada em um projeto complexo para fazer o estilo lá. Ela diz com razão que “ninguém disse que CSS é fácil” e expressa o quão importante é que nós, desenvolvedores, enfrentemos situações inconvenientes para aumentar nosso conhecimento.
  • Ana Tudor é conhecida por suas habilidades especiais em CSS. Agora ela explora e descreve como podemos alcançar cantos escavados em CSS com alguns truques inteligentes.
Cantos Escavados
Cantos recortados? Ana Tudor mostra como fazer. (Crédito da imagem)

JavaScript

  • O WebKit recebeu uma atualização para a API da área de transferência, e a equipe fornece alguns insights muito interessantes sobre como ela funciona e como o Safari lidará com alguns dos desafios comuns com dados da área de transferência (por exemplo, imagens).
  • Se você trabalha com armazenamentos de valores de chave que residem apenas no frontend, o IDB-Keyval é uma ótima biblioteca leve que simplifica o trabalho com IndexedDB e localStorage.
  • Sempre quis criar gráficos a partir de seus dados com uma aparência esboçada e desenhada à mão em um site? Rough.js permite que você faça exatamente isso. Geralmente é baseado em Canvas (para melhor desempenho e menos dados), mas também pode desenhar caminhos SVG.
  • Se você precisar de um módulo de reordenação de arrastar e soltar, há uma solução fácil e acessível disponível agora: dragon-drop.
  • Por muitos anos, só podíamos obter valores CSS em seu valor calculado e mesmo isso não era flexível ou agradável de se trabalhar. Mas agora o CSS tem uma API baseada em objeto adequada para trabalhar com valores em JavaScript: o CSS Typed Object Model. Está disponível apenas no próximo Chrome 66 ainda, mas definitivamente um recurso promissor que adoraria usar no meu código em breve.
  • A documentação do React.js agora tem uma seção extra que explica como gerenciar de forma fácil e programática os estados de foco para garantir que sua interface do usuário seja acessível.
  • James Milner compartilha como podemos usar a busca abortável para cancelar solicitações.
  • Já existem alguns artigos sobre Web Push Notifications, mas o guia de introdução de Oleksii Rudenko é uma ótima cartilha que explica muito bem os princípios.
  • Nos últimos anos, recebemos muitos recursos novos na plataforma JavaScript. E como é difícil lembrar de todas as novidades, Raja Rao DV resumiu “Tudo novo em ECMAScript 2016, 2017 e 2018”.

Vida de trabalho

  • Para aumentar a conscientização sobre como essas situações são comuns para todos nós, James Bennett compartilha uma situação embaraçosa em que cometeu um erro simples que levou muito tempo para descobrir. Não sou apenas eu cometendo erros, não é apenas você, e não apenas James – todos nós cometemos erros, e por mais embaraçosos que pareçam ser nessa situação em particular, não há nada para se sentir mal.
  • Adam Blanchard diz: “As pessoas são máquinas. Também precisamos de manutenção.” e cria uma comparação para os engenheiros entenderem por que precisamos nos cuidar e também por que precisamos de pessoas que cuidem de nós. Esta é uma visão sobre o que os Engenheiros de Pessoas fazem e por que é tão importante que as empresas contratem essas pessoas para garantir que uma equipe seja saudável.
  • Se há uma coisa sobre a qual não falamos muito na indústria da web, é sobre aposentadoria. Jan Chipchase agora escreveu um monte de pensamentos interessantes sobre aposentadoria.
  • Rebecca Downes compartilha alguns insights sobre seu doutorado em equipes remotas, revelando em quais circunstâncias as equipes remotas são ótimas e em quais não são.
O que os engenheiros de pessoas fariam
As pessoas também precisam de manutenção. É aí que entra o Engenheiro de Pessoas. (Crédito da imagem)

Indo além…

  • Agora que discutimos os problemas de serviços centralizados como Facebook e Google, a descentralização é vista como a salvadora da web independente. Mas tenho certeza de que, se não tentarmos resolver o problema humanitário subjacente com a tecnologia, nada mudará.
  • Você pode ter lido as notícias sobre o primeiro acidente fatal com um carro autônomo. Um triste marco que mostra o quão pouco confiável essa tecnologia pode ser e o quão longe ainda estamos de poder contar com tais sistemas.
  • Há uma década, os dispositivos inteligentes prometiam mudar a maneira como pensamos e interagimos, e eles mudaram – mas não nos tornando mais inteligentes. Eric Andrew-Gee explora a evidência científica de que a distração digital está prejudicando nossas mentes.
  • Fred Pearce escreveu sobre como podemos tornar os maiores data centers do mundo mais eficientes. Se você se pergunta por que essa seria a meta desejada, é importante saber que esses data centers são responsáveis ​​por 3% das emissões globais globais de CO2 — tanto quanto o setor aéreo.
  • “Uma usina de carvão em desuso será reaberta para alimentar apenas criptomoedas.” Não tenho palavras adicionais para isso.

Esperamos que você tenha gostado desta Atualização de Desenvolvimento Web. A próxima está marcada para sexta-feira, 18 de maio. Fique ligado.