Atualização Mensal de Desenvolvimento Web 8⁄2018: O Custo do JavaScript, Ética no Código Aberto e QUIC
Publicados: 2022-03-10Construir tecnologia e software tornou-se um trabalho muito responsável. As pessoas confiam nos produtos que criamos e também podem ter um impacto significativo em suas vidas. Diante disso, precisamos não apenas pensar em soluções inclusivas, mas também nos posicionar e defender a ética, a confiabilidade e a segurança. É uma posição que nos dá poder.
Eric Meyer publicou um artigo elaborando os problemas que uma web somente HTTPS está trazendo. Nele, ele revela que os países em desenvolvimento sofrem muito com esse desenvolvimento, pois muitas vezes têm conexões de internet ruins e, devido à criptografia, agora apresentam mais erros de site do que antes . Ben Werdmuller interveio e publicou o artigo “Stop building for San Francisco” no qual aponta um dos maiores problemas que temos como desenvolvedores: usamos hardware e infraestrutura privilegiados. Criamos experiências usando os mais recentes iPhones, Macbooks com Gigabit ou conexões 4G rápidas, mas nunca consideramos que a maioria das pessoas que estamos construindo para usar dispositivos e infraestruturas que estão longe de serem tão bem equipadas. Tornar a web mais segura é uma ótima ideia, sem dúvida, mas também devemos ter em mente as consequências que a tecnologia mais recente e nossas decisões de design podem ter para os outros.
Notícias
- O TypeScript 3.0 foi lançado com alguns recursos e correções de linguagem convenientes.
- Implementado no Chrome há algum tempo, as dicas de cliente são um recurso incrível. Para melhorar a privacidade, a funcionalidade das dicas de cliente para imagens responsivas mudou com o Chrome 67. Colin Bendell explica as diferenças e por que as dicas de cliente são tão úteis para o desempenho.
- Os desenvolvedores têm perguntado muito sobre o Intelligent Tracking Prevention (ITP) do Safari e como depurar sites com ele ativado. Agora, a equipe do WebKit compartilha o modo de depuração ITP, que oferece muito mais flexibilidade e ferramentas para rastrear problemas.
- A partir de outubro, a maioria dos navegadores desconfiará totalmente dos certificados TLS da Symantec e, assim, bloqueará o acesso a sites que ainda os utilizam. Atualize seu certificado se ainda não o fez.
- A versão mais recente do Chrome (68) traz uma nova notificação “não segura” ao visitar páginas HTTP. Esteja ciente disso e atualize seus sites de acordo. Outra novidade no Chrome 68 é a nova API Page Lifecycle, uma ótima nova API para eventos de página, bem como a API Payment Handler. O cache HTTP agora é ignorado ao solicitar atualizações para um service worker, alinhando o Chrome com a especificação e outros navegadores. Além disso, os valores do
cursor
degrab
egrabbing
agora não têm prefixo na nova versão – finalmente.
Em geral
- Se você está construindo para Open Source, você precisa decidir qual licença seu projeto deve usar. Agora há uma nova opção, a Licença Just World. É para desenvolvedores que “concordam em geral com os princípios do software de código aberto, mas não se sentem à vontade com seu software sendo usado como parte dos esforços para destruir vidas, nosso ambiente e nosso futuro”.
- Máquinas de aprendizado profundo são um grande tópico nos dias de hoje, mas algumas pessoas estão explorando algoritmos ainda melhores que superam facilmente as máquinas de aprendizado profundo em videogames.
- O “Simple, correto, rápido: nessa ordem” de Drew DeVault é um ótimo lembrete para definir as prioridades diretamente no desenvolvimento de software e web.
- Jonathan Fulton escreveu um recurso útil chamado “Os conceitos básicos de arquitetura que eu gostaria de saber quando estava começando como desenvolvedor web”, que é uma ótima arquitetura web 101 e base para iniciantes em nosso setor.
IU/UX
- Ethics for Design é um projeto onde doze designers e investigadores de oito cidades europeias discutem o impacto, por vezes prejudicial, do design nas nossas sociedades e o que os designers podem fazer para trabalhar para o bem de todos e não apenas de alguns.
Ferramentas
- Prashant Palikhe escreveu uma longa história sobre a arte de depurar com as Ferramentas de Desenvolvedor do Chrome, que eu recomendo fortemente, pois é uma referência muito completa para conhecer as ferramentas de desenvolvedor de um navegador. Se você usa outro navegador, isso não é um grande problema, pois a maioria das ferramentas é bastante semelhante.
- WebP é um formato de imagem com alguns recursos interessantes e provavelmente um dos novos formatos mais conhecidos, além dos comuns JPEG/PNG. No entanto, criar imagens WebP ainda pode ser um desafio, então Jeremy Wagner escreveu um guia sobre como converter imagens para WebP.
- Douglas Creager apresenta o novo Network Error Logging, que permite instruir os agentes de usuário a coletar o mesmo conjunto de informações que apareceria nos logs do servidor.
- Muitos de nós são viciados em ferramentas de comunicação como o Slack. O pessoal da Wildbit decidiu encerrar o Slack por uma semana – com um efeito significativo em como eles funcionam. Um estudo de caso interessante sobre como tendemos a ficar muito confortáveis com uma ferramenta útil e não a usamos mais como deveríamos. De tempos em tempos, é importante redefinir nossas mentes.
- Dennis Reimann publicou a primeira versão estável do UIEngine, um workbench para desenvolvimento orientado à interface do usuário.
Segurança
- Um novo Observer está por aí: A API ReportingObserver permite que você saiba quando seu site usa uma API obsoleta ou é executado em uma intervenção do navegador. Até agora, ele está disponível no Chrome 69. Você pode usar isso facilmente para enviar erros que antes estavam disponíveis apenas no Console para seu back-end ou serviço de tratamento de erros.
Desempenho na Web
- Você se lembra do QUIC (Quick UDP Internet Connections)? O protocolo projetado pelo Google que eles usam internamente e que está se adaptando muito bem para uso maior? Enquanto o IETF está atualmente padronizando o formato até o final do ano, os engenheiros da Cloudflare agora compartilham sua experiência de testá-lo.
- Quando você tem conteúdo gerado pelo usuário, geralmente não sabe se tem apenas um elemento ou uma lista de elementos para saída. Na Colloq, queríamos fazer a semântica direito e construímos um sistema que nos permite gerar uma tag
p
quando apenas um elemento está no contêiner, caso contrário, uma listaol
/ul
com vários itens de lista.
Acessibilidade
- Dave Rupert compartilha os Cartões de Nutrição A11Y, um projeto que tenta digerir e simplificar as expectativas de acessibilidade quando se trata de autoria de componentes.
- Os links de salto são recursos de acessibilidade bastante comuns. Hampus Sethfors agora escreveu um artigo sobre por que muitos dos links ainda estão quebrados e como corrigi-los corretamente.
JavaScript
- Um ano após o lançamento do Progressive Web App, Zack Argyle, da equipe de engenharia do Pinterest, faz uma retrospectiva. É importante observar por que eles decidiram construir um PWA: “Nossa experiência na web móvel para pessoas em ambientes de baixa largura de banda e planos de dados limitados não foi boa”. Mas os resultados para eles são incríveis de se ver.
- Philip Walton apresenta a nova API do ciclo de vida da página, que nos ajuda a determinar os estados da página no navegador com mais facilidade por meio de eventos, como a página estar em segundo plano (não visível), ativa, congelada ou mesmo encerrada.
- Ops, todos vocês sabem que
eval()
em JavaScript é ruim, certo? É por isso que costumamos proibir seu uso nas Políticas de Segurança de Conteúdo. Mas Remy Sharp nos lembra que há uma linha de código que é igualmente ruim para a segurança. - Addy Osmani pesquisou o custo do JavaScript em 2018 e agora compartilha evidências de que cada byte de JavaScript ainda é o recurso mais caro que podemos enviar para telefones celulares porque pode atrasar significativamente a interatividade. Este é um problema especialmente para telefones não tão capazes que são amplamente utilizados fora da indústria de tecnologia.
- Hidde de Vries explica como podemos tornar os títulos das páginas acessíveis no JavaScript Single Page Application.
CSS
- Max Bock explorou algumas técnicas de CSS Grid para construir os layouts de amanhã com código relativamente simples.
- Sara Soueidan explica como podemos construir chaves de alternância inclusivas com HTML e CSS modernos.
- Jen Simmons compartilha erros comuns do CSS Grid e como resolvê-los.
- Ethan Marcotte explica o ainda relativamente novo
fr
-unit que usamos principalmente para CSS Grids.
Vida de trabalho
- Paris Marx escreveu sobre por que ele acha que os nômades digitais não são o futuro. Ele argumenta que a independência de localização só é possível por causa das infraestruturas de comunicação construídas com recursos públicos e que não é justo abusar delas.
- Esta semana aprendi como pode ser útil pensar fora da caixa e como o trabalho remoto e o seu hobby podem ajudar a resolver desafios técnicos.
- Não é a primeira vez que uma empresa está testando uma semana de trabalho de 4 dias. No entanto, é ótimo ver como o conceito pode ser estabelecido com sucesso e com benefícios para ambos – os funcionários e o trabalho realizado.
Indo além…
- Tobias van Schneider escreveu sobre por que o estúdio Sagmeister-Walsh é tão bem-sucedido por permanecer pequeno e por que sonhar grande, mas permanecer pequeno é tão importante para o pensamento criativo.
- Ben Werdmuller compartilha seus pensamentos sobre como se tornou diferente iniciar um negócio quando você está, por exemplo, em São Francisco. Esta é uma história em que US$ 117.000 são considerados uma “baixa renda” em São Francisco e como isso limita as ideias.
- Jeremy Nagel nos faz pensar sobre o impacto do nosso código-fonte aberto: como desenvolvedores, tendemos a acreditar que tornar nosso código disponível gratuitamente é uma jogada incrível, mas esquecemos que também o disponibilizamos para jogadores ruins - para mineradores de carvão, para empresas que contribuem para a poluição, para aqueles que usam as pessoas para enriquecer enquanto as maltratam, para aqueles que o enganam indiretamente. Não é que você não possa fazer nada a respeito; você precisa estar ciente desses problemas e aplicar uma licença melhor ou adicionar uma declaração dedicada ao seu código.
- A Índia tem um grande problema de resíduos plásticos. Há alguns meses, alguns pescadores não ignoram mais o problema do plástico, mas coletam todos os resíduos em suas redes e os trazem de volta à costa, onde são usados para construir estradas. Uma ótima ideia de fazer uso do lixo de forma eficiente.