Next.js 16과 Turbopack, 빌드 도구의 전환
Webpack의 한계에서 Turbopack까지, Next.js가 빌드 도구를 교체한 여정과 16.2에서 만나볼 수 있는 최신 기능들을 정리합니다.
개발에 대한 생각을 정리하고, 최신 기술을 학습하며 기록합니다.
SPA 라우터가 하는 일은 대부분 브라우저가 안 해주는 일을 대신하는 것이다. pushState 위에 클릭 가로채기, 스크롤 복원, 포커스 관리를 직접 구현해온 16년. Navigation API가 Baseline이 되면서 이 일들이 브라우저로 넘어가기 시작했다.
컴포넌트를 고쳐 쓰면 보통 규칙 위반이라고 막는다. 근데 그건 쓰는 사람이 코드로 적어놓은 요구사항이다. 막으면 항의가 오는 게 아니라 팀 폴더에 새 컴포넌트가 하나 생긴다.
styled-components의 등장부터 유지보수 모드 선언까지. 한 시대를 만든 스타일링 방식이 어떻게 떴고 왜 밀려났는지, 그 아이디어 중 무엇이 살아남았는지 정리했다.
TypeScript 컴파일러는 Go로, Vite의 번들러는 Rust로 다시 쓰였다. 셀프호스팅이라는 오랜 이상이 왜 무너졌는지, 그 대가로 생태계가 무엇을 치르고 있는지 정리했다.
React 16이 스택 재조정기를 버리고 Fiber를 도입했을 때 당장 체감되는 건 거의 없었다. 진짜 효과는 5년 뒤 React 18에서야 드러났고, 그 사이 우리가 짜는 컴포넌트에는 지켜야 할 규칙이 하나 생겼다.
Webpack의 한계에서 Turbopack까지, Next.js가 빌드 도구를 교체한 여정과 16.2에서 만나볼 수 있는 최신 기능들을 정리합니다.
API 라우트 + useEffect의 번거로움에서 'use server'의 단순함까지, Next.js가 폼과 데이터 변경을 다루는 방식을 어떻게 바꿨는지 정리합니다.
SSR, SSG, ISR, 그리고 Partial Prerendering까지, 각 렌더링 전략이 왜 등장했고 어떤 문제를 해결하는지, 그리고 Next.js 16의 Cache Components 모델로 어떻게 통합되는지 정리합니다.
getServerSideProps와 getStaticProps에서 fetch 확장, 그리고 Cache Components까지, Next.js가 데이터 처리 모델을 어떻게 바꿔왔는지 정리합니다.