Angular와 ASP.NET MVC / Web API를 함께 사용합니까?
ASP.NET MVC / Web API를 사용하여 왔고 이제 Angular를 사용하기 시작했지만 적절한 혼합 방법이 명확하지 않습니다.
Angular를 사용하면 MVC 서버 측 개념이 여전히 가치를 제공합니까? 아니면 순전히 각 HTTP 호출에 대한 데이터를 얻기 위해 웹 API를 엄격하게 사용해야합니까?
Angular로 전환하는 ASP.NET MVC 사람에 대한 모든 팁이 도움이 될 것입니다.
순수 웹 API
저는 ASP.NET MVC로 꽤 하드 코어 했었지만 Angular를 만났기 때문에 서버 측 콘텐츠 생성 프레임 워크를 사용 하는 이유가 하나도 없습니다 . Pure Angular / REST (WebApi)는 더 풍부하고 부드러운 결과를 제공합니다. 훨씬 더 빠르고 펑키 한 해킹없이 데스크톱 애플리케이션에 매우 가까운 웹 사이트를 구축 할 수 있습니다.
Angular에는 약간의 학습 곡선이 있지만 팀이이를 마스터하면 더 짧은 시간에 훨씬 더 나은 웹 사이트를 구축 할 수 있습니다. 주로 이것은 더 이상 이러한 모든 상태 (적은) 문제가 없다는 사실과 관련이 있습니다.
예를 들어 기존의 서버 측 프레임 워크가 있는 마법사 양식 을 상상해보십시오 . 각 페이지는 별도로 확인하고 제출해야합니다. 페이지의 내용이 이전 페이지의 값에 따라 달라질 수 있습니다. 사용자가 뒤로 버튼을 눌러 이전 양식을 다시 제출하고있을 수 있습니다. 클라이언트의 상태를 어디에 저장합니까? Angular 및 REST를 사용할 때 이러한 모든 합병증은 존재하지 않습니다.
그러니 .. 어두운면으로 오세요. 우리는 쿠키를 가지고 있습니다.
AngularJS는 단일 페이지 애플리케이션 패러다임과 더 관련되어 있으므로 마크 업을 렌더링하는 서버 측 기술의 이점을 많이 얻지 못합니다. 함께 사용하는 것을 방해하는 기술적 이유는 없지만 실제적으로는 왜 그렇게 하시겠습니까?
SPA는 필요한 자산 (JS, CSS 및 HTML보기)을 검색하고 자체적으로 실행되며 데이터를 보내거나 검색하기 위해 서비스와 다시 통신합니다. 따라서 이러한 서비스를 제공하려면 서버 측 기술이 여전히 필요하지만 (인증 등의 다른 수단 포함) 렌더링 부분은 MVC가 수행하는 작업을 제외하고는 노력의 중복이기 때문에 특히 유용하지 않습니다. 서버 측에서 Angular는 클라이언트에서 수행합니다. Angular를 사용하는 경우 최상의 결과를 위해 클라이언트에서 사용하고 싶습니다. Angular 포스트 HTML 양식을 만들고 MVC 작업에서 부분보기를 검색 할 수 있지만 Angular의 가장 좋고 쉬운 기능을 놓치고 삶을 더 어렵게 만들 수 있습니다.
MVC는 매우 유연하며 SPA 응용 프로그램의 서비스 호출에 사용할 수 있습니다. 그러나 WebAPI는 이러한 서비스에 대해 더 세밀하게 조정되고 사용하기가 조금 더 쉽습니다.
기존 WebForms 및 MVC 응용 프로그램에서 마이그레이션 한 몇 가지를 포함하여 여러 AngularJS 응용 프로그램을 작성했으며 ASP.NET 측면은 AngularJS 응용 프로그램을 실제 클라이언트로 제공하고 응용 프로그램 계층을 호스팅하기위한 플랫폼으로 발전했습니다. 클라이언트는 REST를 통해 통신합니다 (WebAPI 사용). MVC는 훌륭한 프레임 워크이지만 일반적으로 이러한 종류의 응용 프로그램에서 작업없이 자신을 찾습니다.
ASP.NET 응용 프로그램은 그 책임이 다음으로 제한되는 인프라의 또 다른 계층이됩니다.
- 종속성 컨테이너를 호스팅합니다.
- 비즈니스 로직 구현을 컨테이너에 연결합니다.
- JS 및 CSS 용 자산 번들을 설정합니다.
- WebAPI 서비스를 호스팅합니다.
- 보안을 강화하고 로깅 및 진단을 수행합니다.
- 성능을 위해 애플리케이션 캐시와 인터페이스합니다.
SPA의 또 다른 장점은 팀의 대역폭을 늘릴 수 있다는 것입니다. 한 그룹은 서비스를 폭발시킬 수 있고 다른 그룹은 클라이언트 앱에 배치 할 수 있습니다. REST 서비스를 쉽게 스텁 또는 모의 처리 할 수 있으므로 모의 서비스에서 완전히 작동하는 클라이언트 앱을 사용할 수 있고 완료되면 실제 서비스로 교체 할 수 있습니다.
Angular에 미리 투자해야하지만 큰 성과를 거두었습니다. 이미 MVC에 익숙하기 때문에 몇 가지 핵심 개념에 대해 잘 알고 있습니다.
작업중인 프로젝트에 따라 다릅니다.
angularJS가 당신에게 새로운 것이 있다면 나는 시작하기 위해 작은 위험 / 압력 프로젝트를 선택하고 올바른 방법으로 일하는 방법을 배우고 싶습니다 (압박, 기한 때문에 Angularjs를 사용하는 많은 프로젝트를 잘못 보았습니다 ... 예를 들어 JQuery를 사용하거나 컨트롤러 내부에서 DOM에 액세스하는 등 적절한 방법으로 학습 할 시간이 부족합니다.
프로젝트가 그린 필드이고 AngularJS에 대한 경험이 있다면 ASP.net MVC를 포기하고 서버 측에서 순수한 REST / WebAPI를 사용하는 것이 좋습니다.
기존 프로젝트 인 경우 복잡한 기능 하위 집합을 선택하고 해당 페이지를 별도의 angularJS 앱으로 빌드 할 수 있습니다 (예 : 앱은 표준 단순 / 중간 복잡성 Razor 기반 페이지의 큰 무리로 구성되지만 필요한 고급 편집기 / AngularJS로 빌드 할 대상이 될 수 있습니다).
You can use Angular framework for front end development i.e to construct views. It provides you a robust architecture and once you learn you will find it's advantages over Asp.net MVC's razor view engine. To fetch data you have to use WebAPIs and now ASP.Net MVC project support both WebAPI and MVC controllers out of the box. You can refer below link start with Angular and ASP.Net MVC application development.
http://hive.rinoy.in/angular4-and-asp-net-mvc-hybrid-application/
There are two frameworks currently available for developing UI components for angular applications. I have used both these frameworks in one of the angular projects that I worked.
Material https://material.angular.io/
PrimeNG https://www.primefaces.org/primeng/#/
참고URL : https://stackoverflow.com/questions/21097592/mixing-angular-and-asp-net-mvc-web-api
'program tip' 카테고리의 다른 글
개인 키를 RSA 개인 키로 변환하는 방법은 무엇입니까? (0) | 2020.09.14 |
---|---|
Conda : github에서 직접 설치 / 업그레이드 (0) | 2020.09.14 |
Tensorflow 백엔드가있는 Keras가 CPU 또는 GPU를 마음대로 사용하도록 강요받을 수 있습니까? (0) | 2020.09.13 |
Bootstrap 4의 .pull-left 및 .pull-right 클래스는 어떻게 되었습니까? (0) | 2020.09.13 |
.Net에서 웹 서비스를 호출 할 때 유효하지 않은 SSL 인증서 오류 우회 (0) | 2020.09.13 |