2018년 배워야 할 라이브러리와 기술.

James Dean
A little code never killed nobody
6 min readMay 25, 2018

원본 : Top JavaScript Libraries & Tech to Learn in 2018

저자: Eric Elliott

작년 나는 2017년에 배워야 할 탑 기술 10가지에 대한 글을 썼었다. 그리고 올해, 놀랄 만한 사실들이 몇 가지 있다.

소프트웨어가 전 세계를 집어삼켰던 것을 기억하는가, 그리고 그 소프트웨어를 웹이 집어삼켰으며 그리고 자바스크립트가 그 웹을 집어삼켰다.
그리고 올해 2018년, React가 자바스크립트를 집어삼키고 있다.

2018는 React의 해다.

리액트는 2017년 선호도 싸움에서 승리를 거두었다.

구글 트렌드에서 보여주듯이 아직 많은 개발자들이 Angular 코드를 기반으로 일을 하지만
React는 계속해서 고객 만족도에서 승리해왔고, 만족도에서 만큼은 Angular와 다른 프레임워크들을 크게 앞 돌고 있다.

Vue.js는 어떤가요? 요즘 인기 있다고 들었는데.

많은사람들이 Vue.js에 대해 좋게 말해 주고 있지만 나는 Vue.js에 대해 아래와 같이 시사한 바 있다.

Vue.js는 Github에서 많은 별점을 받고 다운로드 또한 많이 되었다.
이대로만 흘러간다면 Vue.js는 성공적으로 2017년을 장식할 수 있겠지만
내년이나 혹은 향후 몇년 안에 React나 Angular의 자리를 뺏을 수 있을 만큼 성공할 순 없을 것이다. 그러니 개인적으론 React나 Angular를 우선 배우고 Vue.js를 배우기를 권한다.

Vue.js는 실제로 2017년에 큰 성공을 거두었다, 많은 주목을 받고 많은 사람들의 이목을 끌었다.
하지만 역시 예상했던 바와 같이 React나 Angular의 자리를 뺏는 데는 역부족이었다. 그리고 나는 Vue.js가 2018년에도 React의 자리는 뺏지 못할 것이라 확신한다. 하지만 잘만한다면 Angular의 자리는 대체할 수도 있을 것으로도 보인다.

Vue.js는 React보다 더 빨리 성장하고 있음에도 불구하고 왜 2017년의 React vs Angular 대결구도와 별반 다르지 않은가?

2016년 막바지 때에 자바스크립트는 새로운 프레임워크를 받아 들일 준비가 되어있었다. Angular의 사용자 만족도는 바닥을 치고 있었고 React 이용 만족도는 고공행진 중이였기에 많은 사람들이 React를 배우기 원했고, Angular를 배우고자 하는 사람은 적었다.
2017년 막바지 Angular2가 나왔지만 사용자 만족도가 절반도 못 미치는 49%에 그쳤다.

허나 React와 Vue를 대결구도로 본다면 이야기는 달라진다.
React가 Vue를 93%대 90%로 이용자 만족도에서 앞서고 있다.
그리고 2017년 초기 저작권 문제가 개발자들이 React에서 다른 언어로 옮기는 주요 이유였지만 페이스북은 이에 대한 의견을 수렴하고 저작권을 바꾸어 놓았다.

이 시점에서 주 트랜드가 React에서 다른언어로 옮겨 가는 명백한 증거는 보이진 않는다.
Vue.js는 jQury나 Angular에서 이용자들 뺏어 올 때보다 React에서 이용자를 뺏어오는 편이 더 힘들 것이다.

빠른속도로 jQuery, Angular 이용자들을 Vue.js쪽으로 데려 올 가능성은 높지만 계속적인 성장을 위해 React의 이용자들을 데려 오려 할 때 Vue.js는분명 장벽에 부딪힐 것이다.

