2010-01-15 2 views
5

나는 개봉과 재 설계가 필요없는 고전 ASP로 작성된 하루에 약 3000 명의 순 방문자를 얻는 공개 직면 취미 사이트를 운영합니다. 나는 ASP.net으로의 업그레이드가 애호가 (RSS 피드, 인증 및 사용자 프로파일 소비)를 위해 ASP에서 너무 어려울 수있는 기능을 구현하는 최선의 방법이라는 것을 깨달았지만, 한 번 붙어서 재 설계/업그레이드를 지나쳐 버립니다.ASP.net WebForms 또는 MVC 사용에 대한 조언

그러나 웹 양식이나 MVC와 같이 항상 출시 할 새로운 릴리스가있는 것 같아서 개선해야 할 부분이있는 것 같아 불확실한 상태로 마비되었습니다. 학습 곡선. 그래서 저는 WebForms에 대해 몇 시간을 읽은 다음 MVC에 관해 생각하는 것이 더 낫다는 것을 알게 된 다음, MVC에 대해 읽었고 실제로하려고하는 것에 적합한지 궁금해하는 내용을 읽었습니다.

기존의 정적 정보 사이트 (카탈로그 또는 사용자 콘텐츠 기반이 아닌)에 적합한 튜토리얼 및 시작 사이트는 없습니다.

내 사이트는 거의 변경되지 않는 약 75 % 정적 정보 페이지입니다. 그러나 ASP 스크립팅은 동적으로 또는 무작위로 디자인 요소 (예 : 헤더 사진)를 선택하거나 연중 무작위로 특정 사이드 바 상자를 제공하는 등 모든 페이지의 사용자 인터페이스에서 필수적입니다.

내가 갖고있는 스크립팅의 종류는 무작위로 선택한 페이지의 30 개 헤더 이미지 중 하나를 표시하는 스크립트와 같은 텍스트와 링크를 표시하는 스크립트입니다. 나에게 특정 검색 키워드를 특정 페이지의 콘텐츠와 관련이 있다고 선언하고 페이지가로드 될 때 검색 입력 상자에 텍스트로 미리로드되도록합니다.

나머지 페이지의 대부분은 데이터를 표시합니다. 그 중 일부는 작은 레코드 세트 (연중 특정 날짜에 대해 알 수있는 유형 정보)이며이를 저장하고 페이지 자체의 Array 변수에서 가져옵니다. 다른 사람들은 거의 변하지 않는 Access 데이터베이스에서 CUD 기능을 구현하는 데 방해가되지 않는 정보를 사이트에서 살며 (필요한 역할과 인증을 통해 보안을 유지), 데이터베이스를 오프라인으로 업데이트하고 업로드하여 변경 사항을 실시간으로 보냅니다. .

ASP.net을 사용하면 SQL Server로 이동하여 실제 관리 페이지를 구축하는 것이 좋습니다. 나는 접근 할 필요가 없다.

그러나 원시 HTML 및 CSS를 작성하는 데 익숙해졌으며 개념적으로 내 머리를 잡기 위해 WebForms (특히 Viewstate 및 이벤트/포스트 백)를 찾는 중입니다. 비록 필자가 익숙한 일부 서버 측 코드가있는 파일 시스템의 정적 페이지에 더 적합하다고 할 수 있습니다.

반면 MVC는 사랑스럽게 손으로 코딩 된 디자인에 적합하지만 모든 것이 데이터베이스에서 가져온 것 같습니다.

무엇을 권하고 싶습니까? 모든 정적 페이지를 데이터베이스로 가져 와서 MVC의 "기사"보기를 통해 제공해야합니까?

저는 전문 개발자는 아니므로 이력서에서 가장 좋아 보이는 것이 아닙니다. 나는 (a) 고전적인 ASP의 VBScript 인라인 표현식에서 오는 누군가를위한 최소한의 학습 곡선과 (b) 내 사이트가하는 것과 가장 어울리는 것이 무엇인지, 그리고 (C) up과 CSS.

답변

7

확실히 MVC로 이동하십시오. 특히 HTML/CSS 사용자로서 더 편한 경우가 특히 있습니다.포스트 백은 대체로 정적 인 사이트에는 이점이 없으며 페이지 라이프 사이클을 앞두고 몇 달이 걸릴 것입니다. 필자는 6 개월의 코딩 후 라이프 사이클의 마스터였던 개발자를 만나지 않았습니다.)

