When we started this newsletter we had one goal, get rich enough where we could tell people money doesn't make you happy. Unfortunately, we're not there yet so we're rolling out something new.
Each week we work hard to make Bytes something you'd want to share with your developer friends. And starting today, to make it a little easier, we'll give you free stuff when you do.
To learn more about the new referral program and to see what stuff we're giving away, check out your custom referral page.
And with that said, welcome to #66.
Please Dad!
The OG React framework just released v4 with some new features that'll feel pretty groundbreaking to everyone who's never used Next.js before. The Gatsby team unveiled all these changes at last week's virtual conference called GatsbyCamp -- which is also the name of the fully immersive F. Scott Fitzgerald retreat I went on last summer.
Gatsby 4's biggest new features:
Server side rendering -- This new (to Gatsby) rendering approach lets you create more dynamic sites where each web page is served to a visitor at runtime. The docs make it pretty clear that Gatsby still isn't a big fan of SSR. itsthechildrenwhoarewrong.jpg.
Deferred static generation -- This new (to Gatsby) rendering approach is like SSG and SSR had a baby. Instead of generating every single page at build time (which can take forever), you designate some pages to be built at build time, and other (less popular) pages to be built when a user first accesses the page at run time.
Parallel processing -- Gatsby's SSG builds now use multi-processing across shared cores to greatly reduce build times.
That's a ton of big changes, but in some ways, this release feels a little hollow for a couple reasons:
Gatsby isn't really designed to have you run a server backend, so Gatsby's own docs acknowledge that these new rendering methods (SSR & DSG) will probably be pretty hairy to implement. But don't worry! If you ~~hop in the back of this unmarked Gatsby van~~ sign up for Gatsby Cloud, all of these features come conveniently supported out of the box.
Bottom Line: Competition is good. We'll see if these changes get Gatsby back on track to competing head to head with Next.js.
The hero we deserve [sponsored]
I had that same nightmare again last night.
The one where I get woken up at 2:00 am by 17 Slack notifications, and my phone sounds like the National Guard is knocking my door into the ground:
Prod crashed again.
Different bug this time.
Can't find it.
Could you hop online for a bit?
💀💀💀
Oh wait, that wasn't a nightmare -- that was literally what happened to me every few weeks before my old company finally started using Sentry.
Sentry makes it 100x easier to monitor your app's errors and performance, so that you can quickly catch and fix issues during the day time -- instead of frantically trying to un-crash your app in the middle of the night. Plus, they've got individual SDK's and solid documentation for every major technology, so it's super simple to set up.
Try 1 month of Sentry's Business Plan for free with the promo code BYTES, and go back to having normal anxiety dreams about stuff like climate change or being back in middle school.
Kip, I reckon' you know a lot about cyberspace
We can all agree that debugging code is terrible.
One minute, you're knee-deep in fixing a race condition -- when suddenly, an error zooms past you faster than you can think, "What do DevRels actually do?" Even worse, your users are telling you about bugs that you can't reproduce.
That's why we were so excited last week to see that someone finally made our idea of Hot Tub Time Machine But For Your Code a reality. It's called Replay, and it looks like a game changer.
Here's how it works:
Users use the special Replay browser to record their browsing session on your app. It captures user interactions, code execution, network messages -- everything needed to play back later. Once the replay is uploaded, you get a link that lets you view the session.
In the Replay viewer, you can scrub through the session timeline to go back in time and see what happened at certain points -- but without all those pesky paradoxes where you become your own grandpa. You can also leave comments on the timeline to point out where specific problems occurred.
The DevTools tab is where the real 💫DeLorean magic💫 happens. You can click on any console message to travel back to to a specific point in the execution, including seeing the JavaScript call stack and the variable assignments.
You can also add debugger statements to the code, which change the past and add new console statements. This makes it way easier to find the problem and can fix your app.
If you need to see it to believe it, they've got a lot of example replays you can play with to learn how it works. And it's 100% free for individuals to use.
Bottom Line: Replay can't possibly be any harder to understand than the movie Tenet.
Evan You made a 13-minute Intro to Vite video, which--because of the French pronunciation of Vite (VEET)--does in fact sound kind of like Evan giving you an Intro to Feet. But that video of his was already taken off YouTube a long time ago.
Google says you need it, and it’s the perfect companion to PSI and Lighthouse – so wtf is Real User Monitoring (RUM)? This Raygun article gives a great overview of the 3 biggest benefits of RUM (not including how fast it gets you black-out drunk on your Caribbean vacay). [sponsored]
Unplugin-icons lets you access thousands of icons as on-demand components for every major framework. Icons might not be the most exciting thing in the world, but they're a lot more exciting than this concert that Kawhi Leonard was forced to sit through.
Seed is a Rust framework for creating web apps with an "Elm-like" structure. (Seed, Elm, get it?) Unrelated side note: Do you think we name things after trees to make ourselves feel better for never really going outside?
ChowJS is a new AOT JavaScript engine for game consoles that's heavily inspired by both QuickJS and Mr. Chow from The Hangover.
Paul wrote about how to use Gatsby Functions and the Stripe API to create the Pay What You Want feature on your site. Now he just needs to convince Chipotle to implement it on their online ordering site.
And on the eighth day, Mehdi created the entire universe in JavaScript. Let there be NaN
.
Kraken is a cross-platform web engine that's built on Flutter but uses a JavaScript compiler -- which means it's basically React Native for any JavaScript framework. The weird part is that the creators have refused to release v1.0 until we all simultaneously scream, "RELEASE THE KRAKEN" while dressed in full Pirates of the Caribbean cosplay. (I call being Barbossa.)
Delivered to 105,502 developers every Monday
Sdu
@sduduzo_g
This is the first ever newsletter that I open a music playlist for and maximize my browser window just to read it in peace. Kudos to @uidotdev for great weekly content.
Brandon Bayer
@flybayer
The Bytes newsletter is a work of art! It's the only dev newsletter I'm subscribed too. They somehow take semi boring stuff and infuse it with just the right amount of comedy to make you chuckle.
John Hawley
@JohnHawly
Bytes has been my favorite newsletter since its inception. It's my favorite thing I look forward to on Mondays. Goes great with a hot cup of coffee!
Garrett Green
@garrettgreen
I subscribe to A LOT of dev (especially JS/TS/Node) newsletters and Bytes by @uidotdev is always such a welcomed, enjoyable change of pace to most (funny, lighthearted, etc) but still comprehensive/useful.
Muhammad
@mhashim6_
Literally the only newsletter I’m waiting for every week.
Grayson Hicks
@graysonhicks
Bytes is the developer newsletter I most look forward to each week. Great balance of content and context! Thanks @uidotdev.
AMD_
@_amdaniel_
The sense of humor and structure of the Bytes Newsletter is first class and the information that comes with it is enough to make a mini course.
False
@nullish2
Very few newsletters manage to be useful and not very boring. @uidotdev manages to achieve these pretty effortlessly. You can almost see Tyler chuckle as he writes them.
Chris Finn
@thefinnomenon
Every JavaScript programmer should be subscribed to the newsletter from @uidotdev. Not only do they manage to succinctly cover the hot news in the JavaScript world for the week but it they manage to add a refreshing humor to it all.