Стоит ли мне по-прежнему использовать Silverlight / XBAP

Нам нужно создать приложение, которое можно использовать через браузер, но которое также можно использовать в автономном режиме.

Версия браузера будет использоваться нашим клиентом для проведения расчетов. Каждому клиенту необходимо войти в приложение под своим именем пользователя и паролем. Офлайн-версию будут использовать наши сотрудники. Им необходимо иметь возможность использовать эту версию, когда они не подключены к сети. Данные, необходимые для приложения, будут храниться в файлах XML.

В основном мы программируем на C # и .NET-Framework. Мы думали об использовании WPF для клиентской версии. Я читал, что вы можете использовать Silverlight или XBAP для создания версии приложения WPF для браузера. AFAIK Silverlight - умирающая технология. Как насчет XBAP? Вы бы по-прежнему инвестировали в эту технологию?

Другое решение - создать два интерфейсных приложения: приложение WPF как автономное приложение и веб-приложение (например, ASP.NET MVC) как веб-приложение. Думал, это будет означать, что нам придется создать два интерфейса (больше работы).

Есть ли другая альтернатива? Было бы лучше создать приложение HTML / JavaScript (например, с AngularJ или чем-то подобным)?


person Alexander    schedule 01.10.2015    source источник


Ответы (2)


Как бывший разработчик Silverlight я могу только рекомендовать не использовать Silverlight для разработки новых приложений. Microsoft приостановила дальнейшую разработку Silverlight, и вы не получите никаких новых функций (только исправления безопасности). Мне очень понравилась технология и сходство с WPF, но для меня она устарела.

Даже некоторые браузеры (например, Chrome) больше не поддерживают Silverlight, и вам нужен обходной путь, чтобы запустить его (см. Также Chrome больше не поддерживает Silverlight? Как решить эту проблему?)

Разработайте бэкенд-систему, которая предоставляет REST-API (на примере ASP.NET WebApi) для ваших клиентов, и разработайте клиентское приложение браузера с использованием современных фреймворков HTML / CSS / JavaScript. Если необходимо / требуется настольное приложение, использующее WPF, которое использует REST-API.

person Jehof    schedule 01.10.2015

Возможно, Silverlight умирает, но это не значит, что вам следует избегать его использования. Silverlight по-прежнему является жизнеспособной технологией, которую вы можете использовать, однако тенденции браузеров, похоже, постепенно прекращают поддержку Silverlight. Насколько мне известно, браузер Microsoft Edge больше не поддерживает Silverlight, поэтому вам необходимо использовать Internet Explorer. Это не конец света, но есть над чем подумать.

Что касается WPF, то он тоже заменяется на Windows Universal Apps, хотя и медленно. Однако это не такая уж большая проблема, поскольку навыки, которые вы приобрели в WPF, легко переносятся. Сам WPF не получает столько новых функций, сколько раньше, можно сказать, что он готов.

Не всегда легко идти в ногу с последними тенденциями, и всегда будет что-то крутое и модное прямо за углом, однако одно можно сказать наверняка: Платформа .NET, включая новую подвергшиеся рефакторингу универсальные API приложений никуда не денутся и не умрут в ближайшее время.

Текущая тенденция заключается в том, что веб-технологии, такие как ASP.NET, играют гораздо большую роль, чем традиционные приложения для настольных компьютеров / планшетов / телефонов. Я бы сказал, что разработка для веб-браузера, безусловно, популярный выбор.

При этом Windows Universal Apps также является хорошим выбором. Фактически, любая технология, использующая .NET Framework, идеальна.

Что касается моей рекомендации, я бы посоветовал изучить веб-приложение ASP.NET или веб-API, для которого настольное приложение, такое как WPF (все еще жизнеспособная технология для корпоративных приложений ) или универсальное приложение для Windows. В идеальном сценарии оба приложения используют один и тот же внутренний код, что, безусловно, возможно, поскольку они оба используют .NET Framework.

В соответствии с вашими требованиями, возможно, даже удастся полностью отказаться от создания настольного приложения, веб-приложение может быть размещено на компьютере в локальной сети, и клиенты по-прежнему могут использовать веб-приложение. Это, конечно, при условии, что у этих клиентов нет доступа в Интернет.

TL; DR: .NET является законным, используйте ASP.NET.

person Mike Eason    schedule 01.10.2015