리액트가 필수 교양이 되는 세계관이 있을까?

이전에 리액트와 관련된 찬양(?), 개발자의 영감을 주는 리액트에 대한 내용을 공유했었습니다.

그리고, 저는 리액트 강의를 찍고 있습니다.

요즘에 리액트 강의는 사실 너무나도 많고 좋은 강의도 많기 때문에 제 강의가 뛰어나다고 이야기드리긴 어렵지만, 그럼에도 찍는 이유는 저는 모든 개발자를 위한 리액트 강의에는 미래가 있다고 믿는 편이기 때문입니다. 이게 무슨 뜻이냐면, 리액트가 필수 교양이 되는 세계관을 꿈꾼다 입니다.

먼저 홍보를 잠깐 하고 본론으로 들어가자면,

이번에 제 강의의 얼리버드 쿠폰이 4/29일 자정까지 부활한다고 합니다!
얼리버드 기간은 가장 저렴하게 강의를 구매할 수 있는 기간을 의미하는데요.
현재 반짝 기간동안 얼리버드 특가가 적용되는 쿠폰을 판매 페이지에서 바로 다운받아서 쓰실 수 있다고 합니다.

-> [일단 쿠폰 받으러 가기]

잘 부탁드립니다 :)

리액트가 필수 교양이 되지 않을까?

저는 리액트라는 라이브러리를 많이 올려치기 하는 편입니다. 어느 정도냐면, 주변에 개발자들이 뭔가 배우고 싶은데 뭘 배울지 모르겠다고 하면 AI가 아닌 리액트를 추천하곤 합니다. 가장 큰 이유는 Hook 입니다. 정확하겐 Hook의 메커니즘이 개발자에게 영감을 불어넣기 때문인데요. 아직 함수형 프로그래밍 개념이 발전되지 않은 분야에 계신분이라면, 함수형 프로그래밍을 찍먹 해볼 수도 있고, 사이드이펙트 관리라던가 클로저 같은 고급 개념을 가장 가까이서 배워볼 수 있기 때문이기도 합니다.

여전히 웹 쪽에서는 다양한 프레임워크들이 활용되고 있고, 그 관점에서 리액트가 필수 교양까진 아니라고 생각하는 분들도 있겠지만, 리액트가 라이브러리라는 속성을 가졌기 때문에 이미 웹도 리액트가 준 영향안에서 발전되고 있다고 생각하는 편입니다. 실제로, 새로운 프레임워크들도 적극적으로 jsx/tsx를 사용한다던가, 리액트 위에 프레임워크를 올린다던가(예를 들면 Next.js) 하는 식으로 생태계 확장이 계속 되고 있죠. 그래서 사실상 웹개발을 하는 분들 중에 React를 모르는 분은 없다고 봐도 무방합니다. 오히려 React는 기본적으로 알고 있고, 상위 레벨의 프레임워크나 좀 더 발전된 형태의 도구를 사용하고 있는 상황이죠.

게임 쪽에서도 비슷한 흐름이 있었습니다. 10년전만 해도, 게임을 개발하려면 C++/WinAPI/XNA등을 배운다던가, 스스로 DirectX를 배워서 엔진을 만든다던가 해야했는데, 지금은 유니티/언리얼 엔진이 필수 교양이 되었습니다. 그래서 최근의 게임 개발자 중에 유니티/언리얼 엔진을 모르는 사람은 사실상 없습니다.

아마도 웹은 앞으로도 더 발전하고, 더 좋은 라이브러리나 프레임워크가 나올지도 모릅니다. (어쩌면 지금도 만들어지고 있을 수도 있죠) 그리고, 리액트의 시대가 저물수도 있습니다. 그러나 그런 시대가 오더라도, 이전에 웹 개발자들이 JavaScript/HTML/CSS등을 기본으로 배우고, 프레임워크 하나 정도 배워야 했다면, 지금은 어쩌면 앞으로도 JavaScript/React를 기본으로 배워야 한다는 점이 아닐까 싶습니다.

대부분의 개발분야는 서로 영향을 줍니다.

갑자기 붐! 하고 나오는 라이브러리들이나 프레임워크는 다른 개발분야에도 영향을 많이 줍니다. C#에서 시작된 Reactive Programming이라던가, 마틴 파울러가 최소로 변형한 MVVM이라던가 시대가 무르익고, 언어의 스펙이 맞춰지기 시작하면서 갑자기 사용되곤 합니다. 그리고 그 영향은 많은 프레임워크와 라이브러리에 걸쳐서 연쇄적으로 발전하게 됩니다.

확실한건 리액트는 한시대를 그었기 때문에 많은 개발자들에게 영감을 주었을 것이고, 최근에 다른 개발분야의 라이브러리나 프레임워크들도 여기서 영감을 받는 케이스가 생겨나고 있습니다. 이미 상태관리쪽은 Redux나 MobX를 차용해서 만든 것들이 웹이 아니더라도 생겨나고 있고, 언어 스펙에서 함수형 프로그래밍 관련 지원들도 점차 늘어나고 있죠. 동시에 WPF에 XAML이라던가, Unity에 XUML등 확장형 컴포넌트 선언 언어들도 생겨나거나 발전하고 있습니다.

물론 아직 다른 분야에서는 함수형 컴포넌트를 쓴다던가 Hook이라는 개념을 쓰는건 거의 못봤던 것같습니다. (유일하게 본게 Lua로 되어있는 Roblox에서 나왔던 Roact가 되겠네요.)

아마도, 이는 언어의 스펙 문제와 더불어 함수형 프로그래밍에 대한 지원여부에 따라 다르겠지만, 지금 현재도 지속적으로 언어들이 발전하고 있는 만큼 다른 분야에서도 리액트Like 라이브러리를 쓰게 될 날이 곧 오지 않을까요?

그러면, 리액트가 필수 교양이 되는 세계관이 꿈만은 아니게 되지 않을까 싶습니다.

감사합니다.