Top Banner
Будущее ASP .NET Шелёхин Андрей Руководитель внутренней разработки, Тинькофф Банк
16

Будущее ASP.NET

Jul 30, 2015

Download

Technology

GoSharp
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Будущее ASP.NET

Будущее ASP.NET

Шелёхин Андрей

Руководитель внутренней разработки, Тинькофф Банк

Page 2: Будущее ASP.NET

• Добавлено несколько новых фич, исправлены некоторые баги

• По сути ничего не изменилось

• В Microsoft назвали обновление революционным

• Принципиально новый вектор развития платформы

• Многое переосмыслено и переписано с нуля

• Полностью Open-Source

• В Microsoft назвали обновление революционным

Page 3: Будущее ASP.NET
Page 4: Будущее ASP.NET

OWIN (Open Web Interface for .NET)

Application

MiddlewareOwin-модули, образующие конвейер

(Auth, WebApi, Signal-R и т. д)

ServerOwin-совместимый сервер

HostПроцесс операционной системы

IDictionary<string, object>

Func<IDictionary<string, object>, Task>

Page 5: Будущее ASP.NET

public class Startup{

public void Configure(IApplicationBuilder app){

// Добавляем модуль обработки статических файловapp.UseStaticFiles();

// Добавляем модуль роутинга MVCapp.UseMvc(routes =>{

routes.MapRoute(name: "default",template: "{controller}/{action}/{id?}",defaults: new { controller = "Home", action = "Index" });

});}

}

Page 6: Будущее ASP.NET

Open-SourceКод открыт для просмотра и внесения патчей

https://github.com/dotnet/core

КроссплатформенностьПоддержка Microsoft для Windows, Linux и Mac

Модульность

Библиотека разбита на отдельные nuget-модули

Page 7: Будущее ASP.NET
Page 8: Будущее ASP.NET
Page 9: Будущее ASP.NET
Page 10: Будущее ASP.NET

public class HomeController : Controller{

[Activate]public ISomeService SomeService{ get; set; }

}

@using MyApp@inject ISomeService SomeService

<h1>@SomeService.GetTitle()</h1>

Page 11: Будущее ASP.NET
Page 12: Будущее ASP.NET

@Html.ValidationSummary(true, "", new { @class = "text-danger" })<div class="form-group">

@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })<div class="col-md-10">

@Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })@Html.ValidationMessageFor(m => m.UserName, "", new { @class = "text-danger" })

</div></div>

<div asp-validation-summary="ModelOnly" class="text-danger"></div><div class="form-group">

<label asp-for="UserName" class="col-md-2 control-label"></label><div class="col-md-10">

<input asp-for="UserName" class="form-control" /><span asp-validation-for="UserName" class="text-danger"></span>

</div></div>

Page 13: Будущее ASP.NET

Компиляция на лету

Page 14: Будущее ASP.NET

Интеграция с популярными утилитами для web разработки

Grunt, GulpВыполнение заданий для front-end: LESS, SASS, компоновка, минификация, запуск js unit tests

BowerПакетный менеджер для front-end библиотек

Page 15: Будущее ASP.NET

http://www.omnisharp.net/

Page 16: Будущее ASP.NET

www.facebook.com/andrey.shelehin

ru.linkedin.com/in/shelekhin