2008-09-03 3 views
21

일부 winforms 및 클라이언트 응용 프로그램을 사용하는 사람은 이전 ASP .NET 페이지의 작동 방법을 배우거나 ASP .NET MVC로 바로 넘어갈 가치가 있습니까?전통적인 ASP .NET Web Forms와 MVC

저는 스크린 캐스트 시리즈와 ASP .NET 사이트의 것들에서 알 수없는 일반 C#에 관한 지식에서 함정이나 함정을 찾고 있습니다.

+0

http://stackoverflow.com/questions/102558/biggest-advantage-to-using-asp-net-mvc-vs-web-forms?lq=1 – nawfal

답변

40

다음은 MVC에 대한 좋은 점입니다. 그것은 일반적인 ASP.NET Web Forms보다 프레임 워크의 기본에 더 가깝게 작동합니다. MVC를 사용하고 이해함으로써 WebForms의 작동 방식을 더 잘 이해할 수 있습니다. WebForms의 문제점은 많은 마술과 Windows Forms와 같은 웹 작업을 만들기 위해 약 6 년 동안 노력하고 있으므로 컨트롤 트리 계층 구조와 모든 것이 웹으로 변환된다는 것입니다. MVC를 사용하면 WinForm에 영향을 미치지 않고 핵심을 얻을 수 있습니다.

MVC로 시작하면 필요한 경우 WebForms로 쉽게 이동할 수 있습니다.

+2

MVC로 시작한 다음 WebForms로 이동 하시겠습니까? 너무 바보. 그 같은 forwrad 한 단계와 3 뒤로 이동 – Zakos

4

ASP.Net Webform은 ASP.NET MVC보다 기본 프레임 워크와 완전히 다른 추상화입니다. MVC를 사용하면 ASP.NET Webform보다 커버 아래에서 일어나는 일을보다 효과적으로 제어 할 수 있습니다.

제 생각에는 일을하는 여러 가지 방법을 배우는 것이 일반적으로 더 나은 프로그래머가 될 것이지만,이 경우에는 배울 것이 더 좋을 수도 있습니다.

1

IMO, 일반적인 웹 양식 시나리오에는 MVC보다 많은 함정이 있습니다. Viewstate와 데이터 바인딩은 때때로 까다로울 수 있습니다.

MVC의 경우 단순한 간단한 양식 포스트/렌더링 방식의 구식 방식입니다. 그것은 나쁘지 않다, 그것은 단지 다르다. 그리고 너무 깨끗하다.

1

지금까지 전통적인 모델 만 사용했기 때문에 기술적으로 MVC와 "전통적"에 대해 말할 수는 없습니다. 내가 읽은 것으로부터, 나는 다른 하나보다 훨씬 뛰어나다 고 생각하지 않는다. 나는 일단 당신이 "그것을"얻으면, 당신은 양쪽 모두에서 매우 생산적 일 수 있다고 생각합니다.

실제로, 대부분의 책, 코드 샘플 및 기존 응용 프로그램은 "전통적인"방식으로 작성되었습니다. 당신은 더 많은 도움을받을 수 있으며 귀하의 기술은 "전통적인"방식으로 작성된 기존 응용 프로그램을 가진 고용주에게 더 ​​유용 할 것입니다.

+2

나는 코드 샘플 인수에 동의하지 않습니다. MVC는 HTML/Javascript로 C# 메소드를 사용합니다. webcontrol 물건은 거기에서 꺼내 져서 정말로 다른 것으로 바뀌지 않습니다 *. 모든 웹 기술은 HTML로 작동하고 자바 스크립트로 작업 할 수 있으므로 (asp.net 컨트롤로 무언가를하는 방법을 찾는 것보다 훨씬 빨리 내 문제에 대한 해결책을 찾았습니다. –

+0

고전적인 ASP.NET 경험이 있고 잊을 수있는 많은 것들을 가지고 있다면 ASP.NET MVC를 시작하기 위해 배워야 할 몇 가지 새로운 것들이 있습니다. –

8

