RedPlus 개인 블로그

시삽: 레드플러스 님 
게시판 이동:
 제목 : ASP.NET MVC 3 간단 소개
글번호: 217
작성자: Administrator ( 레드플러스 / redplus@live.com )
작성일: 2011/01/15 오후 1:58:00 (2011/01/15 오후 1:58:00 수정)
조회수: 4395

 

ASP.NET MVC 3 오픈

 

소개

 

ASP.NET MVC 프레임워크가 버전이 2.0에서 3.0으로 업그레이드가 되었습니다.

사실, MVC 3 대한 얘기를 진행할 예정입니다만. 그래도 아직 국내에서는 ASP.NET Web Forms이 짱입니다…

ASP.NET Web Forms 뒤를 이어 ASP.NET MVC 그리고, ASP.NET Web Pages(이건 태어난지 이틀밖에 되지 않아서…)

어쨌든, 어제 날짜로 ASP.NET MVC 3 정식 버전으로 발표가 되었습니다.

아래 경로에서 ASP.NET MVC 3 정식 버전을 다운로드 받으실 있습니다.

http://dul.me/ASPNETMVC3

 

또한, ASP.NET MVC 3 이전 버전과 동일하게 오픈소스로 발표가 되어, 아래 경로에서 소스 코드를 다운로드 받으실 있습니다.

http://dul.me/ASPNETMVC3Source

 

 

새로운 특징

 

이번에 새롭게 업그레이드된 ASP.NET MVC 3 새로운 기능 향상된 기능은 아래와 같습니다.

 

1. Razor Syntax(레이저 구문) 지원

 

ASP.NET MVC 3에서는 새로운 엔진인 Razor 엔진을 추가로 선택해서 페이지를 작성할 있습니다.

기존 ASPX 엔진에 더불어 Razor 문법을 제공하는 Razor 엔진을 제공함으로써, 동일한 내용을 짧게 타이핑해서 페이지를 제작할 있는 장점을 가질 있습니다.

1 전쯤인가 MS 새롭게 입사한 신입사원의 머리에서 나온 Razor 문법이 이렇게 폭풍 성장할 있으리란 생각은 차마하지 못했는데, 올해 MS 개발 파트의 최고의 화두로 떠오르는 단어가 바로 Razor 단어가 되었습니다.

기존 ASP/ASP.NET에서의 <% %>구문이 Razor 문법으로 서서히 대체되어가지 않을까 하는 염려(?) 들게 됩니다.

어쨌든, ASP.NET MVC 3에서는 Visual Studio 2010 또는 Visual Web Developer 2010 Express에서 모두 인텔리센스 기능을 지원하기에 기존 개발 방법을 그대로 이용해서 쉽게 ASPX 엔진에서 Razor 엔진으로 넘어올 있을 합니다. 사실, 필자도, Razor 문법 자체는 별로 관심을 두지 않았지만, ASP.NET MVC 3에서 정식으로 지원하기에 이제는 조금 써볼까 하는 생각입니다…

 

2. JavaScript 지원 향상

 

ASP.NET MVC 3 jQuery 최신 버전을 기본으로 템플릿에 탑재하였습니다.

이미 ASP.NET MVC 2.0까지도 jQuery 기본으로 클라이언트 자바스크립트 영역을 담당해서, 기존 유효성 검사 등도 손쉽게 jQuery ASP.NET AJAX 클라이언트 라이브러리를 사용해서 구현할 있었지만, 이를 향상시키는 몇가지 기능을 더했고, MS에서는 꾸준히 jQuery 오픈 소스 진영에 많은 수의 공헌(코어 플러그인 업데이트 제공) 제공하여 왔습니다.

사실, MS에서 jQuery팀을 MS 포함시키면 더욱 좋지 않을까 하는 저만의 생각이지만, jQuery 팀은 그럴 생각은 전혀 없는 듯 합니다…

 

3. 유효성 검사 기능 향상

 

Remote Validation

사용자 이름과 같이 서버측에 전송되어야만 있는 기능을 클라이언트 유효성 검사에서 손쉽게 처리할 있도록, 서버측 컨트롤러의 액션 메서드의 결과값을 클라이언트 측에서 접근할 있는 원격 유효성 검사 기능을 제공합니다. jQuery Validation 또한 이러한 기능을 구현할 있지만, 미리 ASP.NET 서비스가 또는 WCF 서비스가 구현되어있어야한다는 점이 차이가 합니다.

 

모델 유효성 검사

ASP.NET MVC 3 ADO.NET Entity Framework 4.0 뗄래야 없는 사이입니다. 2.0 때와 마찬가지로 3.0에서는 모델 유효성 검사 기능을 제공하기에 모델에 추가로 유효성 검사 로직을 구현하여, 클라이언트 측에서 쉽게 유효성 검사를 도입할 있습니다.

 

4. OutputCaching

ASP.NET 2.0에도 URL 레벨 또는 액션 메서드 레벨의 캐싱 기능을 제공해 왔지만, ASCX(Partial Page) 기반 캐싱 기능을 추가로 제공합니다. , ASP.NET Web Forms에서 제공하던 ASCX 사용하여 부분 페이지 캐싱 기능을 ASP.NET MVC 3에서도 제공합니다. 사실, 조금 늦었지만, 빠른 반영에 감사할 따름입니다.

 

5. 기타 특징들

 

ViewBag

컨트롤러에서 View 페이지로 상태 데이터를 전송할 많이 사용하던 ViewData[] 속성에 더불어 Dynamic 형태로 값을 보내줄 있는 ViewBag 속성을 기본적으로 제공합니다.

