react 대체제 나오는 동안 react는 뭐하고 있냐?

Composite·2023년 5월 29일
1

먼저, 이게 뭔소린지 궁금한 야들을 위해 일단 아래 라이브러리 목록을 싸지르고 보도록 하겠다.

좋아, 리액트 하는 개발자들, 혹시 위 라이브러리 중 하나라도 들어본 적이라도, 더 나아가 이걸로 토이 프로젝트라도 짜본 적 있는가? 일단, 나는 SolidJS로 중단됐지만 실무에 쓰려고 해본 적은 있다.

Official results for js web frameworks benchmark

앵간한 프론트엔드 프레임워크 벤치마크 가다가 보면 알게 될 것이다.

그들이 나서는 건 바로 react 보다 더 빠르고, 더 반응형에 어울린다는 주장이다.
오늘은 이 얘기를 다루고, 그리고 react 개발자들이 가져야 할 짜세를 알려주도록 하겠다.

그래서?

먼저, 내가 소개한 위 5개 사이트들을 둘러보기 바란다,
내가 이들을 특징잡은 이유가 바로, 다들 눈치 빠를 테니 바로 알려주도록 하겠다.

바로, React-like 라이브러리다. JSX 기반으로.

그렇다면, 이들이 내세우는 것들이 무엇인가?
뭐 장황하게 설명했지만 결론은 하나다.

바로 React 보다 성능이 좋고, 더 반응속도가 빠르다는 것이다.

그래서 나를 비롯한 react에서 뭔가 새로운 것을 접해보거나 react가 뭔가 마음에 안드는 구석이 발견되어 삐뚤어지고 싶은 개발자들은 이들 주장에 혹할 것이다.

그렇다고 그게 허상, 즉 구라라는 섣부른 결론을 기대했다면, 넌 프론트엔드 좀 더 배워야 할 것이다.

구라는 아니거든, 벤치마크 사이트 다시한번 둘러보고 오길 바란다.

하지만 여기서 문제가 발생한다.
Vue나 Svelte 하는 프론트엔드들에겐 와닿지 않을 테니 그냥 그렇구나 하고 진행하도록 하고, react 하는 너희들을 위한 얘기다.

Next.js

React 자체는 확실히 위 JSX 기반의 라이브러리에 비해 비대하고, 와닿지 않지 않는 반응형 패러다임 구석은 하나씩 느낄 것이다. 하지만, Next.js 는 이런 의심을 말끔히 씻겨주기에 충분한 프레임워크다.
첫번째, SSR 기반 프레임워크에서는 현재 이녀석이 1인자다. 왠만한 대기업들 프론트엔드 한다면 거의 다 이거다.
점유율이 높기에 react를 빠져나가기 쉽지 않은 건 맞다.
하지만 이런 수요를 빠져나가 새로운 공급을 창출하는 미친 짓을 할 프론트엔드 개발자는 연구원 말고는 없을 것이다.
두번째는... 굳이?

그래도 React 가 다 씹어먹을 수 있지 않나?

안타깝게도, 그럴 일은 없다.
왜인지 단도직입적으로 말해주겠다.

React 입장에선 그럴 필요성이 없기 때문이다.
하지만 그렇다고 리액트에 우월감 느낀다면 당장 버려라.
애초에 React 의 경쟁 라이브러리는 없다.
Vue, Angular, Svelte? 이들은 대상이 아니다.
뭐? 이들이 구려서? 이들이 React에 비해 명함 내밀 수 없어서?

절대 아니다.
애초에 방향, 패러다임 등 모든 게 범주에서 벗어나기 때문이다.
프론트엔드에서 뭐의 경쟁 이런 건 거의 없다시피 한다.
왜냐면, 애초에 생태계부터 다르기 때문이다.
그렇게 따지면, 프로그래밍 언어부터 경쟁 상대를 정해 VS놀이를 해야 한다. 예를 들면, 자바와 닷넷 중 누가 우월하냐 말이지.

네가 생각해도 존나 유치하지? 그래서 경쟁이 없다는 것이다.

하지만 React는 개선할 여지 있지 않냐?

물론 있다. 하지만, React 가 가는 방향을 보면,
Next.js 주로 하는 개발자라면 이미 알고 있을 테다.

React는 애초에 느리다. 이건 팀도, 개발자도 알고 있다.
이젠 기대하기도 어렵다.
하지만 풀스택에서는 Next.js 에서 강자로 떠오르고 있다.

그렇다면 뭐다? 서버단에 눈을 뜨고 있다.

리액트 공식 문서에서 새 리액트 프로젝트를 생성하는 방법을 보면, 황당하게도 Next.js 가 가장 상위에 떠 있다.

React Labs: What We've Been Working On – March 2023

리액트의 서버 컴포넌트 RFC는 Next.js 에 이미 구현되어 있다고 React 공식에서 설명한다.
그렇다. React의 대표 풀스택 프레임워크인 Next.js 에서 React 서버단 컴포넌트의 가능성을 지속적으로 보여주고 있다.
그리고 React는 서버까지 모두 포용하여 더 나은 프론트엔드, 나아가 풀스택 생태계를 노리고 있는 것이다.

현재 프론트엔드 기반 라이브러리에서 안정적으로 풀스택을 제공하고 있는 프레임워크들은 아래와 같다.

  • Next.js (Vercel, React)
  • Remix (-)
  • Nuxt.js (-) (국내: NHN 이었었었)
  • SvelteKit (음... 애플을 쓰기엔 베타 뿐이고 결국 종특에 맞는 Ember 벗어날 생각 없어서 못 적겠다...)
  • Marko (ebay)
  • Astro (내가 왜 이걸 빼먹었지 시발 내가 이거 존나 밀고 있는데)

나머진 베타, 알파 등이니 stable 기준으로만 올린다.

그리고, 이 중 Next.js 가 가장 점유율이 높다.
따라서 React 개발자들은 쓸데없이 JSX 기반 라이브러리 성능에 혹하지 말고 서버단 컴포넌트에 집중하여 React의 서버단 기능을 통해 미래의 웹 어플리케이션의 업무 구현에 큰 힘이 되어야 할 시기인 것이다.

깔깔깔.

끗.

profile
지옥에서 온 개발자

1개의 댓글

comment-user-thumbnail
2023년 6월 12일

마지막 문장이 매우 공감됩니다. 서버 컴포넌트에 집중하라..!

답글 달기