6. ASP.NET WebForms
Идеи ASP.NET WebForms
Web-страница – это приложение
Визуальная компонентная разработка
Высокий уровень абстракции
Автоматическое сохранение состояния
События
Плюсы
Быстрая разработка сложных решений
Тысячи компонент
Тонны документации
Низкий порог вхождения для новичков и
десктоп-разработчиков
7. ASP.NET MVC
Идеи ASP.NET MVC
Шаблон Model View Controller
Низкоуровневая веб-разработка
Минимум лишних абстракций
Оптимизация клиентского кода
Открытый код и частые релизы
Плюсы
Контроль над каждым элементом
Тонны клиентских библиотек
Легкость модульного тестирования
Легкость освоения для опытных
веб-разработчиков других платформ
8. ASP.NET MVC & Razor View Engine
Новый движок представлений
Чище, удобнее для клиентского кода
Отвязывает ASP.NET MVC от Web Forms
Web Forms
Razor
9. ASP.NET Web API
Базируется на HTTP
• Выбор типа контента
• Маршрутизация (ASP.NET Routing)
• RESTful-сервисы
Поддерживается
каждым клиентом
• Мобильные устройства
• Любые языки и платформы
10. ASP.NET SignalR
Обмен данными в реальном времени
Набор протоколов для обратной совместимости
Long pooling Forever Frames Server Sent Events HTML5 Web Sockets
Поддержка множества платформ, языков, устройств
Мобильные устройства, веб-приложения, облачные проекты
Простота разработки
Open Source
11. ASP.NET & Visual Studio
Поддержка инструментов веб-
разработки
• HTML5, JS, CSS, JSON, …
• LESS, SASS, CoffeeScript, …
• AngularJS, Bootstrap, …
• Grunt, Gulp, Bower, NPM, …
Проектирование, отладка,
анализ, тестирование,
профилирование, публикация,
командная работа
Работа с облачными ресурсами,
удаленная отладка
Visual Studio
Community
Edition
12. ASP.NET & Nuget
Пакетный менеджер
.NET-экосистемы
Тысячи готовых компонент
библиотеки, дополнения,
JS/CSS- инструменты
Тесная интеграция с Visual Studio
командная строка
Интеграция Continues Integration,
системами управления кодом
Nuget.org, Open Source
13. Microsoft Developer Tour #MSDevTour
OWIN, MVC, WebAPI, WebForms, SignalR
Компоненты нового ASP.NET 5
15. Сегодня и завтра .NET
След.поколение JIT (“RyuJIT”)
SIMD (параллелизм)
Runtime Компиляторы
.NET Compiler Platform (“Roslyn”)
Инновации в языках
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
NuGet packages
.NET Framework 4.6 .NET Core 5
16. ASP.NET 5
App Model
Universal Windows Apps
Model
Любая другая
модель
приложений
Unified BCL
(Base Class Library)
Runtime Adaption Layer
.NET Native
И Runtime
Core CLR Other Runtime
17.
18. .NET 2015
ASP.NET 5
ASP.NET 4.6
WPF
Windows Forms
.NET Framework 4.6 .NET Core 5
ASP.NET Core 5
.NET Native (для Windows 10)
Windows desktop
Windows mobile devices
Windows embedded devices
ASP.NET Core 5 для Mac и Linux
След.поколение JIT (“RyuJIT”)
SIMD (параллелизм)
Runtime Компиляторы
.NET Compiler Platform (“Roslyn”)
Инновации в языках
BCL и PCL
Entity Framework
Библиотеки
19. ASP.NET 5
.NET Framework 4.6 stack and libs .NET Core 5 stack and libs
Универсальный framework для MVC, Web API и SignalR
Полный .NET Framework для любых сценариев
и полной поддержкой существующих библиотек
Компактный runtime, оптимизированный для
серверных и облачных задач
21. ASP.NET 5
Готовность к облаку
Модульность и открытость
Улучшенные инструменты
и фреймворки
22. .NET - Open Source
Все проекты обновлены
до MIT License
Проекты
• ASP.NET 5
• Entity Framework
• .NET Core 5
• .NET Compiler Platform
• + проекты сообщества
Как участвовать
• .NET Foundation
• GitHub
https://github.com/aspnet
23. Кросс-платформенная
реализация .NET Core
.NET Core будет реализован на
различных платформах
Поддержка Linux и Mac от Microsoft
c Mono
Поддержка Linux в Visual Studio
(напр., отладка, Docker)
Интеграция с Sublime через Kulture
28. ASP.NET MVC 6
MVC 6 View Components
Замена partial views
«Мини-контроллеры»
- рендеринг части контента
Папка компонент
• «ViewsControllerNameComponentsComponent Name»
Примеры использования
динамические меню, облако тегов,
панель логина, корзина, и т.д.
29. ASP.NET MVC 6 & TagHelpers
было
стало
Open sourced on GitHub
30. ASP.NET Identity
Единая система аутентификации
• Web Forms, MVC, SignalR, Web API, …
• Web, Phone, Store, гибридные приложения
• Мульти-факторная аутентификация
Легкость управления профилем пользователя
• Добавление данных по требованию
Управление ролями
Поддержка аутентификации на заявках (claims based)
Социальные сети
Azure Active Directory
31. ASP.NET & Entity Framework 7.0 ORM
Мультиплатформа
mobile, OSX, Linux
SQL & noSQL базы данных
Azure Table Storage, Redis
Open Source
http://github.com/aspnet/entityframework
Roadmap
33. ASP.NET 5 & Visual Studio 2015
Шаблоны ASP.NET 5
Empty, Starter, Console, Class Library
Публикация в Azure Web Sites
Интеграция с Application Insights
Entity Framework 7.0
34. Веб-разработка на Visual Studio
Редакторы
HTML5, JS, CSS, JSON
Отладка JS, TypeScript
Автодополнение, Intellisense
Интеграция c Bower,
NPM, Gulp, Grunt
Командная разработка
с Git, TFS, Visual Studio Online
Публикация
35. Глубокая поддержка HTML5/JS
Go to Definition
• Поддержка пространств имен
IntelliSense
• Поддержка IntelliSense для Knockout и AngularJS
Подсветка и навигация
• Подсветка идентификаторов и панель навигации
• Автоматическое завершение кавычек
• Группировка атрибутов
• Улучшенные функции умных отступов
и автоматического форматирования
36. Browser Link
Выбор браузеров
Выбор сразу нескольких браузеров
для автоматического запуска проекта
Browser Link
Обновление содержимого браузеров
без перезагрузки страниц по команде
из среды Visual Studio
Powered by SignalR
39. MonoКросс-платформенный .NET Core
Мобильная разработка и
партнерство .NET/Xamarin
.NET
Xamarin
Unity
Сервисы и Веб-приложения Мобильные приложения
Windows Linux Mac OS X
.NET Core
ASP.NET 5
40. .NET и Xamarin
Общая логика между
платформами
100% APIs доступно
C# + XIB C# + AXML C# + XAML
Нативный UI Нативный UI Нативный UI
Xamarin .NET Core
41. ASP.NET на OSX и Linux
ASP.NET 5 поддерживает размещение
на OSX и Linux
Работает на Mono
Встроенный кросс-платформенный
веб-сервер Kestrel
Интеграция с редактором Sublime3
42. ASP.NET и Sublime
Интеграция с инструментами
командной строки K
Работа с ошибками компиляции
Управление зависимостями
Дополнение кода и Intellisense
OmniSharp, основано на Roslyn
Open Source
43. Заключение
ASP.NET имеет долгую историю и огромную экосистему
Компоненты из коробки на любой вкус, для любых целей
• MVC, WebAPI, Web Forms, SignalR, Entity Framework, Identity
Разрабатывать на ASP.NET можно где угодно
• Windows, OSX, Linux
• Visual Studio, Sublime
Веб-приложения ASP.NET можно размещать куда угодно
• Локальное, облачное, мобильный бэкенд
• Linux, контейнеры Docker, устройства