MalcomTucker
MalcomTucker

Reputation: 7477

Is Silverlight a good fit for these requirements?

I'm looking for a suitable client side architecture that will meet some or all of the following requirements.

I'm thinking primarily about Silverlight (but I would also consider MVC or WPF depending on your suggestions - I can possibly trade some of these requirements off, or find work arounds).

I'm looking for an assessment of Silverlight being able to fully, partially or not able to support, each of the following, with detail around each if possible:

Any detail or thoughts you can give me on the above would be much appreciated.

Edit - additional questions

Upvotes: 2

Views: 202

Answers (3)

Matt
Matt

Reputation: 772

From your requirements I would suggest WPF, full application support, but when it comes to OS X support, then you have a problem, WPF won't work on OS X, only Silverlight will, so I am afraid you have a few requirements that have conflicts with one another.

Upvotes: 0

Oliver Weichhold
Oliver Weichhold

Reputation: 10296

Must be able to reliably upload large (~100MB) binary files via WCF and MTOM

Should work.

Must be able to support file downloads, preferably in the background (i.e. through 'synching'), though this could simply be supported through a manual URL if necessary

Unless you are running OOB with elevated trust (or SL5 in browser elevated) and thus have limited access to the local file system, you would need to ensure sufficient space in Isolated Storage for the downloads.

Should have access to some form of local storage - this could be binary or XML for config purposes, but ideally some kind of database (not fussed which, as long as it is part of the install/app)

See above. Regarding local database support there is an SQLite port for Windows Phone 7 which also works in Silverlight (I've recently tested it).

Should support some form of client notification (sound and or tray bubble). Ideally this would be supported via WCF duplex, but could be accomplished through polling.

The notification can be done through Silverlight's Notification Window (supported from SL4 and up). The actual server side notification could be done through duplex channels or Kaazing WebSockets Gateway etc.

Should be easily deployable - if I need to run Silverlight in full-trust mode / OOB - how do users get new versions?

You can install an OOB Client along with the runtime with an MSI installer and still have the Silverlight standard update mechanism work for you (required Authenticode signed XAP). I've done just that a couple weeks ago.

Should be minimisable to the system tray

AFAIK not possible in SL4. Not sure about SL5.

All the points I have not quoted should work.

Upvotes: 1

Anders Abel
Anders Abel

Reputation: 69250

Having done some Silverlight development I often feel a bit restricted by the possibilities it offers. In my opinion it is meant to be run within a browser, with a web-like interface. From what you describes it is more of a full app you want so I would recommend WPF and click-once deploy that handles updates automatically.

Upvotes: 0

Related Questions