댄의 발표가 끝나기가 무섭게, 강연장 밖의 디지털 세상은 그야말로 폭발했다.
리액트 콘퍼런스는 실시간으로 스트리밍되고 있었고, 전 세계 수십만 명의 개발자들이 그의 발표를 숨죽이며 지켜보고 있었다.
‘React Hooks’
이 두 단어는 순식간에 트위터의 월드와이드 트렌딩 토픽 최상단으로 솟구쳐 올랐다. 개발자들의 타임라인은 온통 훅에 대한 이야기로 도배되었다.
“방금 리액트 콘프 봤어? 댄 아브라모프가 미친 걸 발표했어. 클래스가 사라질지도 몰라!”
“useFriendStatus 커스텀 훅 라이브 코딩은 소름이 돋을 정도였다. HOC와 렌더 프롭은 이제 공식적으로 사망 선고를 받은 거나 다름없다.”
“useState, useEffect… API가 너무 아름답다. 이게 어떻게 가능한 거지? 내부적으로 연결 리스트라도 쓰는 건가?”
해커뉴스(Hacker News)와 레딧(Reddit)의 리액트 관련 서브레딧에는 발표 영상 링크와 함께 수백, 수천 개의 댓글이 실시간으로 달리기 시작했다.
찬사만 있었던 것은 아니었다.
새로운 개념에 대한 날카로운 비판과 건강한 의심도 함께 터져 나왔다.
“‘호출 순서’에 의존한다고? 이건 너무 위험한 발상 아닌가? 개발자의 실수를 유발하기 딱 좋은 구조 같은데.”
“그래서, 리액트 팀이 이제 함수형 프로그래밍 순혈주의에 빠지기로 작정한 건가? 객체 지향이 뭐가 어때서?”
“이건 그냥 뷰(Vue)의 컴포지션 API(Composition API)를 따라 한 거잖아. 이름만 바꿨을 뿐이지.”
격렬한 기술적 토론이 벌어졌다.
어떤 이들은 훅의 내부 구현을 추측하는 코드를 작성해 공유했고, 또 어떤 이들은 훅이 가진 잠재적인 문제점들을 조목조목 분석하는 글을 올렸다. 훅의 철학적 배경을 놓고 벌이는 논쟁은 마치 종교 전쟁을 방불케 했다.
하지만 이 모든 논쟁의 기저에 깔린 공통적인 정서는 ‘충격’과 ‘흥분’이었다.
찬성하든, 반대하든, 그 누구도 훅이 리액트 생태계에 가져올 거대한 변화의 물결을 부정할 수는 없었다.
리액트 팀은 이 모든 반응을 실시간으로 모니터링하고 있었다. 그들은 이 폭발적인 관심이 당연한 결과라고 예상했다. 그들에게 중요한 것은, 이 초기 혼란 속에서 개발자들이 길을 잃지 않도록 명확한 메시지를 전달하는 것이었다.
특히, 가장 많이 반복되는 질문에 대해서는 즉각적인 대응이 필요했다.
수많은 개발자들이 불안에 떨며 묻고 있었다.
“내 코드베이스에 있는 수만 줄의 클래스 컴포넌트는 이제 어떡하죠? 전부 다 갈아엎어야 하나요?”
이 질문은 훅의 미래를 결정지을, 가장 중요한 첫 번째 관문이었다. 리액트 팀의 답변에 따라, 훅은 환영받는 혁신이 될 수도, 혹은 개발자들에게 버림받는 급진적인 변화가 될 수도 있었다. 팀은 서둘러 공식적인 입장을 정리하기 시작했다.


