npm, 2019년 자바스크립트 동향 예측

csb·2018년 12월 7일
5
post-thumbnail

16000명 자바스크립트 개발자들의 사용 트렌드를 반영하였다.

npm의 창업자이자 최고 운영 책임자(COO)인 Laurie Voss는 2019년을 다음과 같이 예측하였다.

"자바스크립트 영역이 커짐에 따라 다양하고 생태계가 어떻게 변화할지는 예측이 어렵다."

1. 개발자들은 현재 사용하는 툴(도구) 중 하나를 버릴 것이다.

자바스크립트 생태계에서 프레임워크와 툴(도구)는 지속되지 않는다.

보통 3~5년 사이에 정점을 찍고 레거시(기존) 프로젝트를 유지하기 위해 느리게 감소하지만, 새로운 프로젝트(업무)를 위해 더 새로운 프레임워크로 전환한다.

개발자는 항상 새로운 프레임워크를 배울 준비를 하고, 기존의 툴에 너무 의존하면 안된다.

2. React가 계속해서 대세로 자리 잡을 것이다.

프론트엔드 프레임워크 점유율이 60%가 넘지만, React가 부분적인 프레임워크이기 때문이다.

이 부분이 React를 더 유연하게 사용하게 한다.

2019년에도 React로 개발한다면 학습, 디버깅, 문제 해결에 측면에서 큰 이점이 많을 것이다.

3. GraphQL을 배워야 할 것이다.

이미 API의 구조가 완성된 상태라면 시기상조일지 모르지만, 2019년은 GraphQL의 개념이 더욱 자리 잡히는 한 해가 될 것이다.

2019년 이후 부터는 새로운 프로젝트에서 사용할 가능성이 크다.

4. Typescript를 도입할 것이다.

npm에서 16000명의 개발자에게 설문조사를 하였다.

Microsoft 의 프로그래밍 언어에 대한 채택률이 50%가 넘는 것으로 나타났다.

이 비율은 Typescript가 Microsoft 찬양론자들을 위한 도구 이상으로 성장했다는 것을 의미한다.

실제로 개발자들은 타입 체킹을 통해 안정성 측면에서 실질적인 이득을 얻고 있다.

특히, 2019년에 대규모 팀원 프로젝트에서는 진지하게 Typescript 도입을 고민해봐야 한다.

npm 보고서는 2019년 1분기에 업데이트 될 예정으로 JS Foundation과 Node.js Foundation과 협력하여 작성되었다. 자바스크립트는 세계에서 가장 인기있는 프로그래밍 언어이다. 응답자의 93%가 자바스크립트로 웹 코드를 작성하였고, 70%가 Node.js와 같은 서버에서 자바스크립로 작성한다고 응답하였다.

기타 주요 사항

  • 보안 문제 : npm은 많은 개발자들에게 간단하게 웹사이트를 구축할 수 있게 하였다. 설문조사에 따르면 77% 응답자는 사용하는 오픈소스의 퀄리티나 보안에 대해서 걱정한다고 말하였고, 52%만이 소스가 부족 하다고 하였다.

  • 통계 : npm 커뮤니티에서 개발자들의 25%는 자바스크립트를 2년 아래로 사용하였고, 51%는 2년(? 문맥상 1년을 의미하는 뉘앙스) 아래로 사용하였다(npm 커뮤니티는 사용횟수 측정이 중복되는 오류가 있다.)
    70%의 가까운 npm 유저들은 자바스크립트를 스스로 학습하였지만, 22%는 회사에서 업무를 통해 배웠다.

  • React와 GraphQL은 더 사용 될 것 : React는 계속에서 가장 많이 사용된다. 설문조사의 60% 이상이 2017년에 비해 2018년은 발전이 느려졌을지라도, React를 사용한다고 응답하였다. 반면 GraphQL은 클라이언트 라이브러리인 Apollo를 통해 폭발적으로 채택되었다.

  • 트랜스파일러 : Babel은 React 생태계 밖에서도 다양한 기능을 제공하기 때문에, npm 유저 65%의 선택을 받았다. 놀랍게도 개발자의 50%가 Microsoft의 Typescript를 사용한다고 답변하였다.

원문 - npm Announces 2019 Predictions for JavaScript

6개의 댓글

comment-user-thumbnail
2018년 12월 13일

GraphQL이 보안적으로 안전한가요?
클라이언트에서 GraphQL을 연결하여
바로 데이터를 가져올 수 있는 것으로 알고있습니다

저도 이점에 매력을 느껴서 공부하던 중
보안에 굉장히 취약하다는 기사를 보왔습니다

이를 해결하는 방법을 어떤 방법이 있을까요?
그리고 안전한 기술인지 궁금합니다

2개의 답글