My Headlines

Monday, May 14, 2007

Silverlight for Mac Designers

by Don Burnett

I have some friends who are Mac designers, and they have came up to me asking me some questions about Silverlight development on a Mac. So, I thought I'd sit down and try to answer them.

Questions first then answers

 

  1. Can I develop for Silverlight on the Mac? Do I need ASP.NET and a PC...
  2. What languages are supported on the Mac?
  3. Can I use Silverlight on a PHP site?
  4. Does Silverlight work well with an Apache Web Server?
  5. Can I really DO 720P HD video on a Mac without hardware acceleration?
  6. Most Designers are working on Macs and Using Adobe products. Apple advertising is telling people to just use Macs for everything, how does Silverlight solve this?
  7. How does Flash video really compare to Silverlight objectively? Can I do full screen video? Can I control the interface?
  8. Is there a resource out there for controls? I use Flex right now, and this 1.0 Microsoft product doesn't look as full-featured, am I missing something?
  9. What tools do I use to get started on the Mac?? Any suggestions?
  10. Can I move my SWF flash files over to Silverlight or WPF?

 

Answers
1. Yes you can develop for Silverlight on a Mac.. Silverlight is a control that gets embedded in a web page very much the same way you are doing with Flash now. Either with a small bit of client-side javascript .T he preferred method is with the scripts Microsoft gives with the plug-in and SDK.  Microsoft has revamped the plug-in detection and install experience. The files are now referenced from a Microsoft server out on the net rather than having a million different versions out there. There is a more friendly image-based message telling you that you need to install the Silverlight player.

There is a great tool out there for prototyping Silverlight from the Web browser (yes it runs on the Mac) called SilverlightPad it now features Javascript editing and a run button. You can download it here..

 From there you should download the Silverlight SDK. For the Mac the files have been ZIPPED for greater accessibility. Microsoft is working on improving the packaging of these things. If you need to access a CHM file (compiled help) there is a Mac version a CHM viewer available.

For instructions on creating a silverlight project in your favorite web development environment check out this page and begin reading what's in a basic silverlight project.  Ignore any discussion about Visual Studio "Orcas" for the moment.. After reading down the page you will see that it's easy to add Silverlight to just about any standard HTML page including those generated by other development systems (PHP, Java, etc.) mostly because adding support is basically passing script to a client side object.

2. If you are using the 1.1 version of the silverlight plug-in which includes the .net CLR runtime you will see that you can use just about any .Net supported language including Ruby and Python.. A good example of a "Dynamic" language is Python.. Because it runs in any web browser and gives you Silverlight graphics and GUI support... If you want to try out Python on Silverlight CLICK HERE. This sample works great on the Mac on Safari. You probably also want to download the 1.1 alpha SDK which includes the .NET CLR.

3. Yes, it's a client side technology you can pass data from PHP through javascript/html.

4. Yes again same answer as number 3.. Nothing is server-side here so it works great with any server.

5. Yes, some have doubted it but I have seen it.. If you want more proof install the plug-in and check out video samples @ http://www.silverlight.net especially the FOX/Silver Surfer video, it's way cool. Silverlight can use the VC-1 Codec which way outshines Flash video at the moment. Creation of a player is more flexible too thanks to XAML.

6. Sure Apple wants you on Mac OS instead of Windows, what's new there? Silverlight works everywhere (yes the mono folks over in the Linux community want it over there too and likely will be there. Plus you don't just get a graphics plug-in you get a full .Net version runtime with all the happy features the .Net framework provides including custom controls, garbage collection, multiple languages, code that can run hundreds of times faster than typical Javascript/HTML. Microsoft is new at doing product families for designers, that is certain but they offer a very nice cross-platform alternative.  The .Net CLR in Silverlight compares nicely feature-wise to Java, plus you get incredible graphics as well. Why wouldn't you develop for it?

7. That's a good question, I don't really believe in Benchmarks, I believe in what my eyes show me and I really am tired of looking at smudgy drop-frame videos on YouTube and other places like that, so Silverlight is a treat for the eyes. Check out this video and tell me what you think. Click on the fullscreen button too.

