
React를 둘러싼 묘한 분위기
프론트엔드 개발을 시작하면 거의 반강제로 만나게 되는 친구가 있어요. 바로 React인데요. 채용 공고를 봐도 React, 부트캠프 커리큘럼을 봐도 React, 회사에 들어가도 React. 그런데 최근 "jsx.lol"이라는 다소 도발적인 도메인에 올라온 글 하나가 개발자 커뮤니티를 들썩이게 만들었어요. 제목이 의미심장합니다. "Does Anybody Actually Like React?" 번역하면 "React, 진짜로 좋아하는 사람 있긴 해?" 정도 되겠네요.
사실 이 질문이 화두가 되는 이유는 따로 있어요. React가 2013년에 등장한 이후로 벌써 10년이 훌쩍 넘었거든요. 그 사이 프론트엔드 생태계는 엄청나게 변했고, Svelte, Solid, Vue, Qwik 같은 새로운 프레임워크들이 "우리가 더 빠르고 더 단순해요"라며 도전장을 내밀고 있어요. 그런데도 React는 여전히 점유율 1위인데, 정작 그걸 쓰는 개발자들 사이에서 "좋아서 쓴다기보단 어쩔 수 없이 쓴다"는 정서가 퍼지고 있다는 게 글의 핵심이에요.
왜 React가 불만의 대상이 됐을까
React의 초창기를 떠올려 보면 정말 혁명적이었어요. 이전에는 jQuery로 DOM(웹페이지의 구조를 코드로 다루는 것)을 직접 조작해야 했는데, React가 "상태(state)만 바뀌면 화면은 알아서 다시 그릴게"라는 선언적 패러다임을 가져왔거든요. 한마디로 "어떻게 그릴지"가 아니라 "무엇을 그릴지"만 코딩하면 되는 세상을 열어준 거죠.
그런데 문제는 그 이후예요. Class 컴포넌트에서 Hooks로 넘어오면서 useState, useEffect, useMemo, useCallback 같은 훅들이 우후죽순으로 늘어났어요. 특히 useEffect는 "의존성 배열에 뭘 넣어야 하지?" 하고 매번 고민하게 만드는 악명 높은 친구가 됐죠. 게다가 React가 "렌더링 최적화"를 개발자에게 맡겨버리니까, 메모이제이션(계산 결과를 저장해두고 재사용하는 기법)을 일일이 챙겨야 하는 피로감이 쌓이는 거예요.
여기에 React Server Components, Suspense, 그리고 Next.js의 App Router까지 등장하면서 "이게 같은 React 맞나?" 싶을 정도로 복잡도가 올라갔어요. 신입 개발자가 React를 배우려면 JSX, 컴포넌트, 훅, 상태관리 라이브러리, 라우터, 빌드 도구, 서버 컴포넌트까지 산더미 같은 개념을 한꺼번에 익혀야 하는 상황이 된 거죠.
대안들은 뭘 제시하고 있나
이 틈을 비집고 들어온 게 Svelte와 Solid예요. Svelte는 "컴파일 타임에 다 처리해서 런타임을 가볍게 만들자"는 철학이고, Solid는 "JSX는 그대로 쓰되 진짜 반응형으로 만들자"는 접근이에요. 둘 다 useMemo 같은 수동 최적화가 거의 필요 없어요. 코드를 쓰면 그게 곧 최적의 결과가 되는 거죠.
Vue는 또 다른 길을 갔어요. Composition API로 React의 훅 같은 유연성을 가져오면서도, 템플릿 문법으로 HTML 친화적인 분위기를 유지했죠. Qwik은 한 발 더 나가서 "자바스크립트를 아예 보내지 말자"는 Resumability(재개 가능성) 개념을 들고 나왔고요. 사용자가 버튼을 클릭하는 그 순간에만 필요한 코드를 가져오는 방식이에요.
흥미로운 건 이 대안들이 단순히 "React가 싫어서" 만들어진 게 아니라, React가 풀지 못한 근본적인 문제들을 다른 각도로 풀고 있다는 점이에요. 번들 크기, 초기 로딩 속도, 학습 곡선, 개발자 경험 같은 영역에서요.
그런데 왜 다들 여전히 React를 쓸까
현실은 또 달라요. 채용 시장에서 React 개발자 수요는 압도적이고, npm 생태계에서 React 관련 패키지는 셀 수 없이 많아요. 디자인 시스템부터 차트 라이브러리, 폼 관리 도구까지 React를 기준으로 만들어진 게 너무 많거든요. 회사 입장에서는 "기술적으로 더 좋은 것"보다 "채용하기 쉽고 유지보수 인력을 구하기 쉬운 것"이 더 중요하잖아요.
그래서 jsx.lol의 글이 던지는 진짜 질문은 이거예요. "우리는 React가 좋아서 쓰는 게 아니라, 빠져나갈 수 없어서 쓰는 거 아닌가?" 일종의 기술적 록인(lock-in) 상태에 빠져 있다는 자각인 거죠.
한국 개발자에게는 무슨 의미일까
한국 시장도 React 중심이 굳어진 지 오래예요. 토스, 당근, 카카오, 네이버 같은 빅테크는 물론이고 스타트업 대부분이 React 또는 Next.js를 쓰고 있어요. 그러니까 단기적으로 React를 안 쓰는 선택은 현실적이지 않아요.
하지만 이런 흐름은 알아둘 가치가 있어요. 첫째, React만 알면 된다는 사고방식은 위험하다는 거예요. 반응형 프로그래밍의 원리, 컴파일러가 어떻게 코드를 최적화하는지, 서버와 클라이언트가 어떻게 협력하는지 같은 본질적인 개념을 익히면, 어떤 프레임워크로 옮겨가도 금방 적응할 수 있어요. 둘째, 사이드 프로젝트나 신규 서비스라면 Svelte나 Solid를 한 번쯤 써보는 것도 추천해요. 작은 프로젝트를 다른 도구로 만들어보면 React의 장단점이 더 선명하게 보이거든요.
결국 "좋아하느냐 안 좋아하느냐"는 도구 자체의 문제가 아니라, 우리가 도구에 끌려다니지 않고 주체적으로 선택하고 있느냐의 문제 같아요.
마무리
React는 여전히 강력한 도구지만, "당연한 선택"이 되어버린 순간부터 개발자들의 피로감도 함께 쌓여왔어요. 대안들은 React가 풀지 못한 문제를 다른 방식으로 풀어가고 있고, 우리는 그 흐름을 무시할 수 없는 시점에 와 있어요.
여러분은 어떠세요? React를 쓰면서 가장 답답했던 순간은 언제였나요? 그리고 만약 새 프로젝트를 처음부터 시작한다면, 그래도 React를 고르실 건가요?
🔗 출처: Hacker News
TTJ 코딩클래스 정규반
월급 외 수입,
코딩으로 만들 수 있습니다
17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공