Frontend Weekly Digest #356 (25–31 March 2024)
Web-development
• Setting And Persisting Color Scheme Preferences With CSS And A “Touch” Of JavaScript
• On disabled and aria-disabled attributes
• How to Create an “AI Quotes Generator” With OpenAI and JavaScript
• How I optimized Carousel for EditorJS 2x in size.
- Tools
• Goodbye JS Profiler, profiling CPU with the Performance panel
• Power of Partial Prerendering with Bun - Performance
• A Complete Guide to Web Performance Budgets
• How web bloat impacts users with slow devices
CSS
• CSS color-scheme-dependent colors with light-dark()
• What You Need to Know about Modern CSS (Spring 2024 Edition)
• How to Kill the Cascade
• The Power of :has() in CSS
• Spicing up text with text-emphasis in CSS
• Learn These Viewport-Relative CSS Units (100vh, 100dvh, 100lvh, 100svh)
• Quick Tip: How to Align Column Rows with CSS Subgrid
JavaScript
• What’s the difference between JavaScript engines and JavaScript runtimes?
• Self unregistering Service Workers
• JavaScript Visualized: Promise Execution
• Nx adoption guide: Overview, examples, and alternatives
• A guide to better state management with Preact Signals
• All Javascript conference talks (+300) from 2023 ordered by the number of views
• We Rewrote our React App in Svelte in Three Weeks
- React
• New Features in React 19 — Updates with Code Examples
• What is a layout in React?
• Understanding between Angular & React. Part 1: Dumb & Smart Components
• Understanding between Angular & React. Part 2: Lifecycle hooks
• Maximizing React State Efficiency: A Deep Dive into Recoil Selectors vs. useMemo for Optimal Performance
• React Server Components now in RedwoodJS
• Why I Like React (even in 2024) - Vue
• Using Vue Computed Properties to Count Down to New Armin van Burren
• Destructuring Vue.js props: The Reactivity Challenge
• Nuxt: Looking forward - Angular
• How Angular v17 Accidentally Solved a Previously Unsolvable Problem
• Meet Angular’s new output() API