ViewData["Title"], ViewData["Page"] 식의 인덱서 형태로 값을 Object 전달 형변환을 거친 사용하던 방식에서 아예 컨트롤러에서 뷰로 보내줄 명확한 타입으로 값을 보내줄 인덱서 형태가 아닌 ViewBag 정확한 타입의 속성으로 보내줄 있어 좀더 명확한 프로그래밍이 가능할 있습니다. C# 4.0 처음으로 도입된 dynamic 키워드의 대단함을 새삼 느끼고, 엔더스 헤즐스버그에게 싸인 받아봤으면 좋겠다라는 생각을 합니다.

 

Global Filter

2.0 [HandleError] 특성과 같이 페이지 전역적으로 사용할 있는 Global Filter 기능을 제공하여, 보안 또는 특정 출력 관련 기능을 메인(Global.asax)에서 관리할 있습니다.

 

손쉬운 Dependency Injection (DI) 기능 도입

[AllowHtml] 특성 제공

HttpNotFoundResult, RedirectPermanent 등의 ActionResult 타입 제공

Html.Raw() 헬퍼메서드 제공

Crypto 헬퍼메서드 제공

등등…

 

위에서 제공한 기능 외에도 여러가지 기능 제공합니다.

 

6. 2.0에서 3.0으로 업그레이드

 

ASP.NET MVC 3 개발팀에서는 기존 2.0에서 3.0으로 업그레이드를 손쉽게 있는 유틸리티를 제공합니다. 물론, Visual Studio 2010 기반으로 작성된 프로젝트여야겠지요… 만약, 툴이 맘에 들지 않으면 수작업으로 업그레이드 하셔도 무관합니다… 다운로드 경로는 아래와 같습니다.

http://blogs.msdn.com/b/marcinon/archive/2011/01/13/mvc-3-project-upgrade-tool.aspx

 

 

참고 자료

 

http://www.asp.net/mvc

http://channel9.msdn.com/Shows/Web+Camps+TV/CodeMash-2011-WebMatrix-Launch-Keynote

http://weblogs.asp.net/scottgu/archive/2011/01/13/announcing-release-of-asp-net-mvc-3-iis-express-sql-ce-4-web-fa rm-framework-orchard-webmatrix.aspx

 

 

마무리

 

어느덧 ASP.NET MVC 버전을 3.0까지 끌어올렸습니다.

ASP.NET MVC 함께 자주 등장하던 단어 중에 이미 LINQ to SQL 아웃 되고 Entity Framework 옮겨가고,

IoC 점점 언급이 없을 것이고… ? MS 자체 기술이 아니기에… 서서히 걷어내어지겠지요^^

테스트프로젝트는 아마도 조금씩 도입이 하는 등의 현상을 경험합니다.

사람들이 Test, Test 말은 많지만, 현실에서는 Test 프로젝트가 아닌 Excel 스프레드시트로 작업을…

어찌되었든, 3.0입니다. 이제 시작해야하지 않을까요???

늦지 않았습니다. 2011년은 ASP.NET MVC 3 본인 능력에 추가를 해도 좋을 하여, 권장하는 바입니다…

 

 

.

 

 

 

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 WebMatrix : 웹매트릭스 다운로드 및 설치 - Administrator 2011-01-16 4461
현재글 ASP.NET MVC 3 간단 소개 - Administrator 2011-01-15 4395
다음글 초간단 ASP.NET Razor Syntax 설명서 - Administrator 2011-01-13 4314
관련 페이지 리스트
numtitlenamedateview
388 C 언어에서 값 전달과 참조 전달(Call By Value and Call By Re... Administrator 2023-03-09 3555
387 병합 알고리즘 순서도 2022-10-22 5088
386 C 언어 강의: scanf를 엔터키를 기준으로 여러 행으로 값을 입력 받기 Administrator 2022-01-09 4398
385 C 언어: scanf 사용해서 표준 입력인 콘솔로부터 나이를 정수로 입력 받아 출력 Administrator 2022-01-07 3212
384 Java 코드 샘플 - Function 인터페이스로 람다 식 만들기 Administrator 2022-01-04 3107
383 C# 코드 샘플 - 널 조건부 연산자 사용하기 Administrator 2022-01-02 3146
382 C# 코드 샘플 - 널 병합 연산자와 default 키워드 Administrator 2022-01-02 3058
381 C# 코드 샘플 - 널 병합 연산자로 문자열 변수의 NULL 값 확인하기 Administrator 2022-01-02 2969
380 C# 강의 - 14세 미만 체크 메서드 구현 Administrator 2022-01-01 3024
379 C 언어 천 단위 콤마 찍기 thousands_separator.c Administrator 2021-12-30 4156
378 for 문 순서도 - for 문(for loop) 순서도(flowchart) Administrator 2021-12-28 6867
377 C 언어 코드 샘플 - 전처리기 - 조건부 컴파일 Administrator 2021-12-27 3048
376 C 언어 코드 샘플 - 전처리기 - 매크로 함수 Administrator 2021-12-27 3015
375 http-server 설치하기 - 로컬 루프백 주소로 웹페이지 실행 2021-12-27 3020
374 C 언어 코드 샘플 - N명의 학생의 점수를 입력받아 1차원 배열에 저장 후 총점 구... Administrator 2021-12-27 3075
373 Java 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 2950
372 C 언어 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 2993
371 C# 교과서 강좌 - LINQ - Select 확장 메서드에 익명 형식 사용하기 Administrator 2021-12-26 3111
370 C# 교과서 강의 - LINQ - Select 확장 메서드를 사용하여 새로운 형태로 ... Administrator 2021-12-26 3025
369 C 언어 코드 샘플 - static-shared - 정적(공유) 변수 사용하기 Administrator 2021-12-26 3043
 
 
 
손님 사용자 Anonymous (손님)
로그인 Home