[ASP.NET] ASP.NET 시작하기
ASP.NET 시작하기
ASP.NET MVC의 이해
과거. ASP.NET Web Forms
계층적 구조 | 단계 |
---|---|
ASP.NET Web Forms | UI 구성요소들의 모음(페이지, 버튼 등) 및 상태가 존재하는 개체-지향 GUI 프로그래밍 모델 |
ASP.NET | .NET 응용 프로그램을 IIS상에서 호스트하는 방식, HTTP 요청 및 응답을 통해서 상호작용 가능 |
.NET | 다중 언어를 지원하는 관리되는 코드 플랫폼 |
문제점.
- ViewState로 인한 부하
- 페이지 수명주기
- 취약한 관심사의 분리
- 제한적인 HTML 제어
- 빈약한 추상화
- 테스트의 어려움
오늘날의 웹 개발.
-
웹 표준과 REST의 등장
- 웹 표준 기술 : HTML, CSS, JS
- REST(Representational State Transfer)
-
애자일과 테스트 주도 개발
- 애자일 개발 방법론
-
테스트 주도 개발(Test-Driven Developmnet, TDD)
- 관련있는 개발론 : 행위 주도 개발(Behavior-Driven Development, BDD)
- 단위 테스트 도구
- UI 자동화 도구
-
루비 온 레일즈(레일즈)
- MVC 아키텍처를 채용
- HTTP 프로토콜과 어우러짐
- 규약(Convention)을 권장
- 개체-관계 매퍼(Object Relational Mapping, ORM) 도구를 통합
-
Node.js
- JavaScript를 사용
- 철저하게 비동기적
ASP.NET MVC의 주요 장점
-
MVC 아키텍쳐
- 사용자는 MVC 프로그램과 자연스러운 상호작용
- 웹 응용프로그램은 서로 다른 기술들의 결합으로 구성
-
확장성
- 프레임워크가 제공하는 기본 구현된 구성요소 사용
- 기본 구현을 상속받은 다음, 하위 클래스(subclass)를 구현
- 인터페이스나 추상 기본 클래스를 새롭게 구현해서 구성요소 전체를 교체
-
HTML과 HTTP에 대해 강력한 제어
- 표준을 준수하는 깔끔한 마크업
- HTTP와 잘 어울러져 동작
-
테스트 용이성
- 독립적으로 나눠지도록 만들어서 텟그트 하기 용이
- NUnit같은 오픈 소스 단위 테스트 도구 사용 가능
- 여러 테스트 기법과 Mocking 기법 활용
-
강력한 라우팅 시스템
- URL 라우팅 기능을 통해 깔끔한 URL 제공
-
ASP.NET 플랫폼의 장점들을 기반으로 만들어진 ASP.NET MVC
- 구성요소들 및 장치들을 제공
- 인증, 멤버십, 프로필, 국제화 등 기존 ASP.NET 플랫폼의 내장된 기능으로 코드를 줄여줌
-
현대적인 API
- 최신 언어 및 런타임 타임 제공
-
오픈소스인 ASP.NET MVC
- 원본 코드를 다운 받을 수 있음
- 원본 소스에 접근하기 편함
예제 코드 : www.apress.com/9781430265290
책 : 프로 ASP.NET MVC 5 프레임 워크
개발 환경 : Visual Studio 2013