국민은행측은 KB모바일인증서가 국내 은행 중 유일하게 소프트웨어뿐만 아니라 하드웨어에까지 보안기술을 적용했다고 밝혔다. TEE(신뢰된 실행 환경, Trusted Execution Environment)라는 독립된 보안영역에 인증서를 저장시킴으로써 안정성과 신뢰성을 높였다는 설명이다. 이를 위해 영국 보안업체인 트러스트오닉(Trustonic)사의 TAP(Trustonic Application Protection) 솔루션을 적용했으며, 인증서의 유효성과 비밀번호를 검증하는 알고리즘은 KB국민은행 자체기술로 개발하여 안정성과 보안성을 강화했다.
KB국민은행은 KB모바일인증서의 활용 범위도 확대하고 있다. 모바일뱅킹에만 초점을 두고 개발된 다른 사설인증서와는 달리 PC 기반인 인터넷뱅킹에서도 연동 로그인이 가능하도록 했다. 또한 KB손해보험 앱에서도 KB모바일인증서 로그인이 가능하다. 다른 KB금융지주 내 계열사까지 금융거래를 처리할 수 있도록 KB금융그룹 통합인증 환경 구축을 진행하고 있다.
KB국민은행측은 최근 전자서명법 개정안이 국회를 통과함에 따라 모바일 인증서의 업무 범위를 계속하여 확장할 계획이다.
이러한 와중에도 다양한 인증기술이 출현하고 있다. 공인인증서 폐지와 더불어 새로운 인증에 대한 사회적 요구가 큰 탓이다. 물론 ▲공인인증서와▲본인확인 ▲본인인증 ▲전자서명 ▲부인방지 등 다양한 인증 기술이 혼재되고 있는 것은 문제다. 어쨌든 새로운 인증은 강력한 보안성을 담보로 얼마나 편하게 사용할 수 있느냐가 관건인 셈이다.
이러한 관점에서 코리아엑스퍼트는 1회용 아이디인 OTID(One Time ID)를 선보이기도 했다. 대부분 2차 인증으로만 활용되는 일회용 비밀번호(OTP)와 달리 ID와 패스워드를 대신하는 1차 인증으로도 활용될 수 있는 기술이다.
코리아엑스퍼트 유인지 전략사업팀장은 “OTID는 한 번에 나를 식별하는 코드로 코리아엑스퍼트의 OTID는 아이디와 패스워드의 역할을 한 번에 하는 것으로 한 번의 행위로 ID와 패스워드는 물론 간편인증까지 대체하는 기술”이라고 밝혔다.
코리아엑스퍼트는 그동안 이상 징후를 탐색해 위협요인 및 위험인자를 찾아내는데 노하우를 쌓아왔다. 예를 들어 로그 정보에 특정 패턴을 걸어놓고 누가 언제 무엇을 어떻게 하고 있는지를 알아내는 분석 시스템에 전문성을 보유해왔다.
하지만 이러한 시스템 구축 및 운영 과정에서 이상 징후를 찾기 위해선 시작점인 ‘인증’을 다시 봐야 한다고 생각했다.
이러한 결과 새롭게 나온 제품이 OTID 기술 기반의 자사 솔루션 ‘아이루키’에 공개키 기반 구조(PKI) 기술을 융합한 ‘PKID’ 솔루션이다. PKID 솔루션은 일회용 코드 입력 방식과 원터치 방식으로 사용자 편의성에 집중한 공인·사설 인증을 대체할 수 있는 차세대 인증방식이라는 설명이다.
코리아엑스퍼트에 따르면 사업을 진행하며 고객이 공인인증과 사설인증을 무분별하게 사용하는 사례 등을 경험했다. 한 보험사의 경우 내부 업무에 15개의 인증수단을 사용한 경우도 있다는 설명이다.
유 팀장은 “2차 인증을 해야 하는데 귀찮고 힘들어서 아직 공인인증서를 사용하는 경우도 있었다”며 “공공의 경우 보안 적합성 심사와 국정원 감사 등 이슈가 있다. 예를 들어 가상 데스크톱(VDI)이나 가상사설망 접속시 2차 인증 도입을 확보할 것을 주문하고 있는데 이를 대체하는 수단으로 제공할 계획”이라고 밝혔다.
한편 다양한 사설 인증서의 등장으로 기업 입장에서 인증관리도 중요한 업무가 될 전망이다. 이에 따라 코리아엑스퍼트는 통합 인증 플랫폼을 기업에 제공하고 있다. 예를 들어 모 생명보험사의 경우 코리아엑스퍼트의 통합인증 플랫폼을 도입해 인증 어플리케이션을 관리하고 있다.
유 팀장은 “인증수단이 많아지고 관리해야 하는 앱도 많은 상황에서 이상징후 확인에 대한 요구가 있어 통합인증 플랫폼과 인증수단의 API 등을 엮어 관리하는 방안을 제안하고 있다”고 설명했다.
임은희 코리아엑스퍼트 기술영업본부 부장은 “하반기에도 PKID에 집중할 것”이라며 “공인인증서 폐지 관련해서 의도치 않게 캐피탈, 보험사, 공공기관 등에서 문의가 오고 있다. 모바일 앱에서 대출심사를 할 때 공인인증서를 쓰는데 여기에 사설인증을 적용하거나 보험가입 시 언더라이팅 할 때 산용카드 본인확인 등의 절차 말고 사설인증서로 대체하면서 패턴, 핀번호, 지문, 등 다양한 형태로 접근이 가능한 것을 원하고 있다”고 전했다.
일회성 비밀번호 또는 짧은 OTP는 일반적으로 매우 간단한 이유로 기존 비밀번호보다 더 안전한 것으로 간주됩니다. 비밀번호는 한 번만 사용할 수 있습니다.다음에 사용자가 OTP로 보호되는 포털, 웹 앱 또는 모바일 앱에 로그인하려면 이전에 사용한 비밀번호가 더 이상 작동하지 않으므로 새로 생성 된 비밀번호를 사용해야합니다.
그것은 단순한 (너무 단순한 것일 수도 있습니다) 설명입니다.물론 일회성 비밀번호의 실제 애플리케이션은 일반적으로 그보다 훨씬 복잡합니다.일회성 비밀번호를 생성하지만 사용하지 않는 사용자를 고려해야합니다. 인증 프로세스를 완료하기 전에 비밀번호를 잊어 버렸거나 변경했을 수 있습니다. 시스템 관리자는 이러한 "잊어 버린 OTP"가 영원히 살 수 없다는 것을 알고 있습니다.악의적 인 공격자가 아직 사용하지 않았기 때문에 여전히 유효하다면 악의적 인 공격자에 의해 나중에 획득되어 사용될 수 있기 때문에 악의적이지만 유효한 OTP를 로밍 할 여유가 없습니다.
따라서 대부분의 OTP 표준은 시간 기반입니다.생성 된 OTP는 지정된 시간 (일반적으로 30 초-2 분) 내에 사용해야합니다. 그렇지 않으면 만료되어 더 이상 작동하지 않습니다.이것이IT 커뮤니티가HOTP표준을따뜻하게 수신 한 후TOTP표준이 개발 된이유입니다.
그러나 모든 일회성 비밀번호 알고리즘 및 표준은 "비밀번호 문제"만 해결하므로 소위청구 된 신원을 보호하기 위해 전혀 아무것도하지 않습니다.설명하겠습니다…
모든 OTP 기반 인증 체계에서 사용자는먼저청구 된 신원을 제공해야합니다.일반적으로 이것은username을 제공하여 수행됩니다.포털 (또는 웹 앱 또는 모바일 앱)이 사용자가 누구인지 주장한 후에 만 해당 사용자를 OTP로 인증하려고 시도합니다.그 배후의 아이디어는 원격 서비스가 사용자에게“당신이 정말로 당신이 누구라고 주장하는지 확인하도록하겠습니다”라고말하는것입니다.
일회용 암호 (OTP)를 사용하는 일반적인 인증 흐름또한 일반적인 OTP 인증 흐름 (간단한 사용자 경험)
독자가 반드시 주목해야 할 것은 위의 두 이미지에 묘사 된 두 가지 일반적인 체계에서 사용자는 자신의주장 된 신원(사용자 이름)을 인증하려는 서비스에보냅니다.그리고 그것은 제 생각에 이미잠재적 인 공격자에게너무 많은 정보를제공하고 있습니다.
OTP를 사용하는 더 좋은 방법은 사용자 이름이나 모든 형식을 포함하여 인증 정보를 완전히 숨기는 방법을 찾는 것입니다주장 된 정체성사용자가 사용해야합니다.
Xiid OTID(일회성 ID)를입력하십시오.UML 차트는 다음과 같습니다.
OTID 인증 흐름, OTP와 유사하지만 사용자 이름이 네트워크를 통해 전송되지 않습니다
가장 먼저 알아야 할 것은 사용자 경험이 가장 쉽고 효과적인 OTP 버전과 매우 유사하다는 것입니다.그러나 주목할만한 차이점이 있습니다. Xiid OTID의 경우주장 된 ID(일반적으로 사용자 이름)가 네트워크를 통해 전송되지 않으며 OTID 코드 만 전송됩니다.이 코드는 잠재적 공격자에게 유용한 정보가 포함되지 않은 일회성 코드입니다. .
OTID 형식 예 :12K8–33FA-GH7R-92VA
Xiid의 특허 출원중인 OTID 기술 덕분에 인증을 담당하는 실제 서비스 만이OTID가 속한 특정 사용자를추론하거나 계산할 수있으며, OTID에 포함 된 일회성 정보를 확인하여 현재 알려진 서비스에 대한 사용자 액세스.
한 번의 "무의미한"(공격자 용) 일회성 코드로, 매번 변경되며, 사용자에 대한 정보 (클레임 된 자격 증명포함)를 문자 그대로 제공하지 않으며더 많은 수의 사용자에 대해 높은 수준의 복원력을 제공합니다. 인증 시스템을 대상으로하는 일반적인 공격.
그러나당신의주장 된 정체성을 숨기는 것이왜그렇게 중요한가?생각해보십시오 : 침입자가 자신이 누구라고 주장하는지 알게되면 (사용자 이름이 전자 메일 주소 일 수도 있으므로 이미 연락 방법도 알고있을 것입니다) 이미교육받은 암호 추측,암호와 같은 공격을 시도하기에 충분한 정보가 이미 있습니다.수확또는 더 나쁜사회 공학.그러나 침입자가“누가”로그인을 시도하고 있는지 추측 할 방법이 없다면 실제로 작업 할 의미가 없습니다.
과거와 달리 최근에는 자바스트립트 진영에서도 프레임워크를 이용한 개발이 필수로 여겨지고 있습니다. 2017년까지만 해도 개발자들은 프로젝트에 Angular와 React 중 어느 것을 사용해야 하는지 여부를 주로 토론했으나, 2018년 이후 Vue.js라는 새로운 프레임워크에 대한 관심이 높아지고 있는 추세입니다. 본 아티클에서는 웹 프론트엔드 영역에서 주요 라이브러리와 프레임워크로 자리잡은 React와 Vue.js, Angular의 현재 상태와 향후 전망을 살펴보겠습니다.
Angular 강력한 명령행 도구와 잘 정돈된 폴더 구조, 프로젝트 생성과 동시에 각종 환경이 한 번에 갖춰지는 등 필요한 기능을 모두 내장한 프레임워크입니다. 참고로 이렇게 애플리케이션을 만들기 위해 필요한 기능을 모두 갖춘 프레임워크를 '컴플리트 프레임워크(Complete Framework)'라고 합니다. Google이 개발한 Angular는 2010년에 처음 출시되어 가장 오래 되었습니다. 2016년에는 타입스크립트(TypeScript) 기반 프레임워크인 Angular 2가 출시되면서 실질적인 전환이 이루어졌습니다.(AngularJS라는 원래 이름에서 'JS'가 삭제됨) AngularJS(버전 1)는 여전히 업데이트를 제공하고 있지만, 본 아티클은 Angular에 대한 토론을 집중적으로 다룹니다. 최신 안정버전은 2018년 10월에 출시된 Angular 7입니다.
React 사용자의 조작에 따라 사용자 인터페이스가 동적으로 변화하는 웹 애플리케이션을 개발할 수 있게 해 주는 프론트엔드 라이브러리입니다. React는 "A JavaScript library for building user interfaces"라고 주장하며 라이브러리를 표방하고 있습니다. Facebook이 개발한 React는 2013년에 출시되었으며, Facebook은 React를 자사의 제품(Facebook, Instagram 및 WhatsApp)에서 광범위하게 사용합니다. 2018년 11월에 발표된 16.x가 최신 안정버전입니다.
Vue.js Vue.js는 이 그룹에서 가장 늦게 출시되었는데 Google 직원인 Evan You가 2014년에 개발했습니다. Vue.js는 대기업의 후원을 받지 못했음에도 지난 2년 동안 인기가 높아지고 있습니다. 현재 안정버전은 2.17이며, 2018년 8월에 출시되었습니다. Vue.js의 컨트리뷰터는 Patreon에서 지원하며, 현재 프로토타입 단계에 있는 Vue3은 타입스크립트 기반으로 이동할 계획입니다.
특징
Angular 프레임워크라는 것입니다. 최근에는 자바스크립트로 웹페이지뿐만 아니라, 스마트폰이나 데스크탑에서 동작하는 애플리케이션을 개발할 수 있는데, Angular는 이를 지원하기 위한 기능들을 갖추고 있습니다. 또한, 타입스크립트를 주력언어로 채택하여 정적 타입을 제공하고 있습니다. 정적 타입의 도입으로 코드 어시스트, 타입 체크, 리팩토링을 지원하는 강력한 도구 사용이 가능해지며, 객체지향적 프로그래밍에 적합해집니다. 이는 많은 개발자 간의 협업이 필요한 대규모 애플리케이션 개발에 보다 효과적입니다.
Angular가 제공하는 또 다른 강력한 도구는 Angular CLI입니다. 프레임워크에 익숙하지 않은 초심자들이 가장 어렵게 생각하는 장벽 중 하나인 개발환경 구축을 Angular CLI가 제공하는 명령 하나만으로 간단히 해결할 수 있습니다. 아울러 다른 프레임워크가 제공하는 CLI와는 달리 추가적인 명령들을 통해 개발환경 구축뿐만 아니라, 개발 전반에 걸쳐 편리함을 제공합니다.
그리고 Angular는 컴플리트 프레임워크에 걸맞게 Router, Forms, HTTP 등 다양한 모듈을 지원합니다. 또한 RxJS를 내장하고 있어 HTTP 뿐만 아니라 모든 이벤트를 스트림으로 RxJS의 옵저버 패턴에 의해 유연하게 제어할 수 있습니다. 그 밖에도 애니메이션을 위한 Angular Animations, 국제화를 위한 i18n 모듈, 테스팅 모듈 등도 제공하고 있습니다.
또 다른 특징으로 컴포넌트 기반 개발을 중심으로 한다는 점을 들 수 있습니다. 컴포넌트 기반으로 개발한다는 것은 컴포넌트의 형태로 사용자 인터페이스를 정의하고, 자바스크립트 파일뿐 아니라 템플릿 역할을 할 HTML 파일이나 스타일시트가 담긴 CSS 파일도 컴포넌트에 포함한다는 것입니다. 이 파일들은 컴포넌트마다 자동으로 생성됩니다.
또한 Angular는 타입스크립트의 문법인 'decorator'를 많이 활용하는 선언적 코딩 스타일을 사용합니다. 태그명, 템플릿 파일, CSS 파일에 대한 정보를 decorator 문법으로 전달하고 있습니다.
React React의 특징은 Angular와 달리 개발에 필요한 모듈을 기본으로 제공하지 않고, 서드파티(Third party) 라이브러리에 의존한다는 점입니다. 공식적으로 React는 작은 자바스크립트 UI 라이브러리일 뿐, 그 외의 것은 사용자에게 일임하고 있습니다. 대신 다른 프레임워크에 비해 방대한 에코시스템이 존재합니다. 사용자는 자유롭게 개발에 필요한 모듈을 결정하고 선택할 수 있습니다. 커다란 에코시스템은 React의 장점으로 보이지만 사용자에게 책임이라는 부담을 지우기도 합니다. 그러나 다행스럽게도 React 진영이 이러한 사용자 부담에 대해 완전히 손놓고 있지는 않습니다. Angular CLI와 마찬가지로 초심자의 빠른 개발환경 구축을 위해서 Create React App이라는 툴을 제공하여 진입 장벽을 낮추고 있습니다.
React 역시 컴포넌트 기반의 개발을 채택하고 있습니다. 그러나 컴포넌트의 구현은 자바스크립트에 조금 더 치중되어 있습니다. 다른 프레임워크들이 HTML 마크업 기반으로 그 위에 템플릿 문법을 추가해 컴포넌트의 구조와 구성요소를 정의하는 반면, React는 XML 포맷의 템플릿을 직접 자바스크립트에 내장시키는 형태로 JSX 기술을 주력으로 사용하는 것을 권장하고 있습니다. 그렇기 때문에 다른 프레임워크에 비하여 더 자바스크립트에 집중된 형태의 컴포넌트가 나타나게 됩니다.
React가 Angular와 구별되는 또 다른 특징 중 하나는 가상 DOM을 이용한다는 것입니다. 가상 DOM은 가상 트리 형태의 자료구조에 실제 DOM 트리가 매핑된 형태로 동작합니다. 전통적인 DOM은 한 요소에서 변경이 발생하더라도 전체 트리구조를 업데이트하기도 합니다. 따라서 렌더링 성능이 떨어질 수 있는 불안요소가 있습니다. 가상 DOM은 가상 DOM 내의 변경사항을 추적하여 전체 트리의 다른 부분에 영향을 주지 않고, 매핑된 실제 DOM상의 특정요소만 업데이트할 수 있게 도와 줍니다. 일반적으로 가상 DOM이 실제 DOM을 조작하는 것에 비해 성능이 뛰어나다고 볼 수 있습니다. 하지만 Angular는 실제 DOM 위에서 동작함에도 변경감지 구현 기능이 따로 존재하여 성능을 높이고 있다는 것을 참고하시기 바랍니다.
React만의 특징이 한 가지 더 있습니다. 바로 데이터 바인딩 방법입니다. 데이터 바인딩은 모델(비즈니스 로직)과 뷰(UI) 간에 데이터를 동기화하는 프로세스입니다. 기본적으로 단방향과 양방향이라는 두 가지 구현방식이 있습니다. 두 방법의 차이는 모델-뷰(Model-View) 업데이트 처리 방식입니다. 양방향 데이터 바인딩은 뷰가 변경되면 모델도 변경되며 모델이 변경되면 뷰도 변경되는 처리방식입니다. React는 단방향 데이터 바인딩을 사용합니다. 모델이 변경되면 뷰가 변경되는 방법만을 허용하고, 뷰가 변경된 경우 모델을 변경시키지 않습니다. 뷰가 변경된 경우 모델을 변경하는 코드를 작성해야 합니다. 단방향 데이터 바인딩은 일반적으로 예측 가능성이 높기 때문에 코드가 더 안정적이지만, 양방향 바인딩에 비해서 코드 작성시간이 더 필요합니다. 참고로 Angular와 Vue.js는 단방향 데이터 바인딩과 양방향 데이터 바인딩 모두 지원합니다.
Vue.js Vue.js도 React처럼 가상 DOM을 사용하고, 컴포넌트 기반 개발을 중심으로 합니다. 그러나 React와 구별되는 Vue.js만의 특징은 컴포넌트의 자바스크립트 집중도가 낮다는 점입니다. 즉 JSX를 권장하는 React와는 달리, 컴포넌트 구조와 구성요소를 작성할 때 Angular처럼 HTML 마크업 기반의 템플릿 문법을 사용합니다. Vue.js 컴포넌트 작성 시 보통 '단일 파일 컴포넌트'라는 .vue 확장자를 가지는 파일을 사용합니다. 이 파일은 HTML 마크업 기반의 템플릿 부분과 자바스크립트 부분 그리고 CSS를 작성하는 스타일 시트 부분으로 나뉩니다. React에 비해 기존 HTML, CSS에만 익숙한 웹 디자이너가 Vue.js를 접했을 때 컴포넌트 구성요소와 구조를 쉽게 이해할 수 있습니다. 따라서 React보다 기존 웹 디자이너와의 협업이 쉬워지는 장점이 있습니다.
다른 프레임워크들과 마찬가지로 Vue.js도 CLI 툴을 제공합니다. 그리고 애플리케이션 개발에 필요한 다른 모듈을 React처럼 사용자에게 책임을 맡기지 않고 가이드 문서를 통해 특정모듈을 권장하고 있습니다. Angular처럼 내장모듈로 정해진 것은 아니지만 React처럼 방임에 가깝게 두지도 않고 둘 사이를 절충한다고 볼 수 있습니다.
주목할 만한 것은 대기업 직원이 주도하고 있는 다른 프레임워크들과 달리 Vue.js는 커뮤니티가 주도하는 프레임워크라는 것입니다. 문서나 코드의 품질이 떨어질까 우려될 수도 있으나, 다행스럽게도 공식문서가 여러 나라의 언어로 잘 번역되어 있을 뿐만 아니라, 문서의 구성이 예제 위주로 되어 있어 필요한 내용만 빠르게 발췌하여 적용할 수 있습니다. 이는 진입장벽을 낮춰주는 또 다른 장점으로, React에 비해 초심자에게 비교적 접근성이 뛰어나다고 볼 수 있습니다.
프레임워크 간의 크기는 상당한 차이가 있지만 평균 웹 페이지 크기와 비교할 때는 모두 작다고 볼 수 있습니다. 또한 자주 사용하는 CDN을 사용하여 이러한 라이브러리를 로드하는 경우 이미 사용자의 로컬시스템에 라이브러리가 로드되어 있을 가능성이 높습니다.
컴포넌트
컴포넌트는 Vue.js, React, Angular 세 가지 프레임워크의 핵심적인 부분입니다. 컴포넌트는 일반적으로 입력을 받아 이를 기반으로 동작을 수행합니다. 동작 수행은 통상 페이지 전체나 일부 UI 변경으로 나타납니다. 컴포넌트를 사용하면 쉽게 코드를 재사용할 수 있습니다. 컴포넌트는 페이지 전체 혹은 일부일 수 있습니다. 페이지 전체가 컴포넌트의 트리 형태로 나타날 수 있습니다. 하나의 페이지에서 일부 컴포넌트를 가져다가 다른 페이지에서 재사용할 수도 있습니다.
Angular에서는 컴포넌트는 Directive를 이용합니다. Directive는 DOM 요소에 대한 어떠한 표시이고, Angular는 이를 통해 특정 동작을 위한 DOM을 추적하거나 DOM에 동작을 첨부할 수 있습니다. 따라서 Angular는 컴포넌트의 UI 부분을 HTML 태그와 속성으로 따로 두고, 자바스크립트 코드를 UI의 동작을 위해 따로 둡니다. 흥미롭게도 React는 UI 표현과 동작을 결합합니다. 이전에 말했다시피 React에서는 JSX 기술을 통해 자바스크립트의 코드 위주로 UI를 표현하고 그 동작을 지시합니다. Vue.js에서는 UI 표현과 동작이 모두 컴포넌트 파일의 일부이기 때문에 React와 비교할 때 더 직관적으로 작업할 수 있습니다. 또한 Vue.js는 자바스트립트 내에서도 UI의 구성요소와 동작을 결합할 수 있습니다.
학습 난이도
Angular는 완전한 솔루션이라고 생각해 높은 학습 난이도를 가지고 있으며, 이를 마스터하려면 타입스크립트 및 MVC와 같은 관련 개념을 배워야만 합니다. Angular를 배우는 데는 시간이 걸리지만 이같은 시간 투자는 프론트엔드 전체의 동작방식을 이해하는 측면에서 개발자에게 도움이 되기도 합니다.
React는 약 1시간만에 사용환경을 설정할 수 있는 Getting Started 가이드를 제공합니다. 문서는 철저하고 완벽하며, 일반적인 문제에 대한 해답은 StackOverflow에 등록되어 있습니다. React는 완전한 프레임워크가 아니기 때문에 고급기능을 위해서는 서드파티 라이브러리를 사용해야 합니다. 이로 인해 핵심 프레임워크의 학습난이도가 높지는 않지만 추가기능으로 수행하는 경로에 따라 달라집니다. 또한 서드파티 라이브러리를 사용하는 것이 반드시 모범사례인 것만은 아닙니다.
Vue.js는 Angular나 React보다 배우기가 더 쉽습니다. 또한 Vue.js는 컴포넌트 사용과 같은 기능에 대해 Angular 및 React와 많은 부분이 겹칩니다. 따라서 두 가지 중 하나에서 Vue.js로의 전환은 비교적 용이한 편입니다. 그러나 Vue.js의 단순성과 유연성은 양날의 검입니다. 디버깅 및 테스트가 어려워질 수도 있기 때문입니다.
Angular, React 및 Vue.js는 비교적 서로 다른 학습난이도를 가지고 있지만 학습범위는 매우 넓습니다. 예를 들어, Angular와 React를 WordPress 및 WooCommerce와 통합하여 점진적인 웹 앱을 만들 수 있습니다.
과거 1년 동안 React와 Vue.js, Angular의 NPM(Node Package Manager) 다운로드 현황으로 추측해 보건대, 당분간은 React가 계속해서 대세로 자리잡을 것으로 보입니다.