Angular.js 및 ASP넷 MVC 4
ASP가 있어요.NET MVC 4 프로젝트에서는 어떤 JavaScript 프레임워크 또는 라이브러리를 Angular.js 또는 Knock.js를 사용할지 아키텍처 결정을 내리지 못하고 있습니다.현재 Knockout.js보다 Angular.js를 사용하는 것을 검토하고 있습니다만, 프로젝트 개발 도중에 실수를 한 것을 알고 싶지 않습니다.
다음은 배경 설명입니다.
- 양방향 모델 데이터 바인딩이 필요합니다.
- 우리는 시야를 테스트할 수 있는 능력이 필요하다.엔드 투 엔드 유닛 테스트를 할 수 있으면 좋겠습니다.또한 지속적인 통합을 사용하고 있습니다.
- 「변경 저장」기능.예를 들어, 유저가 페이지에서 변경을 실시하는 경우는, 변경을 검출해, 변경을 보존하도록 유저에게 요구할 수 있는 기능이 필요합니다.
- "알림" 기능.즉, 사용자는 약 8시간 동안 로그온하여 다른 사용자에 의한 변경(오류, 데이터 상태 변경 등)에 대해 알림과 갱신이 필요합니다.
- 우리는 우리의 지원서를 "향후 증명"해야 합니다.현재 사업부에서는 모바일 기기 지원이 필요한지 여부를 결정하지 않았지만, 시간문제라는 것을 알고 있습니다.
- 우리 팀은 초급부터 상급 개발자까지 다양한 경험을 가진 개발자들로 구성되어 있습니다.
- 현재 우리의 모델은 복잡하며 더 많은 것을 얻을 수 있습니다.
- 또한 RAD, 코드 재사용 및 유지보수성도 고려해야 합니다.
나는 여기서 훌륭한 답을 읽었고 Scott Allen의 Angular에 대한 인터뷰를 보았다.
현재 ASP에서 변경할 수 없기 때문입니다.Web API와 같은 서버측에서 무언가를 사용하기 위한 NET MVC 4 아키텍처 MVC 4를 사용하여 Angular.js를 구현하려고 하는데 몇 가지 문제가 있습니다.이렇게 하면 서버에 1개, 클라이언트에 1개씩 2개의 모델이 있습니까?
앵글과 녹아웃에 대한 "어느쪽이 더 나은" 논의를 찾는 것은 아닙니다. 왜냐하면 둘 다 장단점이 있다고 생각하기 때문입니다.ASP에서 JavaScript 프레임워크나 라이브러리를 구현하기 위한 실제 코드를 찾고 있습니다.NET MVC 4 어플리케이션앞으로 2년 이상 살 수 있는 솔루션이 필요합니다.
아이디어나 제안이 있나요?답은 Knock이나 Angular가 아니라 다른 JavaScript 프레임워크일 수도 있습니다.
내 2센트어치.
프리암블 - 각도 및 녹아웃을 모두 사용해 왔습니다.MVVM/MVC lib로 구축된 세 번째 비사소한 프런트 엔드에 있습니다.
mvVM이 wpf/silverlight 메카니즘과 매우 비슷하기 때문에 kno부터 시작했습니다.그리고 그것은 잘 작동한다.튜토리얼과 매뉴얼은 최상급입니다.모든 코더는 며칠 이내에 knocko.js를 사용할 수 있습니다.또한 .net에서 mvvm을 사용한 경우 몇 시간 이내에 사용할 수 있습니다.
그러나, 나는 요즘 angular를 사용하고 있기 때문에, 다음과 같은 이유로 그것을 계속 사용할 것이다.
angular는 완전한 프레임워크입니다. 녹아웃은 정말로 2방향 결합에 관한 것입니다.나머지 작업을 수행하려면 backbone.backbone/jquery와 같은 다른 라이브러리가 여전히 필요합니다.
주입이 . 즉, angular에는 의존성 주입이 있습니다. 은 angular의 에 매우 합니다.
테스트를 조롱하고 코드에 구조를 부여합니다.angular는 정규 JS 변수를 $scope 개체 내에서 관측 가능한 값으로 처리합니다.즉, 특별한 방법으로 신고할 필요가 없습니다.
저는 열성적인 팬보이가 아닙니다.그들이 현재 가지고 있는 "펑키한" MVVM/MVC 하이브리드 아키텍처가 아닌 MVVM 아키텍처로 더 많이 이행할 수 있다고 생각합니다.
각도의 가장 큰 문제는 문서입니다.녹아웃과 비교하면 슬프다.코더를 최신 상태로 만드는 데 시간과 비용이 더 들 것입니다.하지만 일단 그들이 그곳에 도착하면, 그것은 현재 최선의 선택 IMHO이다.
이 질문이 커뮤니티의 관심사가 되어 다행입니다.완전성을 위해 다음과 같이 했습니다.
Angular랑 같이 갔었는데JS 및 ASPNET MVC 4 그리고 내가 한 것이 기뻤다.그러나 Angular는 학습 곡선이 가파르지만 지시의 힘 때문에 그만한 가치가 있습니다.
- 양방향 모델 데이터 바인딩 필요 - 발생 시 MVC 컨트롤러에서 나오는 초기 값을 설정해야 했습니다.이를 위해 ng-init Atribut을 사용했습니다.
- 우리는 시야를 테스트할 수 있는 능력이 필요하다 - 나는 각도(Angular)를 따라갔다.테스트용 JS 문서
- "Save Changes" 기능 - Angular의 지시어를 사용하여 구현했습니다.
- "알림" 기능 - toastr.js 및 디렉티브(schweet)를 사용하여 구현했습니다.
- 우리는 우리의 어플리케이션을 "향후 증명"할 필요가 있다 - 구글의 AngularJs 계획은 모르지만, Angular와 협력한 후JS는 곧 어디론가 갈 수 없을 것 같아서 더 널리 채택될 것으로 기대했습니다.
AngularJs에 대한 의견은 많지 않지만 Knockout에 대해 몇 가지 의견을 드리고 싶습니다.
Knockout은 주로 뷰와 뷰 모델을 연결하는 데이터 바인딩 라이브러리이지만, 그 이상의 기능은 제공하지 않습니다.복잡한 클라이언트 기반 웹 사이트를 구축하기 위해 녹아웃만 메인 라이브러리로 사용하는 것은 권장하지 않습니다.
스파와 같은 기능을 구현하고 있는지(해시 태그 내비게이션 등) 또는 주로 MVC 서버 측 뷰(레이저 등)에 대해서는 언급하지 않았습니다.페이지 단위의 신속한 데이터 바인딩을 원하신다면 다시 한번 생각해 보겠습니다.이 두 가지(각도 또는 녹아웃) 모두 MVC와 같은 서버 측 접근 방식이 아니라 클라이언트 측 개발 경험을 향상시키도록 설계되었습니다.
SPA 접근방식을 고려하고 있는 경우, 일부라도 View 활성화 라이프 사이클을 어느 정도 제어할 수 있는 프레임워크가 필요할 수 있습니다.
데이터 바인딩 능력과 신뢰성에 관한 한, 저는 Knocko를 믿습니다.나는 그것을 많이 사용하고 있고, 꽤 좋아하게 되었습니다.녹아웃의 느낌을 좋아한다면 듀란달에 대해 알아보는 것이 좋을 것이다.Durandal은 많은 "스파" 웹 프로젝트의 요구를 충족시킬 수 있는 적절한 프레임워크입니다.Knockout 등 실적이 있는 여러 라이브러리를 기반으로 구축된 클라이언트 측 프레임워크입니다.Angular보다 약간 가볍고 사용하기 쉬울 수 있습니다.
우리는 꽤 큰 ASP를 구축하고 있다.Durandal with Knockout을 사용하여 개발의 관점에서 상황을 강화하고 ASP와의 통합을 강화하는 추가 파사드와 함께 사용하는 Net MVC 웹 사이트.Net MVC는 간단합니다.기존의 서버측 녹아웃 기능을 사용하는 것은 권장하지 않습니다.MVVM 패턴의 실제 성능을 제한하기 위해서입니다.
언급URL : https://stackoverflow.com/questions/18199174/angular-js-and-asp-net-mvc-4
'programing' 카테고리의 다른 글
WooCommerce 관리 주문 개요에 주문 메타데이터 추가 (0) | 2023.02.26 |
---|---|
WordPress paginate_links - 사용방법 (0) | 2023.02.26 |
Wordpress 4.9+에서 admin-ajax.php의 PHP 오류 표시 (0) | 2023.02.26 |
'security.basic.enabled' 속성은 사용되지 않습니다.보안 자동 구성은 커스터마이즈할 수 없습니다. (0) | 2023.02.26 |
echo를 사용한 워드프레스 vs 쇼트코드 함수 반환 (0) | 2023.02.26 |