Web Development
Developing user interfaces of web pages.
Resources
- Learn web development | MDN — Learning guide provided by Mozilla
 - Learn HTML | Web Dev — Get the basic right, more beginner-friendly
 - FullStackOpen Deep dive into modern web development
- Completely free full stack course. Same as the one at the University of Helsinki
 - Cover React, NodeJS, Express, Redux, GraphQL, TypeScript, React Native, Docker, MongoDB and Postgres
 
 
Sites
- MDN Web Docs — Mozilla, the most useful and complete web docs
 - CSS Selectors: A Visual Guide — Select specific HTML elements to apply CSS to
 
Links
color-schemeCSS Property | Web Dev- How to improve dark mode default styling
 - Discovered from this blog about configuring dark mode: CSS System Colors | Jim Nielsen's Blog
 
- After dark CSS — Some fun CSS
animations
- Some are quite simple, animations without any JavaScript but just CSS. I like the Spotlight one
 
 - 300ms Faster: Reducing Wikipedia's Total Blocking Time | Nicholas Ray
(HN)
- Tasks run longer than 50ms are considered long tasks, anything longer than that is blocking other tasks
 - Remove unnecessary JavaScript: initializing multiple event handlers or callbacks
 - Optimize existing JavaScript: event delegation, attach a single event listener to a common ancestor of many elements
 
 - I'm betting on HTML
(HN)
- HTML can handle more things than before
 - Some interesting tabs: 
<abbr>,<datalist>,<details>,<dialog>,<mark>,<meter>,<progress>, etc. 
 - Things you forgot (or never knew) because of React | Josh Collinsworth
- The author has a strong opinion, but it's a good overview of what React is outdated compared to others
 - With React assumed to be the default, people don't realize features like web components are missing
 - There are better alternatives like Svelte, Vue, Solid, etc.
 
 - A Blog Post with Every HTML Element
(HN)
- More than a hundred different HTML tags, categorized, all used somewhere in the post
 
 - Adapting Illustrations to Dark Mode
- Keep the colour the same, only inverting the lightness
 invert(1)invert all RGB,hue-rotate(180deg)inverts revert back to the original colourfilter: invert(1) hue-rotate(180deg);
 - Moving 50,000 lines of code to React Server Components
- What are React Server Components (RSCs)? What are the pros and cons?
 - RSCs Demo. Methods to incrementally adopt RSCs. Some advanced patterns handling client & server components.
 
 - Host a website in a URL | Smolsite.zip
(HN)
$ zip -DXjq9 somesite.zip index.html mylogo.png
$ echo "https://smolsite.zip/`cat somesite.zip | base64 --wrap 0`" - The Rules of Margin Collapse
- Only vertical and adjacent margins collapse, not in grid or Flexbox, and the bigger margin wins
 - Nesting doesn't prevent collapsing. Padding, border, empty space or scroll container blocks collapsing.
 - More advance: direction, more than 2 margins, negative margins
 
 - HTML Tips & Tricks
 - CSS for printing
@pagerule,@media printand more
 - A formula for responsive font-size
- No 
@mediabreakpoints, just a linear function:font-size: calc(1rem + 0.25vw); 
 - No 
 - A brief history of web development
- And why your framework doesn't matter
 - Angular, React, GraphQL, Vercel & Next.js, Svelte, HTMX
 
 - Engineering for Slow Internet
- Do not hardcode timeout, prefer incremental transfer
 - Allow users to bring their own downloader, provide URL, allow pause and resume, show progress, etc.
 
 - Design System Retrospective
- The good and bad of a functional composition design system
 - The difficulty in understanding how composition changes the context and how it renders
 - Object composition like Tailwind is easier to adapt for devs
 
 - Notes on implementing dark mode
prefers-color-scheme, tri-state of themes, theme flicker, theme changes from OS/tabs
 - Server-Sent Events (SSE) are underrated
- Unidirectional update pushed from the server, 
mimetype=text/event-stream - Some constraints, considerations and best practices in the article
 
 - Unidirectional update pushed from the server, 
 - The least amount of CSS for a decent looking site
- E.g. 
max-width: min(70ch, 100% - 4rem); 
 - E.g. 
 - Never, ever use system-ui as the value of font-family
- Got this link from this HN comment
 - It causes problems on Windows and for some system languages like Chinese and Korean
 
 - A pragmatic guide to modern CSS colours
rgb(),hsl(), relative color,light-dark(), color spaces and more
 
CSS games
- Flexbox Froggy (HN) — Learn CSS Flexbox
 - Grid Garden — Learn CSS Grid
 
SVG
- Online SVG Path Editor | GitHub @ygnn
 - Interactive SVG Path Visualizer
 - A Deep Dive into SVG Paths
(HN)
- Cursors, lines, bezier curves, cubic curbes, and arcs
 - Include some challenges to draw some shapes at the end of each section
 
 - Handcraft sparklines chart in SVG — Drawing lines, scaling, and adding a fill by hand or a helper function in the backend
 - Friendly introduction to SVG