Възможно ли е да се създаде настолно приложение с помощта на Silverlight?

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

Мислех, че може да е добра идея да мигрирам към Silverlight (т.е. създаване на самостоятелни настолни приложения със Silverlight 4.0), въпросът е дали това е възможно или не.

Между другото, мисля, че приложенията LightSwitch се генерират със Silverlight като самостоятелни настолни приложения.


person Shimmy Weitzhandler    schedule 27.10.2010    source източник


Отговори (6)


Възможно е да създавате самостоятелни настолни приложения (извън приложенията на браузъра) със 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 не е предназначен за разработване на настолни приложения, основната му цел е поддръжка на много платформи.

person funwithcoding    schedule 27.10.2010

От MSDN:

Приложенията Silverlight 3 вече не са ограничени до работа в браузър. Те могат да бъдат стартирани в браузър или могат да бъдат отделени от браузъра и стартирани от работния плот. Тези приложения извън браузъра ви позволяват да пренесете богатството на приложенията Silverlight 3 директно на работния плот без ограничение за работа в рамките на браузър.

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

person JSprang    schedule 27.10.2010

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

Цитат от страница silverlight в Wikipedia:

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

Тук също има бърз как да

person Hannes de Jager    schedule 27.10.2010

Приложенията извън браузъра имат същите ограничения за сигурност, както в приложенията на браузъра.

Със Silverlight 4 можете да създавате приложения с пълно доверие, които имат пълен достъп до компютъра.

Повече за Ограничения за достъп за мрежова сигурност в Silverlight

person ChrisF    schedule 27.10.2010

Ако имате предвид приложения извън браузъра, разбира се. Приложението Seesmic Desktop 2 е отличен пример за едно от тези приложения със собствен механизъм за актуализиране. Изглежда безсмислено да се използва XAP/MEF plug-in Model и Silverlight по този начин. Seesmic Desktop 2

Ние разработваме OOB приложение по същия начин, едно изтегляне от интернет и сте готови. Все пак няма да получите точно същите API, каквито получавате в WPF.

person Program.X    schedule 27.10.2010

Както други посочиха, приложенията на Silverlight могат да бъдат инсталирани, за да работят „извън браузъра“, но дори и с повишено доверие те все още имат значителни ограничения върху това, което могат да правят и със сигурност нямат „пълен достъп до компютъра“.

Създавайки приложение от нулата, може да помислите за паралелни компилации на Silverlight и WPF. Кодът може повече или по-малко да бъде споделен чрез добавяне на .cs файлове от един проект (напр. WPF) към другия (Silverlight) с помощта на „Добавяне като връзка“. XAML файловете не могат да бъдат свързани по този начин и трябва да бъдат дублирани, но това може да не включва много повече от копиране и поставяне, в зависимост от вашата структура. Има добри примери за това в мрежата.

Разработването на двата типа паралелно вероятно ще изисква много по-малко усилия, отколкото да се налага внезапна смяна на типа в даден момент и откриване на несъвместимости/ограничения твърде късно.

person JamesCo    schedule 27.10.2010