Frontend Weekly Digest #325 (21–27 August 2023)
Web-development
• Web Adoption Curve — August 2023
• How to Implement Pagination with HTML, CSS and JavaScript
• Please size your inline SVGs
• How to make next-level Figma plugins: auth, routing, storage, and more
• Use web components for what they’re good at
- Tools
• A Guide to Migrating from Webpack to Vite
• Quick tip: Getting all links from any web site into a spreadsheet using browser developer tools - Accessibility
• How to build accessible button component
• Progressively Enhanced Form Validation, Part 3: Validating a checkbox group - UX
• Better Context Menus With Safe Triangles
• The ideal viewport doesn’t exist
CSS
• State of CSS 2023 results
• A Few Interesting Ways To Use CSS Shadows For More Than Depth
• A quick introduction to CSS @scope
• Starting Exploration of Scroll-driven Animations in CSS
• Lightning CSS — An extremely fast CSS parser, transformer, bundler, and minifier.
• Laying out dots on a dice using display:flex & pseudo-classes
• Creating type-safe styles with Panda CSS
• Creating a custom select dropdown with CSS
• How to avoid CSS ch layout shifts
JavaScript
• Understanding async context and the future of server-side JavaScript
• Patterns for Reactivity with Modern Vanilla JavaScript
• Pros and cons of using Shadow DOM and style encapsulation
- React
• The underlying mechanisms of React’s concurrent mode
• React Js Clean Code Guide
• Advanced React Patterns 🔡: Enhancing Error 🚫Handling and Perceived Performance 🦾
• How to update a few years old outdated project in Node and React?
• Current state of state management - Frameworks
• How to Build a Blog with Analog and Angular ✍️
• How to Build a Calculator App with Svelte
• Announced Nuxt 3.7