Dev Roundup, Jun 2024
Welcome to the June edition of our developer roundup! This month, we dive into tons of resources and updates for your tech toolkit. From Josh Comeau's top notch guide on Promises to an insightful look at Tailwind CSS utility classes, there's plenty to learn and explore. We'll also check out Turborepo 2.0's revamped terminal interface, the handy Tailscan for Tailwind CSS debugging, and the intriguing Remotion for programmatically creating videos. Plus, don't miss out on the latest JavaScript Set methods, Figma's exciting updates, and a sleek screen recording tool for macOS. Let's get into it!
Around the Web 🕷
Promises From The Ground Up
Josh Comeau is an excellent teacher. Unsurprisingly, this deep dive on JS Promises is one of the best explanations I've seen. I wish this resource was around when I was first learning Promises!
CSS Utility Classes and "Separation of Concerns"
This is an older post, but it's a really interesting look into the thought process and evolution of Tailwind's utility-first CSS philosophy.
Turborepo 2.0
I'm sharing this because the newly designed terminal interface. It looks to improve monorepo tasks and logging, which I've always found a challenge with Turborepo. This release also saw a much needed update to the Turborepo docs.
Tailscan - Browser inspector for Tailwind CSS
I might be late to the game with this one. But if you are a Tailwind user, this tool is seriously tempting. It brings live element debugging back to the browser for Tailwind classes.
Remotion | Make videos programmatically
A really interesting project for programmatically creating videos as a developer. Something really clicked for me when I tried out their github username demo. Enter your github username and watch as a personalized video is instantly created.
Dracarys by Robert Borghesi
Dracarys is a WebGL experiment built with ThreeJS. It truly pushes the limit of what I thought was possible for interaction and animation in browsers.
New JavaScript Set methods | MDN Blog
A major power-up for Sets. The TL;DR:
intersection()
returns a new set with elements in both this set and the given set.union()
returns a new set with all elements in this set and the given set.difference()
returns a new set with elements in this set but not in the given set.symmetricDifference()
returns a new set with elements in either set, but not in both.isSubsetOf()
returns a boolean indicating if all elements of a set are in a specific set.isSupersetOf()
returns a boolean indicating if all elements of a set are in a specific set.isDisjointFrom()
returns a boolean indicating if this set has no elements in common with a specific set.
Figma Updates
Figma's an important tool for many developers. And this month, they've released some big updates including: Figma Slides, a newly redesigned UI for the Figma interface, and (the somewhat contentious??) Figma AI.
Screen Studio — Professional screen recorder for macOS
I believe creating beautiful screen recordings is a great way to level up as a developer. It's an easy way to give your features the love and attention they deserve. Screen studio makes beautiful screen recordings by default. Zero extra effort is required. I think I'm going to bite the bullet and get a full license.
Some Fave Tweets 🐦
At first I laughed, but now I'm seriously considering using these 🤔
The ultimate pair of idgaf aliases
— Kristian Freeman (@kristianf_) June 14, 2024
Add what files? How about all of them
Commit message? idk what day and time is it
OK, now let's push pic.twitter.com/S3ljL47Wjw
My monthly jhey fanboy content:
Updated so you can configure the parallax behavior with CSS custom properties 🤙
— jhey ▲🐻🎈 (@jh3yy) June 14, 2024
- amount the images translate (translate)
- when they translate (scroll-padding-inline)
(added reflection too because why not 😅) https://t.co/SPXoElNOI1 pic.twitter.com/b4GkKaytPW
Responsive inverted reveal scroller with CSS 🤙
— jhey ▲🐻🎈 (@jh3yy) June 26, 2024
img {
position: fixed;
animation: clip;
animation-timeline: --section;
animation-range: exit;
}
@keyframes clip { to { clip-path: inset(100% 0 0 0); }
Fix the image, animate clip on parent scroll position (--section) ✨ pic.twitter.com/5rtWDcq8dm