표준 웹 기술로 앵귤러 대체
1년 반 후에 출하되는 제품에 대해서는 최신 브라우저로 ECMA6를 사용하는 호화로운 프로젝트를 진행하고 있습니다.그래서 Angular 2(ECMA 6)를 사용할 수 없는 상황에서 Web Components를 사용하는 것이 어떨까 생각했습니다.이왕이면 석기시대로 돌아가지 않고 앵글을 완전히 교체할 수 있을까요?
Angular 교체 방법
youmightnotneedjquery.com이라는 사이트가 있습니다.이것은 기본적으로 현대의 브라우저가 jQuery가 전통적으로 사용하던 대부분의 기능을 실제로 어떻게 가지고 있는지에 대한 것입니다.Angular에게 그런 일이 일어나는지 궁금하네요.
주로 4개의 Angular 피쳐를 사용합니다.교환 방법은 무엇입니까?
- 각도 지시 --> 웹 컴포넌트
- 각도 모듈 --> ECMA 6 모듈 (정확히 동일하지는 않음)
- 각도 루트 --> ?
- 각도 2방향 데이터 바인딩 --> ?
추신. Angular를 Backbone이나 Ember와 같은 유사한 것으로 대체하고 싶지 않습니다.표준 웹 테크놀로지로 대체하고 싶지만, 그 차이를 메우기 위해 작은 도구를 사용해야 한다면 검토해 보겠습니다.
저는 지난 3주 동안 연구를 해왔고, Angular가 급격한 변화의 길을 택한 후 많은 사람들이 대안을 생각하고 있다는 것을 알게 되었습니다.다행히 W3C Web Components 규격은 실제로 필요한 모든 것을 갖추고 있으며, 현재는 폴리머 프로젝트의 폴리필과 함께 사용할 수 있습니다.질문에 답하려면:
- Angular Directives --> Web Components는 모든 브라우저가 지원할 때까지 폴리필을 사용합니다.
- Angular Modules --> ECMA 6 모듈 문제의 일부는 HTML Import로 해결됩니다.그러나 브라우저가 Traceur를 지원할 때까지 사용할 수도 있습니다.
- Angular Routes --> that™ use의 컴포넌트가 있습니다.
- 각도 2방향 데이터 바인딩 --> 폴리머는 플레인 표준 웹 컴포넌트 위에 "매직" 레이어를 추가합니다.여기에는 데이터 바인딩을 포함한 많은 기능이 포함됩니다.
+더 많은 것
HTTP 요청 수를 줄이기 위해 파일을 연결하는 빌드 프로세스가 궁금하다면 Addy Osmani의 Vulcanize 게시물을 참조하십시오.스포일러: 다음 HTTP 2 최적화에서는 필요하지 않을 수 있습니다.
많은 Angular 프로젝트에서는 레이아웃에 Twitter Bootstrap을 사용합니다.폴리머는 그것을 가능하게 할 뿐만 아니라 Google의 Paper 요소와 잘 어울립니다(완전 옵션이지만 매우 훌륭합니다).
웹 컴포넌트 전반에 대해 잘 알고 싶다면 http://webcomponents.org/articles/를 참조하십시오.
여기에 풍부한 웹 컴포넌트가 있습니다.http://customelements.io/ 새로운 NPM이 될지는 모르겠지만 목록 컴포넌트는 매우 인상적이고 증가하고 있습니다.
Angular 컴포넌트에 API를 노출하는 것은 비교적 복잡합니다.사람들은 링크 기능에서부터 이벤트 방출까지 모든 종류의 방법을 생각해냈다.그러나 웹 컴포넌트에서는 컴포넌트가 외부 세계와 상호 작용하도록 하는 것이 매우 쉽고, 실제로 당신이 노출하는 API와 이벤트는 다음과 같은 표준 HTML 태그와 크게 다르지 않습니다.<audio>
.
Angular와 마찬가지로 폴리머와 다트도 사용할 수 있습니다.
결론
전체적으로 Angular를 사용해야 할 이유는 다음과 같은 경우를 제외하고는 없습니다.
- Angular에 대한 소스 코드가 많이 투자되어 있어 모든 것을 표준 웹에 포팅하고 싶지 않습니다.(Angular 2.0은 어차피 코드를 사용하지 않기 때문에 Angular 1을 사용할 수 없습니다.*)
- 귀사의 팀은 새로운 테크놀로지를 배우는 데 너무 게으릅니다(이 경우 웹은 이러한 태도에 적합한 플랫폼이 아닐 수 있습니다).
Angular는 그것이 하고 있는 일에 적합했고, 그들만의 하이프 사이클이 있었다.웹 컴포넌트는 Angular가 해결하려고 했던 많은 문제를 해결합니다.아마도 Angular는 웹 컴포넌트의 개념 증명 역할을 했을 것입니다.하지만 이제 넘어갈 시간이야.웹은 매일 스스로를 재창조하고 있으며 누군가의 치즈를 움직이는 것은 불가피하다.
폴리머가 모든 것에 대한 궁극적인 해답이라고 말하는 것은 아닙니다.기껏해야 2년 안에 쓸모없는 앵글이지만, 지금은 배우고 사용할 수 있는 좋은 기회입니다.그러나 W3C 표준은 쉽게 사라지지 않으며, 폴리머는 W3C 규격에 훨씬 더 가까운 경향이 있습니다.
™라는 요소가 새롭게 등장했습니다™라는 앱이 등장했습니다.
TLDR: 독자적인 프레임워크를 전개하기 전에 Angular 2.0과 거의 호환되는 Angular 1.3 어플리케이션을 작성하는 것을 진지하게 검토한다.
Angular는 많은 작업을 올바르게 수행하고 있기 때문에 리플리케이트를 시도하고 있는 것 같습니다.기본적으로 여러 라이브러리를 조합하여 자신의 것을 롤업합니다.엔지니어링에 막대한 시간을 투자하지 않는 한 구축되는 프레임워크는 다음과 같습니다.
- 간단한 문서 작성
- 크로스 브라우저 유지보수의 악몽과 (최악의)
- 신입사원이 배우기 어렵다
원하는 것을 할 수 있는 프레임워크가 아직 존재하지 않았다면 자신의 것을 롤하는 것이 타당하다고 생각합니다만, Angular를 재현하려고 하면 다음과 같이 됩니다.
- 전임 팀이 이미 수행한 많은 엔지니어링 작업을 맡아서 제품 제작에 소비할 수 있었습니다.
- 다음과 같은 작업을 수행해야 하므로 신입 사원의 탑승이 훨씬 더 어려워졌습니다.
- 다른 곳에서 사용할 수 있는 오픈 소스 프레임워크에서 스킬을 키우는 대신 자체 개발한 프레임워크를 사용할 수 있는 후보자를 찾습니다.
- 이러한 종업원이 프레임워크를 사용하도록 훈련한다(또한 문서가 성숙하지 않은 한 행운을 빈다).
Angular를 어떻게 교체할지를 묻는 질문인 건 알지만, 너무 많은 회사들이 자신의 회사를 굴려 비용을 지불하는 방식을 택하는 것을 봐왔어요.다시 말씀드리지만, 예산에 프레임워크 구축(문서 작성 및 유지 보수)에 필요한 핵심 리소스가 많이 포함되어 있고, 일정이 촉박해지면 나중에 압박을 가할 때 코너를 줄일 가능성이 없다고 생각되면, 직접 롤링을 하는 것이 타당할 수 있습니다.단, Angular 2.0으로의 포팅과 Angular 루트를 쉽게 할 수 있도록 Angular 1.3 어플리케이션의 작성 방법을 진지하게 검토해야 한다고 생각합니다.놓치고 있는 커뮤니티의 규모를 확인해 주세요.
http://www.airpair.com/js/javascript-framework-comparison
언급URL : https://stackoverflow.com/questions/26382156/replacing-angular-with-standard-web-technologies
'programing' 카테고리의 다른 글
eslint를 typescript와 함께 사용 - 모듈 경로를 확인할 수 없습니다. (0) | 2023.03.13 |
---|---|
플럭스 스토어 또는 액션(또는 둘 다)이 외부 서비스에 접촉해야 합니까? (0) | 2023.03.13 |
React-router TypeError: _this.props.이력이 정의되지 않았습니다. (0) | 2023.03.13 |
Node.js 코드에서 MongoDB 연결을 닫지 않는 것이 권장되는 이유는 무엇입니까? (0) | 2023.03.13 |
Spring Boot 콘솔 기반 응용 프로그램 구조 (0) | 2023.03.13 |