운명의 이름, '리액트(React)'

14

발행일: 2025년 04월 30일

타입어헤드 성능 비교 테스트의 결과는 마치 잔잔한 호수에 던져진 거대한 돌멩이처럼 페이스북 내부 웹 개발팀에 파문을 일으켰다. 압도적인 성능 개선 데이터 앞에서, 그동안 FaxJS를 향해 쏟아졌던 회의적인 시선들은 마침내 거두어지기 시작했다. 물론 하룻밤 사이에 모든 것이 바뀌진 않았지만, 분위기는 확실히 달라졌다.

"조던, 자네 그… FaxJS 말이야. 다음 스프린트 때 다른 작은 기능에도 한번 적용해 보는 건 어떤가?"

팀 리더 마크가 조심스럽게 제안해왔다. 냉소적이던 데이브조차 가끔씩 조던에게 다가와 가상 DOM의 구현 방식에 대해 기술적인 질문을 던지곤 했다. 성능 전문가 사라는 더 이상 의심의 눈초리가 아닌, 기술적인 호기심으로 FaxJS의 코드를 분석하기 시작했다.

FaxJS는 더 이상 조던 워크 혼자만의 비밀 프로젝트가 아니었다. 그것은 이제 페이스북 웹 개발의 '미래'가 될 수도 있는 가능성을 품은 존재로 인정받기 시작한 것이다.

"이제… 제대로 된 이름이 필요해."

조던은 자신의 창조물을 바라보며 생각했다. 'FaxJS'라는 코드 네임은 내부적인 실험 단계에서는 나쁘지 않았지만, 이 기술의 핵심 철학과 비전을 담기에는 부족했다. 마치 용맹한 기사에게 '땅꼬마'라는 별명을 계속 붙여둘 수는 없는 노릇이었다.

그는 자신이 만들고자 했던 것의 본질을 다시 한번 되짚어 보았다.

  • 상태(State): 모든 것은 상태에서 시작된다.
  • 변화(Change): 상태는 끊임없이 변한다.
  • 반응(Reaction): UI는 상태의 변화에 '반응'하여 업데이트된다.

'반응한다…'

그 단어가 조던의 머릿속에 강렬하게 울려 퍼졌다. 그의 라이브러리의 핵심은 바로 이것이었다. 개발자가 상태가 변할 때마다 UI를 어떻게 바꿔야 할지 일일이 명령하는 것이 아니라, 그저 상태가 변했다는 사실만 알려주면, 라이브러리가 알아서 그 변화에 '반응(React)'하여 최적의 방식으로 UI를 업데이트해주는 것.

UI = f(State)

이 단순한 등식 속에도 '반응'의 철학이 녹아 있었다. 상태(State)라는 원인이 주어지면, UI는 그 결과로서 필연적으로 '반응'하여 나타난다.

"그래… 이거다."

그의 입가에 미소가 번졌다. 너무나 명확하고, 너무나 직관적인 이름.

React.

그는 이 이름을 입안에서 여러 번 굴려보았다. 짧고, 기억하기 쉽고, 무엇보다 자신이 추구하는 기술의 핵심 철학을 정확하게 담고 있었다. 상태 변화에 '반응'하는 라이브러리.

// FaxJS는 이제 역사 속으로...
// import { createVirtualNode, diff, patch } from 'react'; // 가상 코드

function MyComponent(props) {
  const [count, setCount] = useState(0); // 상태 관리 (useState 훅 상상)

  // 상태 변화에 '반응'하여 UI가 업데이트된다!
  return <button onClick={() => setCount(count + 1)}>Clicked {count} times</button>;
}

마치 오랫동안 찾아 헤매던 마지막 퍼즐 조각을 맞춘 듯한 기분이었다. '리액트(React)'라는 이름은 단순한 명칭 부여를 넘어, 이 라이브러리가 나아가야 할 방향과 정체성을 확립하는 중요한 이정표였다.

그는 즉시 내부 문서와 코드 저장소의 'FaxJS'라는 이름을 'React'로 변경하기 시작했다. 이 소식은 금세 팀 내에 퍼져나갔다.

"리액트? 이름 괜찮은데?"
"상태 변화에 반응한다… 오, 철학이 담겨 있군."

새로운 이름은 동료들에게도 자연스럽게 받아들여졌다. '팩스JS'라는 낡고 어색한 이름 대신, '리액트'는 뭔가 더 현대적이고 강력한 느낌을 주었다.

이제 리액트는 단순한 코드 덩어리가 아니었다. 그것은 명확한 철학과 이름을 가진, 살아 숨 쉬는 프로젝트가 되었다. 조던 워크는 더 이상 외로운 개발자가 아니었다. 그의 비전에 공감하고 함께 할 동료들이 하나둘씩 생겨나기 시작했다.

하지만 조던의 야망은 여기서 멈추지 않았다. 그는 리액트가 단지 페이스북 내부의 문제를 해결하는 도구에 머물기를 원치 않았다. 그는 이 혁신적인 아이디어가 더 넓은 세상, 전 세계의 웹 개발자들에게 영감을 주고 도움을 줄 수 있다고 믿었다.

'이걸… 세상에 공개하면 어떨까?'

그의 마음속에 또 다른, 더욱 대담한 생각이 싹트기 시작했다. 오픈 소스. 페이스북의 최신 기술을 세상에 공개한다는 것. 그것은 또 다른 차원의 도전이자, 어쩌면 리액트의 운명을 결정지을 거대한 도박이 될 터였다.