Your SlideShare is downloading. ×
0
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
WinRT
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

WinRT

1,932

Published on

Видеозапись доклада: …

Видеозапись доклада:
http://getdev.net/Event/winrt

Windows Runtime призван упростить разработку metro-приложений для Windows 8 на разных языках. О том, как его использовать и какие особенности следует учитывать, можно узнать в этом докладе.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,932
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WINDOWS RUNTIME СЕРГЕЙ ЗВЯГИН INGATE DEVELOPMENT СПЕЦИАЛЬНО ДЛЯ GetDev.NET
  • 2. О ЧЕМ ПОГОВОРИМ?Что такое WinRT? Особенности Metro-приложений Архитектура Windows RuntimeC#, C++ и Javascript Требования к компонентам Какой язык выбрать?WinRT и Silverlight/WPF Портирование приложений
  • 3. НАВЕДЕМ ПОРЯДОК ВТЕРМИНОЛОГИИ
  • 4. ТЕРМИНОЛОГИЯWindows RT Специальная версия Windows 8 для планшетов с процессором ARM (ранее WOA, Windows on ARM)WinRT новая программная оболочка Windows 8 для Metro-приложений (Windows Runtime)
  • 5. ОСОБЕННОСТИ METRO-ПРИЛОЖЕНИЙ
  • 6. ЖИЗНЕННЫЙ ЦИКЛПоследнее запущенное приложениенаходится в статусе ActiveСвернутое приложение находится встатусе Suspended Есть событие сворачивания, его можно обработатьСвернутое приложение может бытьзавершено при нехватке ресурсов Нет события завершения, его нельзя обработать
  • 7. ВОЗМОЖНОСТИ НЕАКТИВНЫХПРИЛОЖЕНИЙНесколько режимов вывода информации вплитках на стартовом экране Обычные плитки-иконки: Square (1x1) или Wide (2x1) Живые плитки (Live tiles) Значки на плиткахИнформирование пользователя о событиях в«свернутом» приложении с помощьюнотификацийBackground Tasks
  • 8. ЗАПУСК ПРИЛОЖЕНИЯПлитка -> Стартовый экран -> Приложение (App UI) XAML/HTML UI начинается здесь
  • 9. КОНТРОЛЫButton Grid View Progress RingCheckbox Radio ButtonCombo Box PasswordContext Menu Web View List View Semantic ZoomFlip View List Box Slider Progress Bar Toggle Switch Spell Checking Clear Button Text BoxScroll Bar
  • 10. АРХИТЕКТУРА WINDOWSRUNTIME
  • 11. АРХИТЕКТУРА WINDOWS 8
  • 12. ЧТО ТАКОЕ WinRT?Это основа для создания Metro-приложений в Windows 8Предоставляет возможность выбораязыка и среды разработкиОдинаково прозрачная работа с WindowsAPI вне зависимости от выбора языка
  • 13. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ИРАЗМЕТКИЯзыки программирования C# Visual Basic C++ JavascriptЯзыки разметки XAML HTML
  • 14. АРХИТЕКТУРА WinRT
  • 15. ПЛЮШКИВызовы WinRT выглядят прозрачноБольшая часть того, чем мы пользуемся в.NET, есть и в WinRTОсобенности реализации WinRT скрытыот разработчиков
  • 16. АСИНХРОННОСТЬВсе методы API, выполняемые более50мс, асинхронныРазработчик не должен заботиться ореализации асинхронности async/await в C# then в C++ then в Javascript
  • 17. WinRT ОСНОВАН НА ТЕХНОЛОГИИ COM Activation Store (Registry) Windows Object vNext Windows 8 Metadata (Disk)
  • 18. WINDOWS METADATAОпределение API хранится в .winmdфайлахМетаданные представлены в формате,описанном в стандарте ECMA-335Синтаксис CIL, ассемблера виртуальноймашины .NET, также описан в этомстандарте
  • 19. ВЗАИМОДЕЙСТВИЕ С WinRT-ОБЪЕКТОМ Projection C++ App Projection C#/VB App CLR Object Projection HTML App Chakra Windows Metadata
  • 20. СОЗДАНИЕ WinRT-ОБЪЕКТА
  • 21. ТРЕБОВАНИЯ ККОМПОНЕНТАМ
  • 22. ИСПОЛЬЗОВАНИЕ КОМПОНЕНТОВWinRT-компоненты могут быть созданына С++ или C#/VBWinRT-компоненты могут бытьиспользованы из C++, C#/VB, JavascriptНикакого дополнительного кода за счетиспользования метаданныхВвиду специфики проекции нельзяиспользовать XAML-разметку внутриприложения на Javascript
  • 23. 5 ПРОСТЫХ ПРАВИЛ1) Правила применяются только к публичнымтипам и членам компонента2) Сигнатуры вызовов компонента должныиспользовать только типы WinRT3) Структуры должны иметь только открытыеполя4) Наследование допускается только дляконтролов XAML, остальные типы должны бытьпомечены как sealed5) Только поддерживаемые в WinRT generic-типы должны использоваться
  • 24. КАКОЙ ЯЗЫК ВЫБРАТЬ?
  • 25. Проекция JavascriptСамый высокий уровень абстракцииДинамическая типизация делаетпроекцию наиболее медленной из трѐхРазличные ограничения проекцииАвтоматическая сборка мусораБольшинство используемых JS-библиотекне требуют внесения изменений
  • 26. Проекция .NETСредний уровень абстракцииНакладные расходы на использованиеметаданныхПолный доступ к библиотекам WinRT исинтаксический сахар для асинхронныхвызововАвтоматическая сборка мусораSilverlight-компоненты требуют небольшихизменений для использования в WinRT
  • 27. Проекция C++/CXСредний уровень абстракцииПрактически отсутствуют накладныерасходыПрямые вызовы методов ядра, никакихдополнительных обертокАвтоматический подсчет ссылокС++ компоненты, использующие Win32API, проще переписать с нуля, чемадаптировать для использования в WinRT
  • 28. А ГДЕ TRUE NATIVE?!
  • 29. Windows Runtime C++ Template Library(WRL)Только для бородатых программистовНизкий уровень абстракцииКод никак не связан с компилятором отMSВозможность оптимизировать COM-взаимодействие в специфичныхсценарияхИспользование опыта разработки на«чистом» C++ c использованием ActiveTemplate Library
  • 30. ПОРТИРОВАНИЕПРИЛОЖЕНИЙ
  • 31. ПРИ НАПИСАНИИПРИЛОЖЕНИЯИспользуйте Portable Class LibraryИспользуйте директиву препроцессораNETFX_CORE для написания гибридногокодаНе используйте XNAСледуйте пошаговым инструкциям наMSDN 
  • 32. ИНСТРУКЦИИ НА MSDN.NET for Metro style apps overviewhttp://cut.ms/bzL3Porting Silverlight or WPF XAML/code to aMetro style app http://cut.ms/bzL4Migrate/port a Windows Phone 7 app toMetro style http://cut.ms/bzL5
  • 33. СПАСИБО ЗА ВНИМАНИЕ! Твиттер @Bingo87 Email bingofirst@gmail.com Xbox gamertag BingoRUS Блог http://dev.ingate.ru/

×