Частью стратегии Microsoft, направленной на то, чтобы сделать приложения универсальной платформы Windows привлекательными для нас — я полагаю, универсальными — является создание «мостов» от старых технологий к новым. Кто бы мог предположить, что мост Silverlight станет доступным? Есть, но только в бета-версии, а не от Microsoft.
По причинам, о которых мы можем только догадываться, Microsoft не позаботилась о создании моста между приложениями Windows Phone 8 Silverlight и UWP (универсальной платформой Windows), но Mobilize.NET это сделала, и Microsoft продвигает ее.
Согласно Mobilize.NET, около половины всех приложений для Windows Phone были написаны с использованием Silverlight, и, хотя они должны поддерживаться в Windows 10 Mobile, написано на стене, и это явно не путь будущего. До сих пор Microsoft выпускала руководства и писала статьи о том, как преобразовать приложение Silverlight в WinRT. Однако проблема в том, что есть множество средств, которые могут использовать приложения Silverlight, которые еще не поддерживаются в WinRT. Это только подчеркивает, насколько зрелым был Silverlight, насколько сложным является WinRT, и насколько безумно было отказаться от него и начать заново, см. Дампинг .NET — Безумие Microsoft и Silverlight мертв, да здравствует Silverlight?
Пока не появился Mobilize.NET, вам оставалось только запустить приложение Silverlight под Window 10 Mobile и надеяться, что оно продолжит работать и будет поддерживаться, или выполнить преобразование вручную. С помощью моста Mobilize.NET Silverlight вы можете автоматизировать большую часть процесса преобразования. Это расширение для Visual Studio, которое берет существующий проект и выводит новый проект UWP с преобразованными файлами C # и XAML.
Автоматическое преобразование почти всегда несовершенно, и текущая предварительная версия утверждает, что отображает 700 наиболее часто используемых API и преобразовывает манифесты, ссылки на пакеты NuGet и справляется с изменениями async / await. В будущих версиях запланировано больше сопоставлений API — 1200 должно быть завершено к ноябрю. Все сопоставления имеют открытый исходный код и доступны в репозитории GitHub, что означает, что вы можете помочь, расширив их.
Обратите внимание, что хотя сопоставления имеют открытый исходный код, фактический мост — нет. В настоящее время его можно загрузить бесплатно за адрес электронной почты и некоторую дополнительную информацию.
Конечно, привлекательность приложения UWP заключается в том, что оно должно работать на настольных компьютерах, планшетах, Xbox, телефоне и, в некоторых случаях, даже на Raspberry Pi.
Это поднимает вопрос о том, какая поддержка может быть для настольных приложений Silverlight, но поскольку они близки к приложениям для телефона, некоторые сопоставления могут работать.
Большая проблема в том, что на данный момент все еще не хватает стимулов для совершения конверсии. Существующие приложения Silverlight Phone должны работать на Windows Mobile 10, и если рынок не станет больше, нет веских причин для их обновления. Кроме того, WinRT и UWP все еще находятся в зачаточном состоянии, и, поскольку шансы на то, что Windows 10 Phone займет большую долю рынка в ближайшем будущем, невелика, ориентироваться особо не на что.
Исключением, конечно же, является медленный рост планшетов с Windows 10 и Slate. Возможно, стоит приложить усилия, чтобы иметь приложение, работающее на планшетах Windows, даже если оно не имеет обратной совместимости с более ранними версиями Windows.
Ситуация с разработкой Windows 10 выглядит лучше, но это все еще не обязательное условие.