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

Будущее ASP.NET

  • Upload
    gosharp

  • View
    401

  • Download
    0

Embed Size (px)

Citation preview

Будущее ASP.NET

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

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

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

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

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

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

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

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

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

OWIN (Open Web Interface for .NET)

Application

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

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

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

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

IDictionary<string, object>

Func<IDictionary<string, object>, Task>

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" });

});}

}

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

https://github.com/dotnet/core

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

Модульность

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

public class HomeController : Controller{

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

}

@using MyApp@inject ISomeService SomeService

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

@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>

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

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

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

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

http://www.omnisharp.net/

www.facebook.com/andrey.shelehin

ru.linkedin.com/in/shelekhin