728x90
모바일 웹에서 서버측 기술의 고민 과정 중 기존의 ASP.NET 웹폼( Web Form) 모델에 대한 우려를
표했었다. 그리고 실제로 몇 가지 테스트를 해 보았다
: ASP.NET 웹폼 페이지가 자동 생성하는 HTML 코드 보기

이 테스트의 결과는 우려에 비해서는 대략 괜찮음(?) 이었다
몇 가지를 포기하거나 사소한 것을 무시한다면, 웹폼 모델이 웹 표준에 크게 저해되지는 않겠다 싶었다

그러나 여전히 맘 속에 남아 있는 것은 그 몇가지 이다. 마치 어거지로 끼워 맞춘다는 느낌이랄까?

ASP.NET MVC 가 웹폼에 비해 모바일.. 그리고 표준 웹에 더 적합하다는 몇 가지 이유가 있다

1) 뷰스테이트(ViewState)가 없다
뷰스테이느는 히든 값으로 서버에 전송되어 웹에서 상태유지가 가능하도록 지원되는 기술 요소이다
다만 뷰스테이트는 매번 요청 시 마다 송/수신 되므로 대역폭의 낭비가 발생한다
모바일은 대역폭에 굉장히 민감한 환경이다.
전통적인 윈도우 개발 방식의 상태유지를 포기하고 대역폭을 아끼는 쪽에 한표 던진다
ASP.NET MVC 에서도 모델 바인딩 기법을 이용하면 상태는 일부 유지되기에 더 효과적이다

2) 서버컨트롤 배제
웹폼 모델은 정말 윈도우 개발방식과 많이 닮아 있다. 설계철학 자체가 그러했으니까 당연하다
웹폼의 그 수많은 서버컨트롤. 사실 매우 유용한 컨트롤들이다. 다만 기존 환경에서는.
서버컨트롤은 자동으로 HTML 코드로 대체되고 이 코드는 표준을 준수한다고 장담할 수 없다
또한 서버컨트롤에 자동으로 부여된 ID 값은 혼란스러우며 이는 곧 자바스크립트나 CSS의 연동에
일부 제약이 있다는 것을 의미한다
ASP.NET MVC 에서는  서버컨트롤을 사용하지 않는 것이 일반적이다
물론 ASP.MET MVC 차원에서 뭔가를 획기적으로 지원해 주는 것은 아니다.
서버컨트롤을 사용하지 않을 뿐이다.
서버컨트롤을 사용하지 않게 됨으로써 자동으로 생성되는 HTML로 인한 여러 상황을 염두하지 않아도
되며 ASP.NET 의 영역과 별도로 분리하여 잘설계되고 표준적인 마크업을 사용하는 편에 한표 던진다

3) JQuery 와의 연계성
ASP.NET MVC 와 JQuery는 사실 별개의 기술이지만,
ASP.NET MVC 에서는 MVC 프로젝트 템플릿의 일부로 JQuery 라이브러리를 포함시켰다
이는 ASP.NET MVC가 JQuery 와의 연계에 노력을 했다는 증거이며 표준 자바스크립트 라이브러리의
필수성을 볼 때 바람직한 모습이다.

4) 기타 부가 요소
표준 웹, 모바일 환경과 직접적인 연관은 없지만 ASP.NET MVC 만의 매력적인 장점이 있다

- 관계 분리를 통한 좋은 유지보수성
   MVC 철학 자체가 묻어 있는 장점이다. 관계 분리는 각 업무 분야의 커플링을 해소해 다른 요소에
   저해받지 않고 개발, 유지보수, 확장을 가능토록 해 준다

- 관계 분리로 인한 좋은 (자동) 단위 테스트 환경
   관계분리는 자동화된 테스트 시나리오, 단위 요소 테스트에 매우 적합한 모델이다

- URL 라우팅 시스템
  ASP.NET MVC 에서는 URL 라우팅 개념을 도입하여 깔끔한 URL 을 만들 수 있다
  이는 현재 모바일 트랜드와 정확히 일치하는 철학이며 상당히 직관적인 URL의 효과가 있다
  또한 이것은 REST 의 개념과 잘 들어 맞는다

- 그리고 경험. 시도.
  ASP.NET MVC는 닷넷 3.5 이상에서 펼칠 수 있는 기술이다.
  그만큼 최신 기술이며 MS의 전폭적인 지원이 있다. 그리고 웹폼보다는 진보된 시도라 할 수 있다
  (다 알겠지만 웹폼과 MVC의 등급은 없다. 즉 어떤게 훨씬 더 좋다라는 것이 없다는 것이다.
   다만 환경에 맞는 선택만 있을 뿐이다)
  
  새로운 기술 시도, 산업 트랜드 지향 등의 경험. 시도적 측면이 좋다

 

'.NET Framework' 카테고리의 다른 글

ASP.NET MVC, Hello World  (1) 2010.08.04
벌써 ASP.NET MVC 3 ?  (0) 2010.08.03
ASP.NET MVC 구성도  (0) 2010.07.23
ASP.NET MVC 프레임워크  (0) 2010.07.05
ASP.NET 웹폼 결과페이지 검증해 보기  (0) 2010.07.05