ASP 클래식 사이트를 MVC로 변환하는 작업은 기본적으로 HTML 및 ASP 태그를 뷰로 이동하고 라우팅 메커니즘을 사용하여 기존 URL을 복제하는 작업을 포함합니다. 좀 더 현대적인 기능을 사용하기 위해 스크립트를 업그레이드해야하지만, 그것은 내가 상상할 수있는 아주 간단해야한다.

MVC에서 모든 것이 데이터베이스에서 가져온 아이디어에 동의하지 않습니다. 아키텍처와는 조금 관련이 있습니다. MVC 프레임 워크에서 100 % 정적 사이트를 코딩하고 그것을 사랑했습니다. :)

"내 웹 경험은 MVC, 엔터프라이즈 웹 애플리케이션 용 WebForm은 아마도."

4

MVC는 현재 수행중인 작업에 매우 적합합니다.

필요한 경우보기가 정적 인 것이 좋습니다. 예를 들어, MVC의 File-> New Project 템플릿에 의해 생성 된 것을 살펴보십시오.

이미 HTML/CSS를 작성하는 데 익숙하다는 점을 고려하면 두 프레임 워크 모두 학습 곡선을 제공 할 것이므로 MVC를 적극 권장합니다. WebForms보다 MVC가 요구 사항 A와 C에 훨씬 더 적합하다는 것을 알게 될 것입니다 (둘 다 B를 만족시킵니다).

0

웹 양식에 익숙하고 이벤트 중심 모델과 같이 항상 MVP (Model-View-Presenter)을 볼 수있는 경우 가장 생산성있는 것을 사용하십시오.

ASP.NET MVC은 정말 좋으며 나를 위해 생산성이 향상됩니다.

2

경험을 살려 ASP.NET MVC를 사용하도록 제안합니다. HTML & CSS에 익숙하므로 일주일도 안되는 MVC 패턴에 익숙해 져야합니다. 또한 MVC는 데이터를 보여주는 것보다 더 빠르고 더 빠르며 출력 캐싱을 지원하므로 정적 페이지를 캐시하고 놀라운 속도를 낼 수 있습니다. 또한 둘 사이의 혼합을 사용하는 것은 문제가되지 않습니다. WebForms 페이지를 가지고 필요할 때 컨트롤을 사용할 수 있습니다.

0

우선 가장 중요한 것은 다시 쓰기가 노력해야한다는 것입니다. 필자의 경험에 따르면 다시 쓰기 작업은 예상보다 훨씬 많은 작업을 수행하며 투자 회수 기간이 길다. 그것이 완료되지 않아야한다는 것을 의미하지는 않습니다. 실제로 시작해야하는 좋은 이유가 있어야 함을 의미합니다. 언급 한 기능은 기존 ASP에서 단 몇 분 만에 쉽게 구현할 수 있습니다. 레거시 애플리케이션은 비틀기, 버그 수정 및 숨겨진 기능으로 무서워하고 있습니다. 재 작성은 일반적으로 그 년의 경험을 잃는 것을 의미합니다. 그것은 모두 현재 기능/새로운 기능 비율에 따라 다릅니다.

둘째, 다시 작성하려는 경우 asp.net 외에 체크 아웃 기술도 필요할 수 있습니다. 당신이 설명하는 사이트는 asp.net mvc보다 django에 더 적합한 콘텐츠 지향적 인 것으로 보인다. 귀하의 사이트에 행운을 비네.

0

HTML/CSS에 익숙한 ASP.NET MVC를 사용하는 것이 좋습니다. 또한 라우팅과 같은 기능을 사용하면 더 나은 방법으로 웹 사이트의 구조를 구성 할 수 있습니다. 또한 귀하의 웹 사이트는 URL 때문에 방문자를 훨씬 예측하게 만듭니다.

예 : ASP.NET 및 ASP.NET MVC에 ASP에서 통과의 내 경험에서

www.domain.com/hobbies/photography 
2

, ASP.NET MVC에 ASP에서 통과하기가 쉽습니다.

weblogs.asp.net/scottgu/archive/2010 : 그러나, 학습 곡선은 당신이 읽은 후, 예를 들어, 버전 2의 새로운 기능을 참조 읽고 http://nerddinnerbook.s3.amazonaws.com/Intro.htm 를 따라하십시오 그렇게 쉬운 일이 아닙니다 /01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx

숙련 된 개발자를위한 RAD가 될 것입니다!

관련 문제