Next.js 16과 Turbopack, 빌드 도구의 전환
Webpack의 한계에서 Turbopack까지, Next.js가 빌드 도구를 교체한 여정과 16.2에서 만나볼 수 있는 최신 기능들을 정리합니다.
개발에 대한 생각을 정리하고, 최신 기술을 학습하며 기록합니다.
AI가 코드를 짜기 시작하면서 '시니어'라는 말이 가리키는 내용이 조금씩 바뀌고 있다. 코드를 잘 짜는 사람에서 질문을 잘 다듬는 사람 쪽으로.
Next.js 15 코드를 짜달라고 공식 문서를 통째로 붙여줘도 모델은 13 패턴으로 회귀한다. 이건 단순 무지가 아니다. 학계가 Knowledge Conflict라고 이름 붙인 현상이고, RAG가 만능이 아닌 이유이기도 하다.
두 군데에서 비슷한 코드를 본 순간 추상화하고 싶어진다. 그 충동이 만든 부채를 세 번 부검한다. HOC hell, 모든 상태를 Redux로 넣던 시기, 그리고 지금도 진행 중인 커스텀 훅의 과도한 분해까지.
Tauri도 Wails도 Electron을 못 이긴 건 기술 문제가 아니다. 대안이 풀려는 문제는 개발자의 불만이고, 사용자는 그 문제를 가지고 있지 않다. 1Password, Slack, Linear가 증명하는 구조적 비대칭.
1996년 Netscape 엔지니어가 남긴 한 줄의 농담이 왜 2026년의 우리 프레임워크를 설명하는가. 캐시 무효화가 안 풀리는 건 기술이 부족해서가 아니다.
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가 데이터 처리 모델을 어떻게 바꿔왔는지 정리합니다.