views:

947

answers:

4

The company I work for is developing an ASP.NET application that is used by both PC and Mac users. We're considering making our next version in Silverlight. If you've developed a business application in Silverlight, are there differences in appearance/performance etc between Silverlight on the PC and Silverlight on the Mac?

If you've had a chance to test Silverlight on different versions of Mac OS that would help as well.

+2  A: 

You may want to just check some of the various Silverlight demos and sites currently using it and doing your own testing on both Windows and Mac to do a hands on comparison.

schooner
My co-workers and I have already done that. However, we have a data-intense application and the demo and sites we could find are either media or graphics oriented (such as UI control kits etc). If you have good links to Silverlight sites that are data-intense, I'd appreciate it.
SirDemon
A: 

I don'y understand why people want to do things like this. Sites written in things like SilverLight or Flash have their stuff break so often when the release hits the internet, save yourself the pain.

EDIT: In response to some comments I think I will just say that their is a good reason to avoid things like this, you need to install something else other than the web browser to get these sites to work properly, and then your site may well not work when a new version of that program/plugin is released. Also a lot of people will be at work and possibly not able to install said program in the first place, these are reasons why I think that web stuff should be written in languages that only require the web browser with javascript turned on to run, definatly more accessible.

railsninja
-1 you probably still do things in Machine code....
balexandre
Hmmm that's a ridiculous comment, closed source things like this notoriously change the way they work release to release, writing things in real languages that will work in any browser is a better way to get a quality application out there.
railsninja
Your user name gives the game away. A platform troll.
Phil Wright
Also an untrue comment, I have no problem with people doing thing in stuff other then ruby, that'd be stupid, I just think that things like Silverlight and flash are unneccesary and frankly more trouble than they are worth.
railsninja
+1 Totally agree; save yourself the pain and write a real web app, or write **native** desktop apps for each platform. Silverlight is just a rehash of Java, remember how well "write once, run anywhere" turned out for it?
Chris Hanson
+3  A: 

My personal experience with programming for Silverlight is extremely limited, but I develop mainly for Mac OS X, and thus use it all the time.

I used to have Silverlight installed, but noticed that whenever it was activated on one page, as soon as I closed that page the entire browser would crash, I have since removed Silverlight from my computer so that I can surf the web without having random crashes.

This happens even on a clean install of Mac OS X, and using Safari 4 Beta or the previous release version in the 3.x version range. I am running Mac OS X Leopard, so it is not because I am running an older version of the OS.

Just something to keep in mind while developing for Silverlight, people may be reluctant to install yet another plugin when they already have Flash installed.

X-Istence
On the sites I've had to chance to check so far, I didn't see this happening, but this is actually very good to know.
SirDemon
i've never had a silverlight application crash any version of safari on my mac. what version of silverlight was it?
Jeremiah
Jeremiah: Whatever the latest one was that was available from Microsoft during the Superbowl.
X-Istence
+1  A: 

I have developed two data intensive applications in Silverlight. One began as a SL2-B2 app and shipped in SL2 and the other is a SL3 app. From a data-intensive app standpoint, there is really no difference between the mac and the PC. I have had some rendering/performance issues on the mac though - nothing that made me regret using SL. (you can look at my other questions to see the silverlight cpu usage question)

There are a lot of things that you will find very valuable for a data-intensive application when using SL (many of which I believe are impossible in more traditional web languages):

  1. Isolated storage - you can store large datasets locally, encrypted if you please.
  2. Mutli-Threaded execution - you can process data in parallel and take full advantage of multiple-core cpus (combined with #1 you can a lot of things not possible before)
  3. Binary encoding (if using WCF as your service) - this creates a lot of server side efficiency in transferring the data (though I guess this could be replicated with other technologies, but it is free with SL3 and WCF)
  4. Use of local GPU acceleration for rendering. If you data-intensive app produces complex visualizations, this can provide a big boost
  5. A common interchangeable language for both client and server side. We share a lot of code on both sides. We compute results on the client side using EXACTLY the same chunks of code that we use on the server side. (right now we "link" the code files into SL and regular .net assemblies, with .net 4 we can share libraries) - this produces a lot of programming and testing efficiencies.

Also - someone commented above to "just write native apps" - I have updated my apps in place literally hundreds of times - all transparent to the end users. Writing the native apps is not really the problems in my experience, it is deploying them, updating them, etc. SL makes this extremely easy if not automatic. I tell folks all the time who try to position SL vs. Flash ot SL vs. HTML - to me the real difference is SL vs. (the entire native app, native installer, update experience).

Good luck. Let us know how it turns out.

BTW: I do all of my development on a Mac Pro running Win7 in VMWare Fusion.

caryden