Media | Web Development | CSS | Javascript | Browsers
Media
•

•

•

•

•

•

•

•


•


Web development
•

•

• Excessive Front-End Stack Variability: Essence and Reasons
• Link attributes nofollow, sponsored and ugc and their impact on SEO
•

•

•

•

•

•

- Performance
•Optimizing JavaScript loading on Wikipedia
•Time to first byte: what is it and why is it important
•[Do not] use CDN
•Images taken right: web graphics that are good to the last byte
•Recipes for Testing SPA Performance in WebPageTest
- Availability
•The Supreme Court awarded the victory to a blind man who sued Domino due to accessibility
•Accessibility: Web links must be links, and web buttons must be buttons
•What is ARIA? ARIA Beginner's Guide
- Effects
•Creative Sites Inspirational Websites Roundup # 9
•legendary-cursor - creative cursor on WebGL
•Creating a Water Distortion Effect with Three.js
CSS
•

• Modern CSS style reset
• Extract critical CSS
•

•

•

•

•

•

•

•

•


Javascript
•

•

•

• How to work with localStorage in JavaScript
•

•

•

•

- Theory
•JavaScript Inheritance from the Point of View of a Bored Nerd: Constructors Factory
•High level await
•Understanding This, Bind, Call, and Apply in JavaScript
•When to use Map instead of a simple JavaScript object
•JavaScript Promises: Zero to Hero, plus a cheat sheet
•Complete Guide to Using Arrays in JavaScript
•Javascript Ellipse Story
- React
•Meet the Create Next App
•Part 1: React interview questions
•Complete Authentication Guide for Next.js with Auth0
•How to implement Idle Timeout in React
•Using JSX for your own lightweight declarative UI library
- Vue
•10 tips and tricks to help you become the best developer on VueJS
•MSK VUE.JS meetup # 3 at Mail.ru Group: materials from mitap
•Creating a Vue.js Component Library as a Module (Part 1)
•Instant Search with Vue.js and Axios
•Vue-Next and why Map solves a big problem
•How to fumble Vue components between applications
•Separating Vue.js components from the Vuex Store
•Managing SVG Images in Vue.js Applications
•Vue3: First Look
•Build a real-time polling app using Vue and Socket.io
- Angular
•Interaction between Angular components using RxJS
•What's under the hood of Angular 8?
•Migrating to Angular 8 from TSLint to ESLint
•Request tracking in Angular application with child module injectors without delayed loading
- Ember
•Ember-engines: what, what not and why? - part 1
•About {{mut}} and two-way binding
•Promises and UI states in Ember.js
•Ember and GraphQL: A Quick Example
- Libs & plugins
•roughViz - JS library for creating sketch-styled / hand-drawn diagrams in a browser
•is-website-vulnerable - finds well-known vulnerabilities in JavaScript libraries on the site
•How to make JavaScript localization using jQuery.i18n
Browsers
•

•

• Firefox added support for working in kiosk mode
• Firefox code completely relieved of XBL
• Google added helper features for blind and partially sighted users in Chrome and Maps
• Chrome Web Store has blocked the publication of the update uBlock Origin
We apologize for any typos or broken / duplicated links. If you notice a problem - please write in a personal email, we try to quickly fix them.
← Last week’s digest
Material prepared by dersmoll and alekskorovin