SI 시장에서 vue를 압도적으로 사용하는 이유에 대해 SI라는 용어를 들어본 적 없는 축복받은 개발자들의 이해를 돕기 위해 시장 차이를 알려주겠다.
이는 내 경험이 상당량 섞여 있어 내 말이 100% 진리라고는 말 못하지만, 최대한 현실을 반영한 것이니 그런가보다 하고 넘어가도 무방하다.
먼저 react 를 선택하는 회사는 비즈니스 로직을 중시하는 회사다. 그말인 즉슨, 데이터의 기준이 비즈니스에 더 중점을 두고, 이를 데이터로 보관할 때, 보조 역할을 수행한다. 보통 도메인 중심으로 설계하여 관리한다는 뜻이 된다.
자바로 치면 이와 유사한 패턴인 JPA를 쓰는데, 자스로 치자면 그냥 ORM이다. 쿼리 짤 필요 없이 제공되는 API나 패턴을 통해 쿼리를 생성해주는 참으로 편리한 라이브러리지.
어쨌든, 리액트는 체계적으로 컴포넌트를 구성하는 것에 최적의 환경을 갖추었고, 자바스크립트의 정점으로 자바스크립트가 할 수 있는 최대한 모든 것을 활용할 수 있으며, 특히 타입스크립트 궁합이 매우 좋아 자바스크립트의 근본없는 타입이라고 놀림받을 이유가 없는 최적화 개발환경을 제공한다.
하지만 알다시피 입문자에게 배울 것은 많다. 먼저, JSX가 어떻게 돌아가는지, 상태관리에 대한 기본적인 지식을 깔고 들어가야 하다보니, 비록 어렵지만 익숙해지만 자바스크립트의 정점이란 이게 무엇인지 깨닫게 해주며, 자바스크립트로 비즈니스 구축하는 게 이런 것이다 라는 것을 알 수 있는 라이브러리라 하겠다.
만약 SI 시장이 이걸 쓴다면, 이건 좀 복불복이다. 어쩌면 SI 개발자에게 축복일 수도 있고, 어쩌면 스케줄에 쫓기는 저주받은 프로젝트일 수도 있다.
한줄요약: 패키지 및 솔루션, 서비스를 위시하여 비즈니스 중심으로 구축하는 회사에서는 react를 선호한다.
반면에 vue를 선택하는 회사는 데이터 로직을 더욱 중시하고, 비즈니스 로직을 후순위로 미는 회사라고 보면 된다.
데이터를 보관할때를 기준으로 비즈니스 설계를 하는, DB 중심 로직이라는 건데, 대한민국 기업의 절반 이상이 이에 해당한다고 보면 된다.
자바로 치자면 MyBatis 라고, ORM은 ORM인데 대신 쿼리를 자유롭게 짤 수 있는 라이브러리가 있다.
대신 단순한 CRUD라도 쿼리를 일일이 짜야 하는 단점이 있지만, 대부분의 시장에서 그건 중요하지 않다.
왜냐면 쿼리를 비즈니스 로직으로 삼기 때문이다. 그럼 백엔드는 미들웨어 역할로 격하되고, 물론 프론트엔드는 다를 건 없겠지만,
이런 패턴을 결정한 결정권자에게 가장 중요한 건 빠른 시일 내에 빠른 산출물이 나오길 바란다는 것이다.
따라서 쌩으로 웹 하던 개발자가 다가가기 쉽고, 자바스크립트를 보조 역할로 거부감을 최소화하며 마크업을 그대로 가져다 쓸 수 있는 vue를 채택하는 것이다.
물론 vue를 중점으로 쓰는 네이버가 위에 해당한다는 것은 아니다. 당연히 vue로 react 버금가게 체계적인 비즈니스별 컴포넌트 관리는 가능하다. 이는 Svelte도 당연히 가능하고.
하지만 이 vue를 선택하는 건 삼성같은 대기업, KT같은 통신사 등인데, 물론 직접 소속 개발자가 개발을 하지만, 가장 큰 이유이기도 하고 가장 압도적인 사용처가 바로 외주. 즉, 우리가 말하는 SI다. 하청이 개발할 때 많이 채택한다는 것.
한줄요약: 네이버같은 경우를 제외하면, 주로 데이터 중심으로 구축하는 회사에서 빠른 산출물을 기대하기 위해 vue를 선호한다.
이케아, IBM이 쓴다 한들 한국에서는 듣보잡 내지 토이 프로젝트 정도밖에 안되는 현실이 참담하다.
신규 프로젝트에 이걸 쓴다면 희망을 버려라 아쎄이!
끗.
마지막 jquery부분 인상 깊게 읽었습니다