Language/ASP.NET MVC3 | Posted by 아키텍처 2012. 5. 23. 17:30

02. ASP.NET MVC 란?

 
 

ASP.NET MVC Framework 은 기존 닷넷의 패러다임 전환이라 할 수 있다.


기존 웹폼에서의 문제점과 현재 웹의 트렌드까지 생각한 녀석인 것이다. (뭔가 대단한거 같다 ㅋㅋ)



1. 일단 기존 웹폼은 무엇이 문제였는지부터 알아보자.


웹폼은 기존 윈폼을 기반으로 하여, 파생된 녀석이라 할 수 있다.


이러다 보니 아무래도 부자연스러움(?)이 존재하게 되었는데, 이중 몇가지를 뽑아보자.


ViewState로 인한 부하 

클라이언트와 서버간의 데이터를 기록해 놓은 메커니즘으로 이 데이터가 모든 요청마다 계속 누적되어 

사이트 호출시 느린 응답속도를 야기시킨다.


서버컨트롤의 사용

원하는 정확한 HTML태그로 렌더링하지 못하고, 웹표준에 부합하지 못하는 경우가 많았다. 또한 CSS를 적

용하기 어려운 구조로 되어있었다. 이는 서버컨트롤과 HTML태그를 뒤섞어 사용하게 되고, 이로인한 

혼선을 피하기 어려웠다.


테스트작업의 난해함

코드비하인드 모델링을 정확히 분리하기 힘듬으로 인해, 단위테스트, 통합테스트시 어려움을 발생시켰다.



2. 현재 웹의 방향은 어떠한가?


웹표준

사용자가 다양한 브라우저로 웹 페이지에 접속해도 동일한 결과를 보여지게 하는 웹 기술 지침.

웹 페이지의 효율성을 높이고 디자인 관리를 용이하게 하기 위한 기준.


크로스브라우징

사용하는 기기나 웹 브라우저의 종류에 상관없이 웹사이트의 레이아웃 위치나 모양이 동일하게 보여지도록 하는 기술

한마디로 모든 브라우저에 같은 화면이 보이도록 하는 기술.

(웹표준과 크로스 브라우징은 다릅니다!!)


클라이언트 스크립트 언어, HTML5

AJAX(비동기), jQuery 등 스크립트언어의 발전과 HTML5의 등장


MVC 패턴

이건 전시간에 얘기했으니 패쓰~



3. ASP.NET MVC 의 등장


이 얘기를 하려고 위에 얘기를 잔뜩한것 같다.


***** ASP.NET MVC를 쓰자는 것이다~~~ *****


(물론 프로젝트 성격에 따라 웹폼을 사용할 수도 있다. MS에서도 웹폼을 도태시킬 계획이 없음을 여러차례 강조해왔다.

필자는 ASP.NET MVC를 지향하자는 ^^;;;)



자 그럼 뭐가 좋아졌는지, 발전이 되었는지, ASP.NET MVC의 특징에 대해 알아보자


* 이름에서 알려주듯 MVC 라는 아키텍처 패턴을 구사하고 있다.

* 정확히 따지면 오픈소스는 아니지만, 어느정도 개방이 된건 사실이다. 

* ViewState 를 과감하게 없앴다.

* AJAX구현이 쉬워졌다.

* jQuery, 기타 라이브러리의 추가가 쉬워졌다.

* 테스트가 편리해졌다.

* LINQ(Language Integrated Query)를 도입하였다.



그럼 ASP.NET MVC 3의 추가된 기능은 어떤걸 얘기할 수 있을까?


* Razor 뷰 엔진의 등장 

      기존 <% %> 블록을 @문자로 대체

     기존 뷰엔진보다 컴파일 속도향상

     기타 보다 유연한 기능

     단위테스트 향상




지금까지 ASP.NET MVC 에 대해 알아보았다.


물론 ASP.NET MVC3 가 현재 웹 동향에 완벽하게 어우러지는것은 아니지만, 어느정도 대안이 된건 사실이다.


그리고 계속 발전하고 있지 않은가... 


글을 쓰고 있는 지금 벌써 ASP.NET MVC4 가 나타났으니 말이다. ㅡㅡ;;;


보다 발전된 기술이 등장하는건 반가움이 있지만, 반면 공을 들여야하는 노력이 필요한 것 같다.









Posted by 김준홍 (http://www.Juuun.com)