React vs 각도 vs 부; 어떤 것이 더 나을까?

React vs 각도 vs 부; 어떤 것이 더 나을까?

반응형

최상의 올바른 웹 개발 기술을 선택하는 것은 모든 비즈니스와 개인에게 필수적입니다. 그러나 Angular, React, Vue와 같은 주요 자바스크립트 프레임워크 중 하나를 선택해야 한다면 이 과정은 어려워진다.

Angular는 구글에 의해 개발되었고 2010년에 처음 출시되어 가장 오래된 프레임워크이다. 그 후 페이스북에서 개발하여 2013년에 출시한 React가 나왔다. 이 그룹의 최근 멤버인 Vue는 전 구글 직원인 Evan You에 의해 2014년에 개발된 오픈 소스 프로젝트이다.

구글, 유튜브, 애플과 같은 회사들은 Angular를 사용하는 반면 페이스북, 인스타그램, 넷플릭스, 왓츠앱은 React를 사용한다. 게다가, 깃랩뿐만 아니라 샤오미, 알리바바 같은 중국 대기업들도 Vue를 사용한다. 그래서, 그것들은 분명히 우리의 삶에 영향을 미치고 있고 인기가 있다. 그들을 구별하기 위해, 우리는 다양한 측정 기준에 대해 논의할 것이다.

기본의 철학

Angular에는 몇 가지 기본 제공 기능이 있으므로 종종 프레임워크 대신 플랫폼으로 간주됩니다. React는 매우 미니멀리즘적이며 사용자 인터페이스 구축에 초점을 맞추고 있어 프레임워크가 아닌 라이브러리가 됩니다. 더욱이 Vue는 코드에 초점을 맞추고 있지만 강력한 명령줄 인터페이스를 가지고 있기 때문에 특징 면에서 두 가지 사이의 어딘가에 있다.

반응 vs 각도 vs 부

코드 스타일

이 세 가지 프레임워크는 모두 재사용 가능한 다양한 구성 요소를 사용하여 반응성 사용자 인터페이스를 만드는 데 사용됩니다. 비록 이 핵심 철학은 동일하지만, 그것에 대한 코드는 다르다. Angular는 자바스크립트의 상위 집합인 Typescript(객체 지향 프로그래밍 언어)를 사용하는 반면 React와 Vue는 순수한 자바스크립트를 사용한다.

템플링의 경우 React는 JSX(JavaScript Syntax Extension)를 사용하지만 Vue와 Angular는 HTML을 사용한다. JSX는 HTML 코드를 재사용하고 싶다면 Angular와 Vue를 이상적으로 만드는 자바스크립트와 HTML의 공존을 허용하는 구문이다.

모델

Vue 및 React는 콘텐츠 및 요소를 나열하는 노드 트리인 VDOM(Virtual DOM)을 사용합니다. 이것은 UI의 "가상" 표현이 메모리에 저장되고 React DOM과 같은 라이브러리에 의해 "실제" DOM과 동기화되는 프로그래밍 개념이다. 따라서 브라우저 DOM이 직접 업데이트되지 않으므로 VDOM은 추상화 계층입니다.

Angular는 MVC 패턴을 기반으로 DOM을 직접 조작한다. 따라서 Angular(각도)를 사용하여 응용 프로그램을 빌드하면 응용 프로그램의 변경 사항이 직접 업데이트됩니다.

앱 개발 중에는 구성 요소의 범위 상태가 됩니다. Angular와 Vue는 데이터를 변경하거나 변경할 수 있는 방식으로 작동합니다. 사용자 입력 및 코드는 상태를 직접 수정할 수 있습니다. 그러나 상태는 React에서 불변하거나 변경할 수 없습니다. 따라서, 그것을 업데이트하기 위해서는, 비동기적으로 업데이트 하는 특정한 기능이 사용되어야 한다.

공통 기술

Angular, React 및 Vue는 모두 PWA(Progressive Web Apps) 개발에 사용됩니다. PWA는 스마트폰 사용자들이 홈 스크린에 바로 가기 기능으로 추가할 수 있는 웹 애플리케이션으로, 기본 모바일 애플리케이션과 비슷하다고 느낄 수 있다. 각 프레임워크마다 미리 만들어진 애플리케이션과 프리미엄 템플릿을 찾을 수 있지만 Angular와 React는 Vue보다 상대적으로 더 많은 프리미엄 옵션을 사용할 수 있습니다.

성능

프레임워크를 선택하는 동안 성능에 대해서도 고려해야 합니다. 예를 들어, 작은 프로젝트를 만들고 있다면, 성능에 대해 걱정할 필요가 없을 때도 있습니다. 그러나 규모가 크고 복잡한 프로젝트에서는 성능이 중요합니다. 성능에는 두 가지 유형이 있습니다.

· 시동 성능

웹 앱(웹 페이지)이 로드되어 대화형 상태가 되는 데 걸리는 시간입니다. 생성된 코드 번들의 크기(사용자의 코드와 프레임워크 코드를 합친 것)에 따라 다릅니다.

소형 앱의 경우 Angular 앱이 React 또는 Vue 앱보다 클 수 있지만 대형 앱의 경우 세 프레임워크 모두 거의 동일한 크기의 코드 번들을 생성하여 유사한 시작 성능을 제공해야 합니다.

