Можно ли создать настольное приложение с помощью Silverlight? - PullRequest
1 голос
/ 27 октября 2010

Я уже некоторое время использую WPF и продолжаю осознавать, что Microsoft вкладывает свои средства в Silverlight, а не в WPF (службы RIA, тема по умолчанию, элементы управления и многое другое).

IЯ подумал, что это может быть хорошей идеей для перехода на Silverlight (т.е. создания автономных приложений для настольных компьютеров с Silverlight 4.0), вопрос в том, возможно ли это.

Кстати, я думаю, что приложения LightSwitch генерируются с Silverlight как автономныенастольные приложения.

Ответы [ 6 ]

2 голосов
/ 27 октября 2010

Из MSDN:

Приложения Silverlight 3 больше не ограничены для работы в браузере.Их можно запустить в браузере или отключить от браузера и запустить с рабочего стола.Эти приложения вне браузера позволяют перенести множество приложений Silverlight 3 прямо на рабочий стол без ограничения работы в браузере.

Ссылка: Создание клиента вне браузера с Silverlight 3

1 голос
/ 27 октября 2010

Можно создавать автономные настольные приложения (из приложений браузера) с Silverlight версии 3.0 или выше, и это прекрасно работает. Теперь также возможно установить приложение вне браузера, даже не открывая браузер, как показано в этом сообщении в блоге . Silverlight - это круто, приложения silverlight даже работают на MAC и Linux (ограниченная поддержка)

Однако, это неправда, что Microsoft инвестирует только в Silverlight. Microsoft также инвестирует в WPF. Хотя можно создавать приложения для браузера с помощью Silverlight, они имеют много ограничений по сравнению с полнофункциональными приложениями WPF. Не забывайте, что Silverlight - это лишь часть WPF, например, Silverlight не имеет ADO.NET, аппаратного устройства. доступ и т. д. Таким образом, если ваше приложение является просто бизнес-приложением и вам не нужно обращаться к аппаратным устройствам или базе данных напрямую, то Silverlight может быть вариантом, однако, если ваше приложение напрямую обращается к аппаратным ресурсам клиентских машин, вам лучше использовать WPF.

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

1 голос
/ 27 октября 2010

В приложениях браузера установлены те же ограничения безопасности, что и в приложениях браузера.

С помощью Silverlight 4 вы можете создавать приложения полного доверия, которые имеют полный доступ к компьютеру.

Подробнее о Ограничения доступа к сетевой безопасности в Silverlight

1 голос
/ 27 октября 2010

Silverlight 3 поддерживает функции вне браузера.

Цитата из Википедия страница silverlight :

Silverlight 3 поддерживает работу вне браузера,т. е. приложения Silverlight могут быть установлены в систему для автономного доступа (при условии, что манифест приложения предназначен для локальной установки), когда они запускаются вне браузера.

Также вот краткое руководство

0 голосов
/ 27 октября 2010

Как уже отмечали другие, приложения Silverlight могут быть установлены для запуска «вне браузера», но даже при повышенном доверии они все еще имеют значительные ограничения на то, что они могут делать, и, конечно, не имеют «полного доступа к компьютер».

Создавая приложение с нуля, вы можете рассмотреть возможность параллельной сборки Silverlight и WPF. Более или менее можно поделиться кодом, добавив файлы .cs из одного проекта (например, WPF) в другой (Silverlight) с помощью «Добавить как ссылку». Файлы XAML не могут быть связаны таким образом и должны дублироваться, но это может включать в себя гораздо больше, чем копирование и вставка, в зависимости от вашей структуры. В Интернете есть хорошие примеры этого.

Параллельная разработка обоих типов, вероятно, потребует гораздо меньше усилий, чем необходимость внезапного переключения типов в какой-то момент и слишком позднее обнаружение несовместимости / ограничений.

0 голосов
/ 27 октября 2010

Если вы имеете в виду Out of Browser apps, конечно. Приложение Seesmic Desktop 2 является отличным примером одного из этих приложений с собственным механизмом обновления. Кажется, нетрудно использовать таким образом подключаемый модуль XAP / MEF и Silverlight. Seesmic Desktop 2

Мы разрабатываем приложение OOB по той же схеме, одна загрузка через Интернет, и все готово. Однако вы не получите те же API, что и в WPF.

...