🍿 Partial Pre-rendering Deep Dive


Hey friend,

A few weeks ago I hosted a workshop on Next.js and the workshop was a hit. Towards the end of the workshop, this is all I could hear,

" loved this "

" learned so much "

" increase the price "

" create one more "

" create a community so we can be your cheerleaders "

πŸ₯ΉπŸ₯ΉπŸ₯Ή

I also loved connecting with so many of you and teaching live. After a lot of us went remote, it felt like I'm creating content in the void but this workshop makes it very real.

More importantly, I had fun and you had fun.

Waitlist for Upcoming Next.js Course πŸ”₯

I'm working on a self-paced Next.js course 🀫.

Now, If you sign up to the workshop, you get access to the course for free which is what I'd recommend 🎁.

I'll be selling the course in Early access which means you'll get access to the course modules as they become available and you will get hefty discounts until it's fully created.

I'd highly recommend you to sign up to the waitlist if you want to level up your Next.js skills.

>>>> Click here β†— to add yourself to the waitlist.


🍿 Our Weekly Snack: Partial Pre-rendering

Up until now, we knew about Static and Dynamic Rendering. Just a quick refresher,

Static Rendering means your page is fully static for example, a blog.

Dynamic Rendering means you have dynamic parts to your page i.e. interactivity, for example, users can upvote your blog post, add comments etc.

So What is Partial Pre-rendering? (PPR)

PPR is a method of getting the best of both worlds - Static as well as Dynamic rendering. In static, we want to download all the blogging data in advance since all our content is static i.e. doesn't change.

In Dynamic, let's say that same site has ability to upvote the blog post as well as add comments which makes it dynamic.

However, majority of the apps require a mix of the two just like the blogging app we discussed.

⚠️ Most routes are not fully static or dynamic.

That's where PPR comes in play.

In PPR, the static parts of the page are cached already so will come from the CDN known as the shell leading to a faster page load.

Then, the dynamic parts will asynchronously get downloaded once the server is ready with the data.

🚨 Please note that PPR is truly an experimental technology that is not yet recommended for production use.

How does that work?

Well, PPR uses React suspense ↗️ to defer rendering dynamic parts of the app.

The shell leaves holes for dynamic content where we can add a Loading Suspense Boundary so user sees a skeleton loading state.

πŸ€” What is a Suspense Boundary? <Suspense> lets you display a fallback until its children have finished loading.

The async parts are streamed in parallel.

How to enable PPR?

🀫 Latest Frontend News

Bundlephobia helps you find the performance impact of npm packages, check it out here β†—.

​ShadCN UI Library now has Charts πŸ“ˆ - you can copy paste blocks of code directly in your apps. This is huge!

What!! A framework-agnostic tool that converts any layout into a drag-to-swap one with just a few lines of code? Here is the landing page ↗​

Want Type safe Server Actions in your Next.js (App Router) project? next-safe-action β†— handles your Next.js app mutations type safety, input validation, server errors and even more!

Is it time for Next.ts? There is now support for next.config.ts file in Next.js 15 RC. This file earlier was next.config.mjs. Check the tweet visual here ↗​

​

πŸ’– Weekly Youtube Videos

Check it out and subscribe to my channel ↗️ for more Frontend, Leadership and Career Development content.

Build and Deploy a Full Stack AI Todoist Clone: Next.js, Convex & TypeScript

video preview​

How does React Compiler ACTUALLY work?

​

video preview​

What do you think of today's Newsletter? Simply click on one of the links below.

​πŸ”₯ 😐 πŸ‘Žβ€‹

Ankita Kulkarni

Join 6000+ subscribers reading by weekly personalized Newsletter that helps developers level up their skills through weekly Frontend and Leadership Snacks. You get a deep dive into a Tech topic, Actionable tips to excel in your career and a toolbox!

Read more from Ankita Kulkarni

Hey friend, I'm excited to announce the launch of my new AI SaaS project - SpeakEasy AI ↗️. It allows you to convert your video into a blog post. You can upload any video you like, and it will turn into a beautiful, SEO-friendly blog post. If you have been holding off from shipping a SaaS app, now is your chance! Here is the entire course, πŸš€ Important News To better focus on the upcoming Next.js Course launch πŸš€, Frontend Snacks (this newsletter) will transition into a monthly newsletter. It...

Open AI Whisper with UploadThing

Hey friend, I have been heads down creating a free AI SaaS tutorial which is going to be massive on my channel. This will teach you how to ship a AI SaaS. I can't wait to share more. Based on popular demand, I'm running the Next.js Workshop ↗️ for the final time. I won't be running this workshop again. It is a Live 1-day Next.js Workshop that teaches you the best practices to design, build and deploy full-stack production-ready apps. ⏰ When: September 3rd, 9am to 3pm ESTπŸ“ Where: Zoom 🎁 For a...

Hey friend, I gave a talk at React Rally ↗️ on React Framework Showdown and compared Next.js, Remix and Astro. I didn't hold back and gave some hot takes 🌢️. It can be nerve-wracking to give your opinions when you have so many folks in the audience actively working on the frameworks. The talk went really well. I'll let you know once the recording is out. But today's newsletter will focus on parts of the talk. -> I forgot to hit this newsletter's schedule button while travelling, so that's my...