· 런타임 성능

앱 실행 시 속도입니다. 그것은 프레임워크의 내부와 DOM 조작 및 업데이트에 대한 접근법에 달려 있다. 페이지가 사용자에게 "느낌"이 빠르더라도 속도가 느리더라도 상관없습니다. React는 로드된 페이지가 사용자에게 더 빠르게 보이도록 특정 작업의 우선 순위를 지정합니다.

반면 Vue와 Angular는 고도의 기술을 사용하여 필요한 경우에만 작업을 수행하고 가장 효율적으로 작업을 수행합니다. 전체적으로 세 프레임워크 모두 런타임 성능이 유사합니다.

학습 곡선

학습 곡선은 어떤 것이 배우기 얼마나 어려운지를 판단하는 데 도움이 된다; 이 경우, 그것은 세 가지 기본 틀이다. Angular는 앞서 언급했듯이 원스톱 숍이기 때문에 모든 개발자의 요구 사항을 충족시키기 때문에 이해할 수 있는 가파른 학습 곡선을 가지고 있습니다. 각도를 마스터하려면 시간이 걸리는 TypeScript와 같은 관련 개념을 배워야 합니다.

React에는 약 한 시간 내에 React를 설정할 수 있도록 도와주는 포괄적인 시작 가이드가 있습니다. 그러나 React는 완전한 프레임워크가 아니므로 일반적으로 타사 라이브러리를 사용해야 합니다. 따라서 핵심 프레임워크의 학습 곡선은 가파르지 않지만 추가 기능을 사용하여 선택한 경로에 따라 달라집니다.

Vue는 사용자 지정성이 뛰어나 Angular나 React보다 배우기 쉽습니다. 또한 구성 요소의 사용과 같은 기능 면에서 Angular 및 React와 중복됩니다. 그러므로 둘 중 하나에서 Vue로의 전환은 쉬운 선택이다. 그러나 Vue의 단순성과 유연성은 때때로 빈약한 코드를 허용하여 디버그와 테스트를 어렵게 할 수 있다.

인기, 커뮤니티 및 개발

구글 트렌드에 따르면, 전세계적으로 Vue와 React는 똑같이 인기가 있는데, Angular보다 약간 더 인기가 있다. 하지만, 지역적으로 말하자면, Vue는 중국에서 매우 인기가 있고 React는 미국에서 인기가 있다.

npm(Node Package Manager) 패키지 다운로드를 살펴보면 React가 Angular와 Vue를 다시 같은 수준으로 능가합니다. 이것은 리액트가 경쟁사들보다 더 자주 다운로드된다는 것을 증명한다. 리액트는 심지어 가장 많은 직업 기회를 가지고 있어서 매우 인기가 있다.

다른 모든 것이 논의되었으므로, 이제 커뮤니티로 들어가 이러한 프레임워크의 개발을 분석할 수 있습니다. 세 가지 프레임워크 모두에 대해 정기적인 업데이트와 릴리스가 있어 개발이 일정하다는 것을 알 수 있습니다. GitHub 저장소의 통계에 관한 프레임워크를 추가로 비교할 수 있다.

전반적으로, 세 프로젝트 모두 상당한 개발 활동을 보여주고 있습니다. Vue는 React와 Angular보다 GitHub 사용자들에게 더 인기가 있다. 왜냐하면 그것은 더 많은 별과 포크 그리고 수천 명의 시청자들을 가지고 있기 때문이다. 그러나 Vue의 기부자 수는 다른 두 명보다 적다. 한 가지 이유는 Vue가 오픈 소스 커뮤니티에 의해 운영되는 반면 Angular와 React는 구글과 Facebook 직원들이 저장소에 기여하고 있기 때문일 것이다.

마지막 생각

Angular, React 및 Vue를 비교하면서 이제 여러분은 올바른 선택이나 승자가 없다는 것을 깨달았을지도 모릅니다. 이러한 플랫폼마다 장단점이 있습니다. 간단한 프런트엔드 애플리케이션을 구축하기 위해 거의 상호 교환하여 사용할 수 있지만 특정 작업을 더 잘 수행할 수 있는 대규모 프로젝트를 수행할 수 있습니다.

예를 들어 SEO 친화적(검색 엔진 최적화) 웹 사이트를 개발하려면 반응이 가장 좋습니다. 보안을 최적화하는 웹 사이트에서 작업 중이거나 웹 개발 프로세스를 더 짧은 시간 내에 완료하려는 경우 앵글(Angular)을 선택해야 합니다. Vue는 경량 웹 애플리케이션을 개발하는 데 사용해야 합니다.

이 세 가지 중 하나는 작업 중인 프로젝트 또는 요구 사항에 따라 가장 적합한 프로젝트일 수 있습니다. 따라서 세 가지 플랫폼을 모두 사용하는 방법을 배우면 최상의 결과를 위해 사용 사례에 따라 플랫폼을 결정할 수 있기 때문에 매우 편리할 수 있습니다.

from http://it-ground.tistory.com/287 by ccl(A) rewrite - 2021-10-10 05:01:11