나는 Nick에 동의한다 : MVC는 웹 패러다임 real 웹 패러다임에 훨씬 가깝다. 그리고 그것을 사용함으로써 웹 사이트가 실제로 어떻게 작동하는지에 직면하게 될 것이다. WebForms는 이러한 것들을 대부분 백그라운드에서 벗어나서 PHP 배경에서 가져온 것으로, 정말 반 직관적 인 것으로 나타났습니다.

직접 MVC로 건너 뛰고 WebForm을 건너 뛰는 것이 좋습니다. 말했듯이, 당신은 필요할 경우 다시 돌아올 수 있습니다.

2

귀하의 동기에 따라 다릅니다. ASP.NET 개발자로서 자신을 판매하려면이 두 가지가 모두 필요합니다.

이것은 사용자의 편의를위한 것일뿐 아니라 MVC로 이동하십시오.

내 개인적인 느낌은 웹 폼이 앞으로 몇 년 동안 더 많이 사용될 것이라는 것입니다. 많은 사람들이 시간과 에너지를 투자합니다. 그러나 나는 사람들이 천천히 (또는 천천히 그렇게 천천히 움직이지는 않을 것이다) 이주 할 것이라고 생각한다. Webforms는 드래그 앤 드롭 방식의 VB4 모트를 사용하여 웹 개발에 관해 생각할 수있는 유일한 방법이었습니다. 그것은 일종의 일을하지만 그것은 통제를 많이하지 않습니다.

0

원시 수준의 웹 요청/응답 및 원시 html/CSS 렌더링에 대해 경험이 없거나 경험이없는 경우 MVC를 시작하는 것이 좋습니다. 그러면 웹 폼과 MVC의 장점과 단점을 더 잘 이해하게 될 것입니다. 두 가지 모두 서로 다른 필요를 충족시키기 때문에 둘 다 미래에있을 것입니다.

비록 webforms가 매우 오용되고 남용 된 플랫폼이라고 말할 것입니다. "look no code"쓰레기의 상당 부분이 그것을 사용하는 모든 사람들에게 나쁜 이름을줍니다. 시간을 들여 이해하고 올바르게 사용하면 매우 확장 가능하고 강력한 플랫폼을 찾을 수 있습니다.

2

ASP.NET MVC는 클라이언트 코드를 서버 코드에서 분리하려는 개발자를위한 것입니다. 나는 자바 스크립트, XHTML, 서버에서 서버로 이동할 수있는 CSS 클라이언트 (서버 기술에 상관없이)를 작성하려고했다. 클라이언트는 적합하고 끝내기까지 시간이 많이 걸리므로 가능한 많은 서버에 대해 (및 하위 구성 요소)를 사용하려고합니다. 또한이 디커플링을 통해 서버는 WPF/Silverlight와 같은 HTTP 및 꺽쇠 괄호 (및/또는 JSON)를 지원하는 클라이언트 기술을 지원할 수 있습니다. ASP.NET MVC가 없으면 전체 ASP.NET 팀과 적대적인 관계에 빠져들게되었습니다.하지만 Scott Guthrie는 멋진 대인입니다. 전임자들 (그리고 아마도 Scott 자신)의 수년이 지난 후에 MVC를 가져 왔습니다. Windows Forms 프로그래머가 웹 응용 프로그램을 작성하도록합니다.

ASP.NET MVC가 나오기 전에 저는 주로 HTTP 처리기 인 ASHX 파일을 기반으로 ASP.NET 응용 프로그램을 작성했습니다. 나는 "진짜"Microsoft 상점이이 행동을 장려하지 않을 것이라고 확신 할 수 있습니다. (현명한) 관리 관점에서 모든 개발자가 공급 업체가 권장하는 방식으로 공급 업체의 도구를 사용하는 것이 더 쉽습니다. 따라서 1 ~ 2 년 뒤의 IT 매장에서는 MVC 이전 방식을 알고 있어야합니다. 이것은 유지 관리 할 "유산"시스템이있는 경우에도 유용합니다.

그러나 녹색 필드의 경우 MVC가 끝납니다.

관련 문제