잊지 않겠습니다.

* 아래 사항은 ScottGu's Blog에서 발췌한 내용으로 실제 변경사항과는 차이가 있을 수 있습니다. 

1. View 에서의 Code-Behind page의 삭제
  생각해보면 너무나 당연한 내용이 드디어 구현되었다. Model-View-Control 에서 View에서 code-behind로 무언가 작업을 해야지 될 일을 만드는 것 자체가 문제라고 생각이 된다. 작업이 필요한 것은 모두 Control이 담당하고, 보여주는 방법에 대한 것을 제공하는 것을 모두 View가 담당하게 된다. 
  기존 코드를 Googling하다보면, View에서 Page_Load 측에서 무언가 일을 해서 download 등 여러 일을 하게 되는 코드를 보게 되는데, 기존 버젼에서도 역시 Controller에서 Response를 변경하게 되면 View에서의 Code-Behind page는 다 비워둔 상태로 작업이 가능하게 된다. 


  View페이지에서의 Model의 선언. 전과는 다른 코드로 만들어진다. 기존 코드에서 View.Model로 시작되던 모든 코드를 Model로 해줘야지 된다는 코드 변경에서 귀찮은 점은 있을 것 같다.


2. HTML/AJAX Helper의 확장 가능
  기존 버젼에서는 HtmlHelper와 AjaxHelper에서 사용되는 중요 기능들 (Html attribute 적용)등이 모두 private 또는 internal로 선언되어 있었다. 그래서 몇몇 코드에서의 확장을 위해 이와 같은 코드를 직접 소스를 다운 받아서 자신의 소스에서 사용하는 방법밖에 없었는데, 이제는 지원 가능하다. 

3. Scaffolding 지원
  UI에서 auto-scaffolding이 지원 가능하다. Rails에서 부러웠던 기능인데, Model과 Controller의 ActionName을 입력받아서 View가 바로 생성 가능하다. Edit, Create, List, Details, Empty와 같은 5가지 기본 scaffolding이 아래와 같은 멋진 UI로 지원된다. ^^ 



4. 다양한 ActionResult : FileResult, JavaScriptResult
 이게 뭐지? 라는 생각을 하다가.. 잘 생각해보니 Preview 2에서 지원하고 있던 FileResult를 재지원한다. 파일 다운로드 또는 MVC.AJAX와 연결시켜서 Image의 다양한 표현을 할 수 있을 것이라고 생각된다. 그리고 JavaScriptResult가 지원이 된다. 이제는 Web UI에서 사용되는 JavaScript 사용이 매우 편리해질 것 같다.

너무나 기대되는 업데이트가 많다. 일단 가장 기대되는 것은 드디어 완벽한 MVC가 되어간다는 생각이 든다. 왜 View에서 Controller가 해야지 되는 Server code가 들어가게 되는지가 가장 큰 불만이였는데, 그 불만도 해결이 되고 JavaScriptResult와 Scaffolding의 경우에는 나오기만 하면 바로 사용해보고 싶은 생각이 든다. 정말 Happy Programming이다. ^^

PS : MS 내부 사이트의 경우에는 MVC를 이용해서 작성된 site가 상당수 있는 것 같다. Windows Mobile live Messenger 홈페이지의 경우에는 Home.Mvc/Index로 접근이 된다. (초기 IIS 6.0에서 MVC를 사용하는 기본 방법이였다.) 뒤지다보면 꽤나 나올 것 같은데, 일단 외부로 상당히 많은 사용자들에게 노출이 되는 live messenger 페이지가 아직 Beta 밖에 안나온 MVC로 만들어져 있다는 것은 놀라웠다. 

Posted by Y2K
,