SlideShare a Scribd company logo
1 of 42
Download to read offline
Разработка Windows 8
приложений глазами
WPF/Silverlight программиста
Денис Цветцих
АстроСофт
www.astrosoft.ru
10-я конференция .NET разработчиков
19 апреля 2015
dotnetconf.ru
2
Почему это важно
Windows Store Apps – это тренд
Выходит Windows 10
3
Почему Я об этом говорю
Более 10 проектов для Windows Store
Prism.StoreApps.Extensions
SoapClient для Windows Phone 8.1
4
План на сегодня
45 минут
Вопросы в конце
Что будет в докладе
• Терминология
• Особенности разработки для Windows Store
• Наши велосипеды
5
Отправная точка
Мобильный сотрудник
Информационно-аналитическая система
6
Опрос
Кто работал с:
• Windows 8
• Windows Phone
Кто что-нибудь писал под эти платформы?
Наведем порядок в
терминологии
8
Как правильно, Windows RT или WinRT?
Windows RT
Редакция Windows 8 для
планшетов с процессорами ARM
Поддерживает только Windows
Store приложения
WinRT (Windows Runtime)
Программная оболочка для
Windows Store приложений
9
Metro UI == Modern UI
Metro UI
Стиль оформления пользовательского
интерфейса от компании Microsoft
Modern UI
Новое название Metro UI, так как бренд Metro
оказался занят
10
Что же мы пишем?
Metro Apps
Modern Apps
Windows 8 Apps
Windows Store Apps
Universal Apps
WinRT Apps
Особенности WinRT
12
Откуда ноги растут
WinRT
• не .NET
• основан на COM
• только Windows 8
13
Распространение приложений
Windows Store
Side Loading 1
• ключ 100$ для неограниченного количества
устройств
Side Loading 2
• Windows 8 Pro или Enterprise
• в домене со специальной политикой
Ежемесячное обновление Developer License 
14
Массовое управление устройствами
Windows Intune
• Windows
• Windows Phone
• Android
• iOS 
15
Хранение информации
Local
Temp
Roaming (не более 100 Кб)
16
Фоновые задачи
Не более 2 секунд
Не чаще раз в 15 мин
17
Рабочее место сотрудника
Windows 8
• Режим киоска
Windows Phone 8.1
• Apps Corner
18
Ограничения
Не реализовано System.Reflection.Emit
Нет Dynamic Proxy
Unity.Interception
Castle.DynamicProxy
19
Жизненный цикл приложения
Running
SuspendedNot Running
SuspendingActivated
Resuming
Terminating
20
Навигация
Реализована аналогично веб-приложениям:
Frame rootFrame = (Frame)Window.Current.Content;
rootFrame.Navigate(typeof (MainPage), “param");
21
Prism.StoreApps (ViewFirst)
На уровне ViewModel
NavigationService.Navigate("MainPage", "arg");
На уровне View
<storeApps:VisualStateAwarePage
storeApps:ViewModelLocator.AutoWireViewModel="true">
22
MugenMvvmToolkit (ViewModel First)
На уровне ViewModel
using (var vm = GetViewModel<FirstViewModel>())
{
vm.DisplayName = "First";
await vm.ShowAsync();
}
На уровне View
магия конвенции именования
23
Prism.StoreApps.Extensions
Не страницами едиными
• Flyout
• SettingsFlyout
24
Flyout (ViewModel First)
На уровне ViewModel
var vm = Manager.Resolve<AddProductFlyoutViewModel>();
if (await vm.ShowAsync())
{ //Add product to store
}
На уровне View
<AppBarButton
child:FlyoutView.FlyoutToken="AddProduct" />
25
SettingsFlyout (ViewModel First)
На уровне ViewModel
var vm = Manager.Resolve<AppSettingsFlyoutViewModel>();
vm.ShowIndependent = true;
await vm.ShowAsync();
На уровне View
магия конвенции именования
26
SOAP-сервисы
Windows Store
• Есть поддержка SOAP сервисов
Windows Phone 8.1
• System.ServiceModel больше не
поддерживается
• Промежуточный REST сервис
• А что, если без него обойтись?
27
Аналог «Add Service Reference»
• Реализован базовый класс SoapClientBase
• По WSDL генерируем код при помощи SvcUtil
• Анализируем его с помощью Reflection
• Строим модель при помощи CodeDom
• Генерируем код SoapClient
28
Обобщенный вызов SOAP сервиса
public async Task<TResponse>
CallAsync<TRequest, TResponse>(string action, TRequest request)
{
// генерируем SOAP запрос
IHttpContent httpContent =
GetHttpContent(action, request);
// отправляем запрос
HttpResponseMessage response =
await Client.PostAsync(EndpointAddress, httpContent);
// сериализуем результат в строку
string responseContent =
await response.Content.ReadAsStringAsync();
// десериализуем результат
return GetResponse<TResponse>(responseContent);
}
29
Пример: контракт сервиса
[ServiceContract]
public interface ITestService
{
[OperationContract]
void Operation1();
[OperationContract]
string Operation2(int arg);
}
30
Сгенерированный интерфейс
public interface ITestService
{
Task<Operation1Response>
Operation1Async(Operation1Request request);
Task<Operation2Response>
Operation2Async(Operation2Request request);
}
public class Operation1Request { }
public class Operation1Response { }
public class Operation2Request {
public int arg;
}
public class Operation2Response {
public string Operation2Result;
}
31
Сгенерированная реализация
public partial class ITestServiceClient : SoapServices.SoapClientBase,
ITestService
{
public virtual Task<Operation1Response>
Operation1Async(Operation1Request request)
{
return CallAsync<Operation1Request, Operation1Response>
("http://tempuri.org/ITestService/Operation1", request);
}
public virtual Task<Operation2Response>
Operation2Async(Operation2Request request)
{
return CallAsync<int, Operation2Response>
("http://tempuri.org/ITestService/Operation2", request.arg);
}
}
32
Что готовит Windows 10
Валидация сейчас
• Есть IDataErrorInfo, INotifyDataErrorInfo
• В Binding нет ValidatesOnDataErrors и
ValidatesOnExceptions
• Решение – велосипед (Prism, Mugen, …)
В Windows 10
• UI конпоненты получат свойство
ValidationState и коллекцию ValidationErrors
33
Резюме
Недостатки
Привычного может не быть
– DynamicProxy
– Валидация
В новой версии чего-то
может не стать
– SoapClient для Windows
Phone 8.1
Достоинства
Портированы популярные
.NET библиотеки
Реализованы библиотеки UI
компонентов
Можно создавать сложные
бизнес-приложения
– Системы отчетности
34
Ссылки
Prism.StoreApps.Extensions
https://www.nuget.org/packages/Prism.StoreApps.Extensions.Mvvm/
https://github.com/denis-tsv/Prism.StoreApps.Extensions.Mvvm
WinRT SOAP Client
http://habrahabr.ru/post/233799/
https://github.com/Ne4to/SoapClient
MugenMvvmToolkit
http://habrahabr.ru/post/236745/
https://github.com/MugenMvvmToolkit
What’s new in Windows 10 Developer Preview
http://dev.windows.com/en-us/whats-new-windows-10-dev-preview
35
На правах рекламы
http://dev2dev.ru/
https://vk.com/dev2dev
36
Спасибо за внимание
Денис Цветцих
АстроСофт
den.tsvettsih@yandex.ru
37
Как бороться с отчетом
38
Требования
Динамический ItemsSource (ExpandoObject)
Многоуровневая группировка
Frozen Columns
Stacked Columns
Сортировка групп
Summary для групп
Summary для таблицы
Экспорт в Excel
39
Библиотеки компонентов
Syncfusion
ComponentOne
Telerik
DevExpress
Infragistics
Всех возможностей нет нигде 
40
С1 FlexGrid Unbound mode
+ Покрывает требования
- Трудоемко
- Неудобно
41
Альтернатива - TreeMap
Несколько страниц вместо одной
Каждая страница – свой уровень детализации
42
Теперь и правда все 
Денис Цветцих
АстроСофт
den.tsvettsih@yandex.ru

More Related Content

What's hot

Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...CEE-SEC(R)
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest
 
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадSQALab
 
Михаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестированииМихаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестированииYandex
 
Adn@it'summer - Изоморфные приложения с React и Redux
Adn@it'summer - Изоморфные приложения с React и ReduxAdn@it'summer - Изоморфные приложения с React и Redux
Adn@it'summer - Изоморфные приложения с React и ReduxADN Digital Studio
 
WinRT: интеграция с С++
WinRT: интеграция с С++WinRT: интеграция с С++
WinRT: интеграция с С++Mykhail Galushko
 
Денис Царев – Как не разбить лоб об HTML5
Денис Царев – Как не разбить лоб об HTML5Денис Царев – Как не разбить лоб об HTML5
Денис Царев – Как не разбить лоб об HTML5404fest
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...Badoo Development
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
 
Обзор Haxe & OpenFl
Обзор Haxe & OpenFlОбзор Haxe & OpenFl
Обзор Haxe & OpenFlDevOWL Meetup
 
Windows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformWindows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformMykhail Galushko
 
Автоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OCАвтоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OCIT61
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumvyacheslavmaslov
 

What's hot (15)

Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
 
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
 
Михаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестированииМихаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестировании
 
Adn@it'summer - Изоморфные приложения с React и Redux
Adn@it'summer - Изоморфные приложения с React и ReduxAdn@it'summer - Изоморфные приложения с React и Redux
Adn@it'summer - Изоморфные приложения с React и Redux
 
WinRT: интеграция с С++
WinRT: интеграция с С++WinRT: интеграция с С++
WinRT: интеграция с С++
 
Денис Царев – Как не разбить лоб об HTML5
Денис Царев – Как не разбить лоб об HTML5Денис Царев – Как не разбить лоб об HTML5
Денис Царев – Как не разбить лоб об HTML5
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
 
Обзор Haxe & OpenFl
Обзор Haxe & OpenFlОбзор Haxe & OpenFl
Обзор Haxe & OpenFl
 
Windows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformWindows Phone 8.1 Development Platform
Windows Phone 8.1 Development Platform
 
MS TFS 2010 - Управление версиями
MS TFS 2010 - Управление версиямиMS TFS 2010 - Управление версиями
MS TFS 2010 - Управление версиями
 
Автоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OCАвтоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OC
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 

Similar to Разработка Windows 8 приложений глазами WPF/Silverlight программиста

Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5Microsoft
 
Простой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETПростой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETMikhail Shcherbakov
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Dmitry Savchenko
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.Igor Shkulipa
 
DevCon 2016 - Xamarin
DevCon 2016 - XamarinDevCon 2016 - Xamarin
DevCon 2016 - XamarinAnton Shunkov
 
Инфостарт. Новые возможности 1С 8.3
Инфостарт. Новые возможности 1С 8.3Инфостарт. Новые возможности 1С 8.3
Инфостарт. Новые возможности 1С 8.3Виктория Литовка
 
Sergey Gavruk - Mix11
Sergey Gavruk - Mix11Sergey Gavruk - Mix11
Sergey Gavruk - Mix11beloslab
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserAndrew Mayorov
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qaISsoft
 
Rad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаRad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаazamat isaev
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?CEE-SEC(R)
 
C# Web. Занятие 05.
C# Web. Занятие 05.C# Web. Занятие 05.
C# Web. Занятие 05.Igor Shkulipa
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Ilya Kaznacheev
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...solit
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
AgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеAgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеМихаил Кононов
 

Similar to Разработка Windows 8 приложений глазами WPF/Silverlight программиста (20)

Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5
 
Простой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETПростой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NET
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
DevCon 2016 - Xamarin
DevCon 2016 - XamarinDevCon 2016 - Xamarin
DevCon 2016 - Xamarin
 
Инфостарт. Новые возможности 1С 8.3
Инфостарт. Новые возможности 1С 8.3Инфостарт. Новые возможности 1С 8.3
Инфостарт. Новые возможности 1С 8.3
 
Sergey Gavruk - Mix11
Sergey Gavruk - Mix11Sergey Gavruk - Mix11
Sergey Gavruk - Mix11
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Rad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаRad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продукта
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?
 
C# Web. Занятие 05.
C# Web. Занятие 05.C# Web. Занятие 05.
C# Web. Занятие 05.
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
ASP.NET MVC: new era?
ASP.NET MVC: new era?ASP.NET MVC: new era?
ASP.NET MVC: new era?
 
AgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеAgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в Банке
 

More from DotNetConf

Как грабить корованы
Как грабить корованыКак грабить корованы
Как грабить корованыDotNetConf
 
Как анимировать тысячи объектов на карте и не подвесить браузер
Как анимировать тысячи объектов на карте и не подвесить браузерКак анимировать тысячи объектов на карте и не подвесить браузер
Как анимировать тысячи объектов на карте и не подвесить браузерDotNetConf
 
Микросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бокМикросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бокDotNetConf
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоDotNetConf
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программированиеDotNetConf
 
Делаем очередь поверх Кассандры
Делаем очередь поверх КассандрыДелаем очередь поверх Кассандры
Делаем очередь поверх КассандрыDotNetConf
 
К искусству записи пользовательских историй
К искусству записи пользовательских историйК искусству записи пользовательских историй
К искусству записи пользовательских историйDotNetConf
 
Как это будет: ASP.NET Core
Как это будет: ASP.NET CoreКак это будет: ASP.NET Core
Как это будет: ASP.NET CoreDotNetConf
 
Continuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxContinuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxDotNetConf
 
Кроссплатформенная библиотека для Android и iOS: за и против
Кроссплатформенная библиотека для Android и iOS: за и противКроссплатформенная библиотека для Android и iOS: за и против
Кроссплатформенная библиотека для Android и iOS: за и противDotNetConf
 
Быстрый бэкенд с parse.com
Быстрый бэкенд с parse.comБыстрый бэкенд с parse.com
Быстрый бэкенд с parse.comDotNetConf
 
Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?DotNetConf
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?DotNetConf
 
Многопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметкиМногопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметкиDotNetConf
 
Платформа Apache Hadoop
Платформа Apache HadoopПлатформа Apache Hadoop
Платформа Apache HadoopDotNetConf
 
Робототехника для прикладных программистов
Робототехника для прикладных программистовРобототехника для прикладных программистов
Робототехника для прикладных программистовDotNetConf
 
Inversion of Control в .NET
Inversion of Control в .NETInversion of Control в .NET
Inversion of Control в .NETDotNetConf
 
Введение в реактивный .NET
Введение в реактивный .NETВведение в реактивный .NET
Введение в реактивный .NETDotNetConf
 
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...DotNetConf
 
Машинное обучение на платформе .NET
Машинное обучение на платформе .NETМашинное обучение на платформе .NET
Машинное обучение на платформе .NETDotNetConf
 

More from DotNetConf (20)

Как грабить корованы
Как грабить корованыКак грабить корованы
Как грабить корованы
 
Как анимировать тысячи объектов на карте и не подвесить браузер
Как анимировать тысячи объектов на карте и не подвесить браузерКак анимировать тысячи объектов на карте и не подвесить браузер
Как анимировать тысячи объектов на карте и не подвесить браузер
 
Микросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бокМикросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бок
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешево
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
 
Делаем очередь поверх Кассандры
Делаем очередь поверх КассандрыДелаем очередь поверх Кассандры
Делаем очередь поверх Кассандры
 
К искусству записи пользовательских историй
К искусству записи пользовательских историйК искусству записи пользовательских историй
К искусству записи пользовательских историй
 
Как это будет: ASP.NET Core
Как это будет: ASP.NET CoreКак это будет: ASP.NET Core
Как это будет: ASP.NET Core
 
Continuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxContinuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под Linux
 
Кроссплатформенная библиотека для Android и iOS: за и против
Кроссплатформенная библиотека для Android и iOS: за и противКроссплатформенная библиотека для Android и iOS: за и против
Кроссплатформенная библиотека для Android и iOS: за и против
 
Быстрый бэкенд с parse.com
Быстрый бэкенд с parse.comБыстрый бэкенд с parse.com
Быстрый бэкенд с parse.com
 
Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
Многопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметкиМногопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметки
 
Платформа Apache Hadoop
Платформа Apache HadoopПлатформа Apache Hadoop
Платформа Apache Hadoop
 
Робототехника для прикладных программистов
Робототехника для прикладных программистовРобототехника для прикладных программистов
Робототехника для прикладных программистов
 
Inversion of Control в .NET
Inversion of Control в .NETInversion of Control в .NET
Inversion of Control в .NET
 
Введение в реактивный .NET
Введение в реактивный .NETВведение в реактивный .NET
Введение в реактивный .NET
 
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
 
Машинное обучение на платформе .NET
Машинное обучение на платформе .NETМашинное обучение на платформе .NET
Машинное обучение на платформе .NET
 

Разработка Windows 8 приложений глазами WPF/Silverlight программиста