웹사이트 서비스 Web Forms Web-pages Single-Page Apps MVC Web API SignalR
지속적인혁신 : 최소 6 개발마다릴리즈 9 월 2012 ASP.NET 4.5 VS2012 2 월 2013 ASP.NET and Web Tools 2012.2 가을 2013 VS2013
어떤 ASP.NET 기술을사용할지 미리결정 할필요없음 통합된대화창 하나의프로젝트 : Web Forms, MVC, Web API 모든프로젝트에어떤프레임워크도추가가능 모든프레임워크에서 Scaffolding 동작 구성설정가능한신원인증 (authentication) 레이아웃과스타일링에 Bootstrap 사용 Bootstrap.js 기반의템플릿 인기있는 CSS 레이아웃프레임워크 많은테마사용가능 One ASP.NET 을위한완전히새로운 scaffolding 시스템 데이터모델에맞게웹애플리케이션코드생성 데이터중심으로 CRUD 표준코드를타깃
어떤 ASP.NET 기술을사용할지 미리결정 할필요없음 통합된대화창 하나의프로젝트 : Web Forms, MVC, Web API 모든프로젝트에어떤프레임워크도추가가능 모든프레임워크에서 Scaffolding 동작 구성설정가능한신원인증 (authentication) 레이아웃과스타일링에 Bootstrap 사용 Bootstrap.js 기반의템플릿 인기있는 CSS 레이아웃프레임워크 많은테마사용가능 One ASP.NET 을위한완전히새로운 scaffolding 시스템 데이터모델에맞게웹애플리케이션코드생성 데이터중심으로 CRUD 표준코드를타깃
ASP.NET 아이덴티티 (a.k.a. Membership) 새로운멤버십시스템 하나의 ASP.NET 아이덴티티시스템 클레임기반의인증지원 외부로그온와통합
하나의 ASP.NET 새로운 HTML 편집기 AngularJS 인텔리센스 수정후이어진행가능 신규웹앱에기본적용 브라우저링크 ( Artery )
OWIN = Open Web Interface for.net 서버와애플리케이션을분리하는공통인터페이스 프레임워크와서버를연결하는표준 ASP.NET 파이프라인과긴밀하게통합 개발한웹 API 를어떤 OWIN 호환호스트에서도구동 ( 자신의프로세스를갖고 )
마이크로소프트가개발및배포하는 OWIN 컴포턴트
Portable 새로운컴포넌트로쉽게대체가능 서드파티프레임워크가마이크로소프트서버에서문제없이동작 마이크로소프트프레임워크가잠재적으로서드파티서버와호스트에서도동작할수있음 모듈화 / 유연성 작고및컴포넌트집중 경량화 성능 / 확장성 컴퓨팅자원을덜소비 더많은부하를처리
ASP.NET Web API 2 독립적인 NuGet 패키지로존재 Web API 보안 (CORS, OAuth 2.0) OWIN 통합 어트리뷰트라우팅 (Attribute routing) Web API OData
Web API 에서 CORS 를가능하게함 action 별로 controller 별로 Globally [EnableCors(origins: "http://www.example.com", headers: "*", methods: "*")] public class ItemsController : ApiController { public HttpResponseMessage GetAll() {... } public HttpResponseMessage GetItem(int id) {... } public HttpResponseMessage Post() {... } } [DisableCors] public HttpResponseMessage PutItem(int id) {... }
경로 (route) 를리소스에더가깝게 config.routes.maphttproute( name: TodosForTodoList", routetemplate: "api/todolists/{id}/todos", defaults: new { controller = todolists, action = GetTodos } ); public IEnumerable<TodoItem> GetTodos() { }
경로 (route) 를리소스에더가깝게 config.maphttpattributeroutes(); [HttpGet("api/todolists/{id}/todos")] public IEnumerable<TodoItem> GetTodos(int id) { }
Optional values [HttpGet( Demographics/{zipcode?}")] public Demographics Get(int? zipcode) { } Default values [HttpGet("Demographics/{zipcode=98052}")] public Demographics Get(int zipcode) { }
어떻게다음지원을추가할것인가 : OData 를통해일반적인 Web API 패턴을위한표준솔루션제공
OData 서비스를구현하는컴포넌트 오픈소스 현재 $select, $expand, $batch 지원 ODataLib 기반으로개발
매우단순한닷넷용실시간웹라이브러리 단순 (Simplicity) 범위 (Reach) 성능 (Performance) 내앱에서어떻게실시간기능을사용할것인가? 사용자가언제든페이지를새로고침하거나폴링 (polling) 을사용할때 대시보드와모니터링 (Dashboards and monitoring) 협업이필요한모든것 (Collaborative anything) 게임 (Gaming) 실시간폼및동시성관리 (Real-time forms and concurrency management)
ASP.NET SignalR 2.0 OWIN 통합 포터블클래스라이브러리클라이언트 Xamarin client (ios, Android, and Mac) C++ 윈도우용클라이언트
코드뿐만이아님 소스코드나이틀리빌드이슈트래킹기능명세디자인회의노트 기여 (contributions) 허용 EF 팀만커밋권한을가짐 내부에서변경하는것과동일한코드리뷰절차 개발방법에만영향 ( 출시방법은아님 ) 같은라이센스 같은지원 같은품질
확장성및가용성있는서비스를위한프레임워크 최신애플리케이션을위한도구
ASP.NET Web API 를이용한오픈 API 개발 ASP.NET SignalR 을이용한실시간양방향커뮤티케이션구현
Visual Studio 2013 다운로드 http://www.microsoft.com/ visualstudio Visual Studio Online 활성화 Activate your MSDN benefit or sign up for a plan http://www.visualstudio.com Windows Azure 시작하기 Activate your MSDN Benefit and try it, or get a Windows Azure Free Trial Account. http://www.windowsazure.com