<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Frontend on Commentary of Takao</title><link>https://takao.blog/en/tags/frontend/</link><description>Recent content in Frontend on Commentary of Takao</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Commentary of Takao</copyright><lastBuildDate>Sat, 13 Jun 2026 23:11:50 +0900</lastBuildDate><atom:link href="https://takao.blog/en/tags/frontend/index.xml" rel="self" type="application/rss+xml"/><item><title>Tailwind CSS v4.0 Release and Pure CSS Configuration</title><link>https://takao.blog/en/web/tailwind-css-v4-release-changes/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/tailwind-css-v4-release-changes/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Tailwind CSS v4.0 Release and Pure CSS Configuration" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Tailwind CSS v4.0 marks a paradigm shift from JavaScript-based configuration to a &lt;strong&gt;CSS-first architecture&lt;/strong&gt;. The &lt;code&gt;tailwind.config.js&lt;/code&gt; file is gone; design tokens are now defined directly in CSS using &lt;code&gt;@theme&lt;/code&gt;. This release also integrates &lt;strong&gt;Lightning CSS&lt;/strong&gt; for blazing-fast builds, adopts modern CSS features like CSS nesting and &lt;code&gt;@layer&lt;/code&gt;, and ships a completely rewritten engine. This article breaks down the key changes and provides a practical migration guide from v3.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="css-first-configuration-with-theme"&gt;CSS-First Configuration with &lt;code&gt;@theme&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;In v3, customizing design tokens required JavaScript:&lt;/p&gt;</description></item><item><title>Next.js 15 Stable Release: Best Practices in Production</title><link>https://takao.blog/en/web/nextjs-15-stable-features-overview/</link><pubDate>Sun, 05 Oct 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/nextjs-15-stable-features-overview/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Next.js 15 Stable Release: Best Practices in Production" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Next.js 15 ships as a stable release with &lt;strong&gt;React 19 support&lt;/strong&gt;, a redesigned caching model, and major API improvements for async request handling. This version defaults to &lt;strong&gt;no caching&lt;/strong&gt; for fetch requests and GET Route handlers, simplifying behavior predictability. It also introduces &lt;code&gt;async&lt;/code&gt; variants for &lt;code&gt;cookies()&lt;/code&gt;, &lt;code&gt;headers()&lt;/code&gt;, and &lt;code&gt;params()&lt;/code&gt;, aligning with React 19&amp;rsquo;s async rendering paradigm. This article covers every breaking change and best practice for production adoption.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="react-19-stable-compatibility"&gt;React 19 Stable Compatibility
&lt;/h2&gt;&lt;p&gt;Next.js 15 pairs with &lt;strong&gt;React 19 stable&lt;/strong&gt;, enabling the new &lt;strong&gt;React Compiler&lt;/strong&gt; to automatically memoize components and hooks. This eliminates the need for manual &lt;code&gt;useMemo&lt;/code&gt;, &lt;code&gt;useCallback&lt;/code&gt;, and &lt;code&gt;React.memo&lt;/code&gt; in many cases.&lt;/p&gt;</description></item><item><title>Demystifying Next.js App Router Caching Mechanisms</title><link>https://takao.blog/en/web/nextjs-app-router-caching/</link><pubDate>Thu, 10 Apr 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/nextjs-app-router-caching/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Demystifying Next.js App Router Caching Mechanisms" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Next.js App Router features a robust caching architecture designed to optimize loading speeds and reduce backend API overhead.&lt;/p&gt;
&lt;p&gt;However, because Next.js integrates multiple caching layers, developers often run into debugging issues. Common issues include pages displaying stale data or APIs firing too frequently.&lt;/p&gt;
&lt;p&gt;This article clears up the confusion by explaining the &lt;strong&gt;four caching mechanisms&lt;/strong&gt; in Next.js, along with techniques to configure, refresh, and invalidate them.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-the-four-caching-layers-of-nextjs-app-router"&gt;1. The Four Caching Layers of Next.js App Router
&lt;/h2&gt;&lt;p&gt;The Next.js App Router uses four separate caching layers:&lt;/p&gt;</description></item><item><title>Smooth Page Transitions with View Transitions API</title><link>https://takao.blog/en/web/css-view-transitions-single-page-api/</link><pubDate>Sat, 05 Apr 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/css-view-transitions-single-page-api/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Smooth Page Transitions with View Transitions API" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Providing dynamic page transitions is a key factor in elevating the overall user experience (UX) of modern web applications.&lt;/p&gt;
&lt;p&gt;Historically, to morph or fade elements smoothly between page navigations, developers had to import heavy JavaScript libraries like Framer Motion or GSAP. These libraries require deep hooks into rendering lifecycles to delay unmounting while animating old DOM nodes.&lt;/p&gt;
&lt;p&gt;The introduction of the W3C standard &lt;strong&gt;View Transitions API&lt;/strong&gt; simplifies this. It allows browsers to natively capture states and interpolate page layout updates with minimal CSS and JavaScript.&lt;/p&gt;</description></item><item><title>React 19 Official Release and Practical Features Guide</title><link>https://takao.blog/en/web/react-19-new-features-practical/</link><pubDate>Wed, 05 Mar 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/react-19-new-features-practical/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post React 19 Official Release and Practical Features Guide" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;React 19 represents a major paradigm shift for frontend development.&lt;/p&gt;
&lt;p&gt;Features that were previously restricted to meta-frameworks like Next.js—such as &lt;strong&gt;React Server Components (RSC)&lt;/strong&gt; and the &lt;strong&gt;Actions API&lt;/strong&gt; for form handling—are now officially integrated into the stable core React library.&lt;/p&gt;
&lt;p&gt;This guide highlights the most important features in React 19, offering practical code examples and upgrading tips to clean up your codebase.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-simplification-of-async-state-with-the-actions-api"&gt;1. Simplification of Async State with the Actions API
&lt;/h2&gt;&lt;p&gt;A standout feature in React 19 is the introduction of &lt;strong&gt;Actions&lt;/strong&gt;, designed to simplify managing asynchronous mutations, loader overlays, and form submissions.&lt;/p&gt;</description></item></channel></rss>