Как стать автором
Обновить

Комментарии 18

В пункте «Обновление Silverlight 7.x/8.0 приложения до WinRT» не совсем корректная диаграмма. Если не обновляться на Silverlight 8.1 то приложение все ещё будет работать на Windows Phone 8.1, просто не будет возможности использовать новое API. По диаграмме кажется, что приложение не запустится вообще.
Пожалуй соглашусь. Покрасила зеленым.
Беда в том, что перенеся приложение на новую версию, мы просто удвоим количество параллельно разрабатываемых проектов. Доля WP8 еще очень долго будет намного больше WP81.
Да есть такое. Я на этой неделе постараюсь написать про сценарий WP8 — WP8.1 Xaml, там загнать все проекты в один Solution и заняться выделением общего кода. Тогда будет чуть легче поддерживать. Но вообще, лучше преурочить это событие (переход на WP8.1) к обновлению какой-то еще функциональности приложения, а не просто так делать много работы )
Набрасывал тестовые проектик. Можно сделать текущий WP8 проект библиотекой со всем XAML. А коннектиться к нему можно уже из проекта для конкретной платформы(будут aapx и xap соответственно).
Но все это, само собой, только Windows Phone Silverlight 8.1. Как переходить к WinRT реализации пока совершенно не понятно.
НЛО прилетело и опубликовало эту надпись здесь
очень долго — понятие растяжимое. Дольше чем у iOS, но намного быстрее, чем у Android. насколько я помню, на ветке 7.x уже через 2-3 месяца после официального старта обновлений большинство обновлялось.
Что-то я в Silverlight 8.1 не заметил новых API — ни SwapChainBackgroundPanel, ни System.IO.Compression, ни System.IO.MemoryMapping, ни поддержки ресурсов в новом формате, ни иконок новых. Буквально, тот же 8.0, с парой мелких изменений. Покажите хоть ченжлог что ли?
А вот новый режим WinRT 8.1 это просто сказка! И дело даже не в реюзабельности кода, он сам по себе достаточно мощный, с хорошей С++ частью. Жалко лишь, что он не может подхватывать Silverlight 7-8 либы, например Google AdMob, недавно заработавший.

P.S. Давеча не смог залить WP8.1 приложение с чистой W8.1 — там нет Silverlight для браузера, а даже если поставить, он не работает без отключения EPM в IE11 и Compat. mode, но даже так загрузка файла обрывается. Залил с 8ки.
Коллеги, все странно и сложно:
msdn.microsoft.com/en-us/library/dn642084(v=vs.105).aspx

С другой стороны есть интересная цитата:
Silverlight 8.1 apps run in something called a “Modern Context”. In real terms this means that Silverlight 8.1 needs both a WMAppManifest and an appxManifest. Without the later you won’t be able to access newer XAML based features.

Silverlight 8.1 is not 100% compatible with Silverlight 8.0. For example, Array.Sort no longer uses a stable sort, which could cause problems for some applications.

Another concern is Fast App Resume. In Silverlight 8.0 this was an optional feature that you could turn on. Inside the Modern Context it is the only option.

XAML apps do not terminate when you press the Back button. Silverlight 8.1 apps will terminate by default, just like Silverlight 8.0, but you can disable it.

Background audio doesn’t currently work in Silverlight 8.1. It is hoped that it will be fixed in a future update.

Note that Silverlight 8.0 apps do not run in the modern context. This means that Silverlight 8.0 apps are 100% compatible with Windows Phone 8.1.


Возможно, выделенный участок означает, что есть возможность скрестить две технологии сразу. А может имел в виду что-то иное. Проверю.
Нет, чудес не бывает, SwapChainBackgroundPanel не доступен в Silverlight приложениях в принципе. А значит, Silverlight 8.1 нужен только, чтобы не выкидывать сразу старый код, а все новое надо делать в режиме WP/WinRT 8.1.
Стало интересно чем так хорош SwapChainBackgroundPanel?
Это XAML компонент для вывода Direct3D графики. Он с одной стороны обычный Grid, с обычными ивентами, свойствами, может содержать дочерние контролы и пр., а с другой на него отрисовывается любая 3D/2D графика. Мощное решение, если надо совмещать две технологии.
Еще мощнее его следующая версия SwapChainPanel — эту панель можно размещать в любом месте иерархии, например, внутри ScrollView, применять к ней трансформации, повороты и пр.
А чем не устраивают DrawingSurface и DrawingSurfaceBackgroundGrid? Интересуюсь не из пустого интереса, действительно интересно, так как я не специалист в 3D но сейчас использую их для описанных целей.
Не устраивают сложностью переделки готового C++ кода для WinRT, который использует DXGI Swap Chain, а заодно и CoreWindow, недоступные в Silverlight. А раз Silverlight API де-факто становится deprecated, то и смысла особого нет.
Скажите, есть ли возможность как-то сохранить версию приложения для WP7/8 пользователей и одновременно иметь версию для WP8.1?
Во время публикации WP8.1 приложения выбирайте не заменить пакет, а добавить новый.
Спасибо!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий