2022년 '리액트' 위협한 자바스크립트 프레임워크는?

컴퓨팅입력 :2023/01/17 10:47

연례 자바스크립트 현황 설문조사에서 솔리드, 퀵 등 새로운 프레임워크가 리액트를 위협하며 부상중인 것으로 조사됐다.

16일(현지시간) 미국 지디넷에 따르면, 자바스크립트의 사용 현황을 조사하는 '2022년 자바스크립트 현황' 보고서가 최근 공개됐다.

구글에서 후원하는 이 설문조사는 3만9천472명의 개발자를 대상으로 이뤄졌다.

프론트엔드 프레임워크 유지율 순위(자료:자바스크립트 현황 2022 보고서)

보고서는 솔리드(solid), 퀵(Qwik) 등 새로운 프론트엔드 프레임워크가 리액트에 도전하고 있다고 요약했다. 렌더링 프레임워크, 테스트 도구, 모바일 및 데스크톱 개발, 빌드 동구 등에 대한 조사도 이뤄졌다.

설문조사는 보유 비율과 사용자 수를 기준으로 각 기술을 평가했다. 높은 사용율과 높은 유지율을 보인 기술은 채택하기 안전하고, 낮은 사용율과 낮은 유지율의 기술은 추천하기 어려운 것으로 간주된다. 높은 사용율과 낮은 유지율의 기술은 재평가 가치를 가진 것으로 한다.

모바일과 데스크톱 앱 개발에서 가장 높은 유지율을 보인 라이브러리는 타우리(tauri)였다. 이 기술은 HTML, CSS 및 자바스크립트 등 웹 기술을 사용해 크로스 플랫폼 데스크톱 앱을 개발할 수 있는 오픈소스 툴킷이다. 작년 7월 1.0 버전에 도달했고, 핵심 라이브러리는 러스트로 작성됐다. 프로젝트는 보안 강화 및 리소스 사용량 감소에 중점을 둔다. 타우리 앱은 윈도, 웹뷰, 운영체제 콜 등을 관리하는 러스트 바이너리를 제공한다. 향후 iOS와 안드로이드도 지원할 예정이다.

크로스플랫폼 데스크톱 앱 구축에 가장 널리 사용되는 도구는 일렉트론(Electron)이다. 2020년 이휴 유지율이 급격히 떨어졌다. 2018년과 2020년 사이 보유율 선두를 차지했다가 작년 75%로 낮아졌다. 보유율 기준 상위 5위인 리액트네이티브(74%)와 크게 차이나지 않는다.

하지만 타우리를 알고 있다고 답한 응답자는 32%였다. 지난 1년간 사용량 2배 증가를 보였지만 여전히 사용자는 5%밖에 되지 않는다. 일렉트론은 리액트네이티브와 함게 35$로 가장 많이 사용되는 툴이다. 그 뒤를 코르도바(cordova)가 이었다.

가장 널리 사용되는 프론트엔드 프레임워크는 리액트(82%), 앵귤러(48%), Cue.JS(46%) 순이었다. Svelte 사용량은 2019년 7.8%에서 21%로 늘어 4위했다. 상위 프레임워크 개발자가 Svelte에 학습 의향을 보였다.

Svelte와 솔리드는 각각 89%, 90%로 유지율 선두를 차지했다. 리액트의 유지율은 2019년 89%에서 83%로 떨어졌다. 앵귤러 유지율은 같은 기간 약간 증가해 42%에 도달했지만 전성기인 2016년 68%에 여전히 미치지 못한다.

서버사이드 렌더링 프레임워크 유지율은 Next.js(48%), Gatsby(23%), Next(18%) 순이었다. 아스트로와 SvelteKit이 각각 92%로 리텐션 규모에서 1위를 차지했으며 Next.js가 90%로 그 뒤를 이었다. Gatsby의 유지율은 2019년 90%에서 2022년 38%로 떨어졌다.

마이크로소프트에서 설계한 자바스크립트 상위집합 타입스크립트는 10년전 출시 후 많은 인기를 끌고 있다. 어떤 종류의 자바스크립트를 사용하느냐란 질문에 응답자 2만7천명 중 98%가 타입스크립트를 사용한다고 답했다. 2위는 엘름으로 2.3%다.

항상 자바스크립트를 사용하는 개발자보다 타입스크립트만 사용하는 개발자가 압도적으로 많았다. 28%는 항상 타입스크립트를 사용하고, 11%는 자바스크립트를 항상 사용한다고 밝혔다.

가장 많이 사용하는 비 자바스크립트 언어는 파이썬이다. 다음으로 PHP, 자바, 러스트, 고, C#, C/C++ 순이었다.

관련기사

구글의 사라 드래스너 엔지니어링 및 웹인프라 이사는 보고서 결론에서 "리액트, 앵귤러, 큐 등의 유지율 하락은 성숙의 신호"라며 "리액트, 앵귤러, 뷰 등 기존 프레임워크의 경우 종종 만족도 하락을 볼 수 있다"고 밝혔다.

그는 "이런 감소는 배틀 테스트를 거쳐 사용되는 도구의 기능이라고 생각하며, 생산 과정에서 거친 부분을 찾고 모든 도구의 장단점을 경험하는 것"이라며 "이런 도구에서 제공할 수 있는 것에 대한 성숙함과 명확한 인식의 표시"라고 덧붙였다.