모든 글

React 19가 퍼블리셔에게 의미하는 것 — 손메모의 시대가 저문다

React 19와 컴파일러 소식은 보통 "성능"으로 이야기된다. 하지만 이제 막 React를 배우는 퍼블리셔 입장에서 더 큰 의미는 따로 있다 — 외워야 할 규칙이 줄고, "왜"에 집중할 수 있게 됐다는 것.

React 19와 컴파일러 소식은 보통 “성능이 좋아진다”로 소개돼요.

맞는 말이지만, 이제 막 React를 배우는 퍼블리셔 입장에서 더 크게 와닿은 의미는 따로 있었어요.

외워야 할 게 줄어든다는 것.

React를 배우다 메모이제이션에서 한 번 데였어요. “느려질까 봐” useMemo·useCallback을 여기저기 붙였다가 코드만 장황해졌죠.

언제 감싸야 하는지 감을 잡는 것 자체가 벽이었고요.

React 컴파일러는 이 판단을 빌드 타임에 대신 해줘요.

코드를 분석해 필요한 곳에 메모이제이션을 자동으로 삽입해요.

퍼블리셔의 언어로 비유하면, 예전엔 vendor prefix를 손으로 붙였지만 지금은 Autoprefixer가 빌드할 때 자동으로 붙여주는 것과 같은 관계예요.

(그 컴파일러가 Rust로 다시 쓰였다는 소식은 전에 다뤘고요.)

초심자에겐 이게 성능 이상의 의미예요.

어디를 최적화할지 고민을 덜고, 무엇을 만들지에 집중할 수 있게 되니까요.

그런데 공짜는 아니에요.

컴파일러는 Rules of React를 지킨 코드만 안전하게 최적화하고, 어긴 코드는 조용히 건너뛰어요.

렌더링 중에 바깥 값을 함부로 바꾸지 않기, 훅은 최상위에서만 호출하기 같은 규칙이요.

그러니 “컴파일러가 다 해주니 아무렇게나 짜도 된다”가 아니에요.

오히려 규칙을 지키는 게 왜 중요한지가 더 분명해져요.

제가 오래된 클로저나 파생 상태 같은 기본기를 파는 이유가 이거예요.

컴파일러가 제 코드를 도와주게 하려면 결국 그 아래 원리를 알아야 하거든요.

반길 게 더 있어요.

ref를 prop처럼 그냥 넘길 수 있게 돼서 forwardRef로 감싸던 번거로움이 줄었고, use()와 서버 컴포넌트가 성숙하면서 데이터를 화면에 붙이는 방식이 더 선언적이 됐어요 — “상태가 이러면 화면은 이렇다”는 퍼블리셔에게 익숙한 사고와 잘 맞고요.

폼 액션(Server Actions)은 순수 HTML <form>이 서버로 값을 보내던 그 감각을 React에서 다시 자연스럽게 만들어줬어요.

전체 흐름이 재밌어요.

React가 점점 선언적이고, 규칙 기반이고, HTML의 원래 감각을 되찾는 쪽으로 가고 있거든요.

손으로 최적화를 지시하던 부분은 컴파일러가 흡수하고, 개발자는 무엇을 보여줄지에 집중하게.

화면을 선언적으로 다뤄온 퍼블리셔에겐 유리한 방향이에요.

React 19의 진짜 소식은 “빨라진다”보다 “외울 게 줄고 원리에 집중하게 된다”예요.

도구가 손메모를 흡수할수록 남는 건 판단과 원리 이해고, 그건 AI 시대에 중요해지는 능력과 같은 방향이고요.

N
NACRE
Writing on less · Seoul
다른 글 보기

댓글

  1. 불러오는 중…