views:

172

answers:

5

I have seen and heard of various Silverlight restrictions, e.g. file I/O restrictions, some reflection limitations, restrictions on which languages can be used, printing, resolution, etc.

Could you please compile a list of all major silverlight limitations, as compared to a full-blown .NET application? This is for the latest version (4.0).

I'm not asking for a class reference, but high-level features. It would be nice to propose some workarounds too, if any, but this is not essential.

Many thanks

+1  A: 

Its probably easier to list what is in Silverlight than what is not. To do that you could look through the Silverlight documentation.

However here are a few links into the documentation which list some the key issues:-

WPF Compatibility
Silverlight Application Security Model
HTTP Communication and Security with Silverlight
URL Access Restrictions in Silverlight
Network Security Access Restrictions in Silverlight

AnthonyWJones
+1  A: 

Unless you are running as a full trust application you don't have access to the local file system. This is a perfectly reasonable restriction for a web application though.

ChrisF
+2  A: 

Another bunch of restrictions (btw some of this problems you can bypass using out-of-browser mode with elevated trust + automation with WScript.Shell):

  1. You can't interact with registry
  2. You can't interact with file system. Only with library folders (like Music, Videos, Pictures)
  3. You can't use DllImport.
  4. You can't use non generic collections from System.Collections namespace.
  5. If you decide to use linux version of Silverlight (Moonlight) then you can't use OOB at all
  6. You can't call services synchronously (only async calls available).
  7. You can't get synchronous response from HttpWebRequest.
  8. Silverlight doesn't implement MD5 hashing. (custom MD5 implementation for Silverlight)
  9. Silverlight doesn't implement RSA encription algorithm (there was nice web site with RSA algorithm implementation for Silverlight. But looks like it is down for now.)
  10. Silverlight doesn't implement Rijndael encription algorithm (for backward compability you may use AES algorithm with block size = 128)
  11. Silverlight doesn't support ASCII/ANSI encodings.
  12. Silverlight doesn't support 3D objects drawing (you may use Kit3D or Balder instead).

But there are some good news. For example you still can use OOB Silverlight for OSX application).

zenonych
Nice, if you can complete the list I will accept it as answer.
_NT
Sure, why not :)I've updated my post with newly found Silverlight restrictions. Also if I'll find some new restrictions I'll add them to my post.
zenonych
A: 

I dont know if you will find this relavant or not but i used WPF DataGrid and hated it because it had a property that when it was in invalid state it wont exit edit mode and because of that many exception arose.

jaminator
A: 

It's more hassle than it's worth. Too many restrictions to count.

CrazyEnigma