8. Are there controls out there? Well if you aren't using Microsoft's expression tools on a PC they might not be as available. There are samples of custom controls in the SDK. The big advantage is that Silverlight (thanks to the addition of the .Net CLR) very extensible. I expect a whole industry to pop up just like it has for .net Visual Studio controls, because they are developed very much through the same process for very much the same .Net framework.  So expect big things in the long term here. Right now the market for controls is wide open.

Some have commented that Flex controls are more rich, and that might be true because of the maturity the product has on the market. I won't argue that. I will say however that the nice thing about all Microsoft technologies is that they have a high level of integrations with other things Microsoft. Microsoft already has a Silverlight video player and XAML control set up for ASP.NET so they will integrate well with ASP.NET/AJAX and their cool databinding technologies.  Check out the ASP.NET Futures release. It also includes  new functionality for ASP.NET AJAX Extensions, dynamic data controls, enhancements to dynamic languages, and more. It matches the new .Net 3.5 release that will be released later this year.

9. Mac Tool Musts

10. If you have stuff in Flash and want to convert it, you have two options, one community supported and the other from a familiar Mac developer Electric Rain with their new product HARMONY (for both WPF and Silverlight).

If anyone has more questions or you are stuck on something please ask me by commenting on the blog on this entry, or better yet attend our MichiganInteractiveDesigners.org meeting ..

3 comments:

Greg said...

according to this microsoft page:
http://msdn2.microsoft.com/en-us/silverlight/bb419317.aspx

The silverlight plugin will only work on Intel based Mac's, or did i read it wrong? In need to run the SilverLight on several pre-Intel Mac's.

Don Burnett said...

Silverlight 1.0 is a Mac Universal Binary that runs on Mac PowerPC platforms and Intel both and is completely cross platform compatible. 1.1 is just a test version, and is not really supportable and there isn't a license to deploy 1.1 out there.

The number of PowerPC Mac's on the internet has been shrinking wildly over the past few months as the Apple community upgrades to Intel based Macs.

It's expected (based on the current rate of market shrinkage of PowerMacs in use) that when Silverlight 2.0 hits, most of the Apple market will be on Intel based Macs.

So in the longer term the 2.0 release (just like the 1.1 alpha) is expected to be an *Intel Only* release because the marketshare of late summer/early fall 2008 will have shrank to the point where the insignificant numbers of PowerPC Macs left on use and actually accessing the internet such that it won't really warrant a 2.0 release for PowerPC..

The 1.0 plug-in will continue to be available, and even when the 2.0 release comes (probably in late fall as expected- not in beta) it's expected that most websites that are Silverlight compliant will stay 1.0 for a long time to come.

Most people don't update web content regularly to reflect new plug-in release as seen with the Flash community in previous releases. So 1.0 Silverlight will still probably be viable until you you update to that Intel Mac anyway.

If you are curious about statistics on the PowerPC Mac market and the economics behind this..

Check out these links..

I wrote about the statistics on this and a response to all of this already if you want real figures on this back in December. It explains the shrinking PPC Mac Usage sphere..

http://blog.donburnett.com/2007/12/macs-parallels-and-vista-oh-my.html

Don Burnett said...

So after saying all that I think you are safe with 1.0 Silverlight on PowerPC Macs for a while.

But think about how long it has been since Apple themselves has released a PowerPC based Mac. The vast majority of smaller third party developers are expected to go Intel only by end of year, and with the population in very quick decline the shelf life of the PowerMac is definitely limited.

However for now you are very safe and I'd say over the next year you are probably safe. I don't expect a lot of 2.0 content when 2.0 ships in fall (if it's not later).

1.0 Silverlight plays great on even G4 Mac laptops by the way.. I gave a demo of it showing off the new "surface" technology at the local MacTechnics user group in Silverlight.

Check out this Silverlight page on a G4, it's multiple videos with "surface" type functionality it rocks on 1.0 Silverlight Mac..

http://galilee.microsoft.fr/TechDays2008/SL/techdays-2008-silverlight.aspx