티스토리 뷰

자바스크립트의 에코 시스템이 최근 몇 년 사이에 너무나도 빠른 속도로 바뀌어가면서 혼란스러운 상황에서 이 문제를 해결하려 시도한 사람들이 있었습니다. 바로 StateOfJS 사이트를 만든 Raphaël Benitte, Sacha Greif, Michael Rambeau 세 명의 자바스크립트 개발자인데요.

그들의 말을 빌려 표현하자면 자바스크립트의 현 상황은 다음과 같습니다.


몇 년전까지만 해도 자바스크립트 조사는 단순한 문제였다.

질문1: jQuery를 사용하시나요? 질문2: 다른 코멘트가 있나요? 끝!

그러나 우리 모두가 알듯이 자바스크립트 에코시스템이 계속해서 커지면서 많은 경험을 한 개발자들조차 가능한 다양한 옵션을 두고 주저할 수 있는 상황이 되었다.

이 점이 바로 StateOfJS 프로젝트가 만들어진 이유다. 전 세계 20,000명이 넘는 개발자에게 100가지 질문을 하였고, 주제는 프론트엔드 라이브러리부터 시작해서 백엔드 프레임워크까지 다루고 있다.


프로젝트 책임자는 이 서베이로 인해 가장 완벽한 자바스크립트의 현 상황을 볼 수 있을 것이라고 말합니다.

사이트를 확인해보니 2018년도 트렌트는 아직 나오지 않아서 내친김에 2017년도의 Javascript 현황을 요약해보았습니다. (그런데 이걸 왜 2018년의 끝자락에 쓰고 있는 걸까요)


연결성

얼마나 많은 React 사용자는 Redux를 사용하고 있을까?

GraphQL 팬들은 Webpack을 선호하는가?

Express 개발자는 Ember도 쓰는가?

먼저 리서치 결과는 다양한 자바스크립트 에코시스템간의 연결성을 보여주고 있는데, 각 라이브러리를 사용했고 다시 사용할 의지가있는 응답자 수를 나타내고 있어서 연관성이 개발스택과 직접적 연관을 가지는 것은 아니지만 서로간 관계를 시각화 한 게 흥미롭긴합니다.


언어

자바스크립트에는 같은 타겟으로 컴파일 되는 다양한 언어들이 존재합니다.

개발자들은 어떤 언어를 사용하고 있는지 보면 ES6가 확립된 표준이기도 하고 독보적인데, 언젠가 TypeScript의 상승으로 인해 도전을 받을 수도 있지 않을까? 하는 가능성도 이야기 합니다.

ES 6 > Plain JS (ES 5) > TypeScript > Flow


프론트엔드

React가 여전히 지배적인 위치를 차지하고 있지만 Vue가 앵귤러의 사라지고 있는 인기를 얻고 있는 중이라고 합니다. 그리고 2018년에는 이 차트가 많이 달라질 것으로 예상되고 있습니다.

React > No Framework > Angular1 > Vue.JS > Angular2


상태 관리

상태관리 카테고리는 클라이언트와 서버에서 데이터 관리를 위해 사용되는 모든 솔루션을 그루핑한 것으로 사용자 수는 다음과 같습니다.

REST API > Redux > Firebase > GraphQL


백엔드

백엔드는 다른 카테고리에 비해 Express가 독보적이며 막강한 경쟁자가 없는 상황입니다. Meteor가 많이 알려지고 있는 상황이지만 실제활용도는 낮았습니다.

Express > Koa > Meteor


테스팅

다른 카테고리처럼 테스팅쪽도 빠른 릴리즈 사이클과 함께 경쟁이 치열합니다. 아직 정착상태는 아니지만 Jest와 Enzyme가 높은 만족도를 차지하고 있다고 합니다.

Mocha > Jasmine > Jest > Enzyme


CSS

스타일된 컴포넌트같이 (특히나 React 에코시스템에서) CSS-in-JS 접근법이 많이 만들어졌습니다.

하지만 아직 개발자들은 SASS/SCSS나 플레인 CSS를 선호하는 경향을 보입니다.

SASS/SCSS > Plain CSS > Bootstrap > LESS


빌드 도구

NPM을 제외하곤 Webpack이 여전히 강세입니다. (작년에 실제 사용자는 Gulp가 많았음에도 관심도는 Webpack이 월등히 높았네요) no-config Webpack wrapper (Create-React,App, Next.js) 가 떠오르면서 자연스럽게 많이 사용하게 된 것인데 더 나은 라이브러리가 나오면 쉽게 대체될 수 있는 양날의 검이라고 표현하네요.

NPM > Webpack > Gulp > Browserify


모바일

PhoneGap/Cordova가 높은 점수를 받았지만 만족도는 낮은데 좋은 신호는 아닙니다. 네이티브 앱이 어떻게 해서든 가장 안정적인 솔루션으로 남긴하겠지만 React Native가 곧 현재의 질서를 뒤엎을 수도 있다고 합니다.

네이티브앱 > Electron > React Native > PhoneGap/Cordova > Ionic


기타 도구

카테고리에 정확히 맞지 않는 도구들로 다음과 같은 도구들도 있었습니다.

패키지 매니저

yarn > npm > bower

유틸리티 라이브러리

lodash > jQuery > Ramda > underscore

텍스트 에디터

VS Code > Atom > Sublime Text > WebStorm > Vim

코드 린터

eslint > Prettier > JSHint > 모름 > StandardJS > tslint


결론

사실 각 라이브러리와 도구들은 플러그인, 패키지, 애드온 등 더 작은 범주로 깊게 파고들 수도 있기때문에 사실 이 결과로만 만족하기는 이릅니다. 작년 결론과 마찬가지로 자바스크립트는 계속해서 진화하고 있고, 무서울 정도로 빠르기도 하지만 지루할 틈이 없다는 장점(?)이 있다며 저자들은 결론을 짓고 있습니다.

아직 2018년 리서치 결과가 나오지 않은 걸 보니 한 해가 끝날때쯤 또는 끝나고 나서 결과가 나오나 봅니다. 2018년도 자바스크립트 트렌트가 궁금하다면 구독을 하는 것도 나쁘지 않겠네요.

StateOfJS 구독하기


Reference

https://2017.stateofjs.com/

댓글