DEV Community

Cover image for πŸŽƒ 50 Articles to Avoid Web Dev Nightmares
Florian Rappl
Florian Rappl

Posted on

πŸŽƒ 50 Articles to Avoid Web Dev Nightmares

This year I started a new series on LinkedIn - "Advanced Links for Frontend". Each issue has 10 links to outstanding posts / articles. This bundle contains the links from the last 5 issues (issue 56 to issue 60).

I hope you enjoy this collection. Let me know in the comments which of these articles is your favorite (and why).

Issue 56

The CSS radial composer (https://zumerlab.github.io/orbit-docs/) by Orbit
Gravity is everywhere! For some reason I feel attracted to this.

Remix's concurrent submissions are fundamentally flawed (without causal ordering) (https://dashbit.co/blog/remix-concurrent-submissions-flawed) by JosΓ© Valim
Honestly, I am not surprised.

ts-blank-space (https://bloomberg.github.io/ts-blank-space/) by Ashley Claymore
This can be really useful, but I wonder why not just esbuild is used. It's fast and can also be used for more.

date-fns v4.0 is out with first-class time zones support! (https://blog.date-fns.org/v40-with-time-zone-support/) by Sasha Koss
Well, having time zones support is one of the things I'd consider necessary for any good time library.

Fastify v5 is Now Officially Released! (https://openjsf.org/blog/fastifys-growth-and-success) by Fastify Team
Fastify is great and presumably under-appreciated in the Node.js community.

WebKit Features in Safari 18.0 (https://webkit.org/blog/15865/webkit-features-in-safari-18-0/) by Jen Simmons
Keep an eye on this - view transitions and WebXR are huge! Fantastic release!

Biome v1.9 Anniversary Release (https://biomejs.dev/blog/biome-v1-9/) by Victorien Elvinger
Alright I can happily say that finally Biome is also becoming interesting to me. Goodbye Prettier + eslint!

A milestone for TypeScript Performance in TanStack Router (https://tanstack.com/blog/tanstack-router-typescript-performance) by Christopher Horobin
Great write-up with some insights on how the type checker / TypeScript performance can be evaluated and improved.

New Values and Functions in CSS (https://dev.to/alvaromontoro/new-values-and-functions-in-css-1b9o) by @alvaromontoro
Well, some of these functions are not really new, but it's always good to be reminded about them.

Deno 2.0 Release Candidate (https://deno.com/blog/v2.0-release-candidate) by Andy Jiang and Bartek IwaΕ„czuk
The v2 promises to be a really well-rounded release. Time for everyone to take another look at Deno!

Issue 57

How Discord Reduced Websocket Traffic by 40% (https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent) by Austin Whyte
A lot of micro optimizations and lazy loading (or "sending") for the win!

You Can't Build Interactive Web Apps Except as Single Page Applications... And Other Myths (https://htmx.org/essays/you-cant/) by Tony Alaribe
Never heard that myth - but it's fine for me to claim that fire has been rediscovered.

Component Composition is great btw (https://tkdodo.eu/blog/component-composition-is-great-btw) by Dominik Dorfmeister
Truly. What's also great is to have the right company boundaries.

Compile and run C in JavaScript (https://bun.sh/blog/compile-and-run-c-in-js) by Jarred Sumner
More like: Compile and run C in Bun. As usual, I see the devil being in the detail.

The Nine Node Pillars (https://www.platformatichq.com/node-principles) by Matteo Collina et al.
It's great to recap those pillars, even though I did not find anything really Node.js specific (most of the points could be assigned on to any web server).

Module Federation Vite the new v1 is here πŸŽ‰ (https://www.learnbydo.ing/diary/2024-09-23-module-federation-vite-v1) by Giorgio Boa
Happy to see that progress is made! Now we only miss all the other bundlers ...

The Golden Ratio in CSS (https://dev.to/madsstoumann/the-golden-ratio-in-css-53d0) by @madsstoumann
Sweet - starts with some boxes and ends with a lot of rings. I love it!

Sticky Transitioning Veggie Hamburger πŸ” (https://dev.to/florianrappl/sticky-transitioning-veggie-hamburger-7dd) by @florianrappl
Put your web app on a diet and reduce the amount of JS - especially when not needed.

Why Typed Linting Needs TypeScript Today (https://www.joshuakgoldberg.com/blog/why-typed-linting-needs-typescript-today/) by Josh Goldberg
Every once in a while somebody tries to reimplement TypeScript - so far everyone failed. Yes, TypeScript is required.

Improving rendering performance with CSS content-visibility (https://nolanlawson.com/2024/09/18/improving-rendering-performance-with-css-content-visibility/) by Nolan Lawson
This is indeed magical. I see some difficulties here, but certainly no less than doing actual lazy loading / virtualization in JavaScript.

Issue 58

Ever faced the problem of dead space through gaps using flexbox or grid? Then read about
Sanding UI (https://blog.jim-nielsen.com/2024/sanding-ui/) by Jim Nielsen

As you are all aware Ahmad has become my favorite author for CSS related articles. Recently he gave his website some polish. Read about the
Redesign Case Study (https://ishadeed.com/article/redesign-2024/) by Ahmad Shadeed

Now that we conquered client islands it's time for server islands to become standard. One way is discussed in
Partial Prerendering for Everyone with Cloudflare Workers (https://sunilpai.dev/posts/ppr-for-everyone/) by Sunil Pai

It was quite a week for web components. We started with
Web Components Are Not the Future (https://dev.to/ryansolid/web-components-are-not-the-future-48bh) by @ryansolid

But as usual on this topic there had to be different opinions. Entering
Web Components Are Not the Future β€” They’re the Present (https://www.abeautifulsite.net/posts/web-components-are-not-the-future-they-re-the-present/) by Cory LaViska

In the end both have their points and perspectives, but like the old XKCD comic it was the job of a third person to summarize in
Web components are okay (https://nolanlawson.com/2024/09/28/web-components-are-okay/) by Nolan Lawson

Years ago we tried to introduce scoping in CSS - but without much success. Now the working group is back with power... Let's try
Understanding the Concept of Scoping in CSS (https://dev.to/bilkeesu96/understanding-the-concept-of-scoping-in-css-1m9g) by @bilkeesu96

A major downside of classic cron jobs is the failure cascade. This can be countered by some worker frameworks - for instance offering something dubbed durable functions.
What are Durable Functions? A visual JavaScript primer (https://www.inngest.com/blog/durable-functions-a-visual-javascript-primer) by Lydia Hallie

Having tests is both - a pain and necessity. Especially in the frontend things tend to become difficult - relying on the browser and user behavior for many features. Let's recap
Testing Frontend β€” Lessons from over a million lines of TypeScript at Palantir (https://www.meticulous.ai/blog/lessons-from-a-decade) by Quentin Spencer-Harper

Not only the web component department delivered... If you missed the excitement delivered by the WordPress community then read
The messy WordPress drama, explained (https://www.theverge.com/2024/9/27/24256361/wordpress-wp-engine-drama-explained-matt-mullenweg) by Emma Roth

Issue 59

Building a Single-Page App with htmx (https://jakelazaroff.com/words/building-a-single-page-app-with-htmx/) by Jake Lazaroff
Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should.

Keeping an eye on changes to MDN’s Browser Compatibility Data (https://bcd-watch.igalia.com/) by igalia
This is quite neat - not only knowing what changed, but also when it changed.

*OpenFreeMap *(https://openfreemap.org/) by Zsolt Ero
Eagerly waiting to use this with Leaflet - but the Mapbox demos look great, too.

Bridging the hard and the soft (https://wattenberger.com/thoughts/hard-and-soft) by Amelia Wattenberger
Superb read - it's all about the interface.

ESLint now officially supports linting of JSON and Markdown (https://eslint.org/blog/2024/10/eslint-json-markdown-support/) by Nicholas Zakas
I am not getting enough warnings already.

Tauri 2.0 Stable Release (https://v2.tauri.app/blog/tauri-20/) by Tillmann Weidinger
It's now just a much better DX.

Running Clang in the browser using WebAssembly (https://wasmer.io/posts/clang-in-browser) by Syrus Akbary
I need to repeat: Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should.

Unleash JavaScript's Potential with Functional Programming (https://janhesters.com/blog/unleash-javascripts-potential-with-functional-programming) by Jan Hesters
Personal opinion: Don't get too much into FP, but just take the best pieces and use them.

A Local-First Case Study (https://jakelazaroff.com/words/a-local-first-case-study/) by Jake Lazaroff
Local-first is underappreciated but should be a cornerstone for good DX.

Why Gumroad Didn't Choose htmx (https://htmx.org/essays/why-gumroad-didnt-choose-htmx/) by Sahil Lavingia
It's fine. No one needs to choose everything. Everything has trade-offs and I believe in choice.

Issue 60

If you look for icons to be used in your next project - then maybe start directly at
15+ Best Icon Libraries of 2024 (https://dev.to/vinishbhaskar/best-icon-libraries-28ce) by @vinishbhaskar

Ever wondered how to get or set up a great CRM for free? if so, check out
Atomic CRM (https://marmelab.com/atomic-crm/) by Marmelab

In case you missed the preview you can now enjoy the full next gen Node.js competitor;
Announcing Deno 2 (https://deno.com/blog/v2.0) by Ryan Dahl

Are you sometimes hesitant to just install npm packages? Paranoid, maybe not - here are some
Nightmares on npm: How Two Malicious Packages Facilitate Data Theft and Destruction (https://socket.dev/blog/nightmares-on-npm-how-two-malicious-packages-facilitate-data-theft-and-destruction) by Kush Pandya

I think there is a great new framework in town (no week without it!) - server-first with JSX to web components for islands of interactivity. Entering
The Web Platform Framework (https://brisa.build) by Aral Roca Gomez

Ever thought that logs can provide much more insights, but are too clumsy to work with? Maybe strict sequential logs are not the answer. One approach can be found by reading an
Introduction to Causal Logs (https://joelgustafson.com/posts/2024-09-30/introduction-to-causal-logs) by Joel Gustafson

Besides having a new framework each week there is also another attempt on explaining and visualizing how React renders (or reconciliates) your view - so let's dive into
The Interactive Guide to Rendering in React (https://ui.dev/why-react-renders) by UiDev

Do you believe that JavaScript on the server is essentially PHP? I did not - but if you did then read
React on the server is not PHP (https://www.artmann.co/articles/react-on-the-server-is-not-php) by Christoffer Artmann

Do you like mysteries? Then try solving the riddle of
Node.js, pipes, and disappearing bytes (https://sxlijin.github.io/2024-10-09-node-stdout-disappearing-bytes) by Sam Lijin

I have a feeling that the server-side story for React gets more fragmented and unnecessarily complex each day - even without talking about
Serverless servers and the challenge of new React architecture (https://bobaekang.com/blog/serverless-servers-and-the-challenge-of-new-react-architecture/) by Bobae Kang

Conclusion

These are all outstanding articles by masterful authors. I enjoyed reading them all - I hope you did find something in there, too.

πŸ‘‰ Follow me on LinkedIn, Twitter, or here for more to come.

πŸ™ Thanks to all the authors and contributors for their hard work!

Top comments (0)