Будущее 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 библиотек