나는 Vue.js가 추후 몇년 동안은 계속해서 성장할 것이다고 전망한다.
허나 무언가 특별한 일이 일어나지 않는 이상 Vue.js는 React와의 정상에서의 혈투 끝에 2인자로 남을 수 밖에 없을 것이다.

프레임 워크 추천.

올해도 역시 나는 React를 강력히 추천한다. 모바일 앱, 웹 애프리케이션, 오피스 관련 애플리케이션과 기타 컨텐츠 제작 애플레케이션에 걸쳐 사용될 수 있을것이다.

3D 게임, AR/VR과 같은 분야는 다른 언어가 독보적인 입지를 잡고 있지만
React역시 3D UI에 사용된다는 사실은 알아둘만하다.

올해 나온 프레임워크에 대해서는 크게 따로 언급하지 않겠다.
좋은 프레임워크가 아니어서 가 아니라 진정한 의미에서 React에 견줄만한 도전자가 되지 못하기 때문이다.

어째서 React는 이렇게 많은 관심을 갖는 것일까?

React에 관련된 일자리를 조사해 보던 중 나는 흥미로운 트렌드를 하나 발견했다. 많은 일자리가 우리들이 front-end 일이라고 생각치도 않았던 일들이 많았다는 사실이다.

  • React Native
  • React for IoT
  • React for AR / VR
  • 그리고 들어 보지 못한 희한한 컴퓨터 관련 일을 위한 React.

React의 다재다능함이야 말로 React를 가장 돋보이게 하는 점이다.

React는 또한 거대하고 활기넘치는 ecosystem이 조성되어 있으며 jQuery가 웹을 지배하던 시절 이후 Javascript 세계에선 보지 못했던 일을 React가 그 바통을 이어받아 가고 있는 듯하다.

2018년에는 그 어떤 것도 React의 권좌를 빼앗지 못할 것이다. 안심해도 좋다. 흔히 말하는 Javascript Fatigue 형상도 서서히 사라지고 있는 듯이 보인다.
애플리케이션을 만들기 위한 훌륭한 프레임워크가 존재하고 훌륭한 ecosystem 역시 React 주위로에 자리잡고 있다.

무엇을 배우는데 집중해야 할까?

작년과 마찬가지로 무엇이 중요하지에 대해 잘못 짚을 수가 있다.
하지만 React 애플리케이션에선 함수형 프로그래밍에 보다 무게를 실어야 한다.

React가 이토록 강력한 데는 2가지 주된 이유가 있다.

  • Deterministic view renders
  • Abstracting the view layer away from direct DOM manipulation

이 사항을 염두해 둔 채 아래의 사항들을 공부해야 할 것이다.

  • Basic ES6 syntax.
  • Class syntax and its many pitfalls.
  • Functional programming & software composition.
  • Currying.
  • Cloures.
  • Pure functions.
  • Promises.
  • Generators & async functions.
  • TDD
  • The RAIL performance model
  • Progressive Web applications.
  • GraphQL

그리고 아래의 리스트가 내가 유용하다고 생각하는 라이브러리들과 도구들이다.

  • React
  • Redux
  • Redux-Saga
  • Next.js
  • Material UI
  • Cheerio
  • Lodash
  • Babel
  • Webpack
  • ESLint
  • Ramda
  • Node & Express
  • RxJS:

2018년 눈여겨 봐야할 기술들.

  • Progressive Web Apps (PWAs)
  • Blockchain & fintech
  • Medical technology
  • AR/VR
  • 3D printing
  • AI
  • Drones

양자 컴퓨팅 역시 세계들 바꾸려는 자세를 취하고는 있으나 그런 일이 실제로 일어 나려면 몇년은 더 기다려야 할것처럼 보인다.

개발자들이 무언가 실험을 해보기에는 아직 시기상조다.

마이크로 소프트가 최근에 양자 컴퓨팅을 위한 Q# 언어를 발표 하였고 IBM과 구글 또한 초기 클라우드 양자 컴퓨팅 시장을 섭렵하기 위해 투자에 박차를 가하고 있다.

--

--