Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений
Роман ЗдебскийРуководитель направления по технологической стратегииMicrosoft
Универсальные проекты (Universal Projects) для разработки Windows 8 и Windows Phone 8 приложений
Роман ЗдебскийРуководитель направления по технологической стратегииMicrosoft
Microsoft вчераклиент/сервер
Устройства/сервисы
Microsoft сегодня
Outlook.comSkyDriveЛюдиSkypeМузыкаBingКартыInternet ExplorerOfficeМагазинВидеоSmartGlassФотоУстройстваИгрыСовременные приложения Windows
Общее ядро Windows
Единый инструмент разработки
Мобильные устройства на WindowsACER ASUS DELL HP LENOVO PANASONIC SAMSUNG NOKIA LG …
Что было до Windows Phone 8.1
Silverlight for Windows Phone /
DirectX
Windows Runtime (C#, VB, XAML, C++,
DirectX)
При переносе приложений с Windows Phone на Windows 8 и обратно
В чем возникали сложности
UIЭкраны, ориентация и т.д.
СетьОбратные вызовы, задачи, асинхронность и т.д.
ХранилищеФайлы, установки, роуминг, база данных и т.д.
БонусТайлы, уведомления, сенсоры, камера, аудио и т.д.
Различия в
API
Хороший сценарий: общий код
Общие облачные сервисы
Portable Class Library
Общие ресурсы / XAML UI
Общие компоненты WinRT (C++)
Разделение кода/UX (MVVM)
Windows Runtime (C#, VB, XAML, C++,
DirectX)
Silverlight for Windows Phone /
DirectX
ViewsОтвечают за отображение информации (XAML)
View ModelsЧто показывать
Взаимодействие элементов
ModelsОбъекты данных
Бизнес-логика
Model-View-View Model (MVVM)
Model
View Model
View Платформенно-зависимый код
Переносимый кодСсылки
Databinding
Архитектура кросс-платформенного приложения
Запуск
Views
Windows Store App
Особенности платформы
View Models
Models
Переносимая библиотека
Платформенно-независимые абстракции
Запуск
Views
Windows Phone App
Особенности платформы
Ссылка Ссылка
Один исходник
Один проект
Один бинарник
Различные платформы!
Переносимые библиотеки классов
Portable Platform/Feature Matrix
Win8Store Apps
Windows Phone 8.1
Windows Phone 8.1
Cortana
For Business
Windows developer platform
Windows API Set
Graphics Audio Media
Networking File System Input
Commerce
Sensors
.NET CLRWindows Runtime
DirectX(C++)
SilverlightXAML
(C# | VB)
Windows XAML
(C# | VB | C++)
WinJS(HTML + JS)
App Model Services
Navigation
Packaging
Contracts
Background
Store
Push
Roaming
Legend
Windows Phone Only
Windows OnlyWindows + Windows Phone
Windows Kernel
App Data Backup
Code convergence
converged controls
80% exact same XAML 20% custom
Common SignatureOptimized
DatePicker
TimePickerCommandBar
Button
CheckBox
RadioButton
ProgressBar
Slider
ToggleSwitch Hub
PivotListViewGridViewAppBarSysTray
• Universal apps enable building applications on the converged Windows 8.1 and Windows Phone 8.1 platforms
• Supported for C#, C++ and JavaScript
• Create universal apps using project templates, migrating Windows 8.1 / Windows Phone 8.1 apps
Universal apps
• Allow sharing source between converged apps
• Don’t have any binary output
• Supports all item types• Code files .cs, .js, .cpp, .h• XAML• Images .png, .jpg…• RESW• XML etc…
Shared projects
C#: WINDOWS_APP and WINDOWS_PHONE_APP
#if WINDOWS_PHONE_APP
Windows.Phone.UI.Input.HardwareButtons.BackPressed += this.HardwareButtons_BackPressed;
#endif
C++: WINAPI_FAMILY_PC_APP and WINAPI_FAMILY_PHONE_APP
#if WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP_backPressedEventToken = HardwareButtons::BackPressed += ref new EventHandler<BackPressedEventArgs^>(this,&NavigationHelper::HardwareButton_BackPressed);
#endif
Use conditional constants
• Intellisense warnings for platform specific APIs
• Switch project context using navbar
Code editing experience
• Quick and easy way to change startup projects using debug target dropdown
• Supported for all Store platforms
• Enabled if you have more than one application project in the solution
Switching startup projects
Universal apps for Windows Share App & IAP entitlements across Windows
& Phone Roam your data across Windows & Phone Single notification channel You are still allowed to publish separate apps
or IAPs
Not the same thing as universal project in Visual Studio
Quiz Bowl Quiz BowlThe next generation quiz game - compete real time with players worldwide.
Free
Free
Future: Universal Projects on Xbox One
Переиспользование кода бизнес приложений– Brokered Windows Runtime Components
Универсальные проекты (Universal Projects) для разработки Windows 8 и Windows Phone 8 приложенийРоман ЗдебскийРуководитель направления по технологической стратегииMicrosoft
[email protected] @zdebskiy
APPENDIX
Windows 8.1 Update
Мы поддерживаем разработчиков
Для всехСоревнования по мобильной разработке
Награды
Продвижение ваших приложений в сторе и реклама приложений
Более $5млн в виде призов
dvlup.com
Для стартаповБесплатный софт и регистрация в Store
Ресурсы в облаке Windows Azure
Знания
Гранты ($30 000 - $100
000) и финансирование
BizSpark.ru
microsoftventures.com
appcampus.fi
Для лидеровПродвижение в Store
Ко-маркетинг
Совместные проекты
Технологическая помощь и дизайн
Ускорение сертификации
Все стороны жизни
Личное Деловое
Top Related