tags:

views:

49

answers:

1

I have an app I'd like to run in the browser but do not want to deal with the fairly primitive development environment that the browser is. I have a few high level questions about Silverlight 3 (I've never used it):

1) What environments/browsers support Silverlight 3?

2) Would my users (who would be world-wide) have to install Silverlight 3 on their computer before they could run my app? I assume so. If so, is this a major undertaking?

3) Would my app be permitted to save files to the user's computer, and read them back?

4) Is Silverlight 3 fairly mature? IOW, would this be a frustrating development experience or are the tools/functionality far enough along where they allow the developer to do mostly what he/she wants to do?

Thanks. That should get me started.

+7  A: 

Silverlight is supported on Windows and Mac OS X, in IE, Firefox and Safari. There is a port to Linux, Moonlight, which is developed externally from Microsoft but with their collaboration.

Yes, your users would have to install Silverlight 3. This is reasonably simple and the Silverlight project wizards generate code that will prompt the user to do so. The overhead is similar to installing Flash. Permissions may be an issue for corporate users though: many companies have policies that do not allow users to install arbitrary plug-ins, and the admins may not have made an exception for Silverlight.

Your app would be permitted to save files to isolated storage (with a size limit), or if you prompted the user to select a save location. Your app would not be permitted to save files to arbitrary locations without informing the user and allowing them to change the path. Isolated storage is private to your app and could not be used to read other apps' data or share data with other apps.

Silverlight 3 is a fairly mature runtime, but the development tools are not as mature as the rest of the .NET toolchain. In particular diagnosing and debugging XAML exceptions can be very frustrating (Silverlight tends to throw AG_E_UNKNOWN_ERROR or HRESULT_E_FAIL with little, no or misleading diagnostic info rather than a WPF-style XamlParseException). That said, it is still C# and a variant of the .NET Framework, so you get all the Visual Studio goodies like Intellisense, a nice visual debugger, etc.

itowlson