One of the most frequent questions I get related to my Adobe Illustrator to XAML Export Plug-In is: “does it run on a Mac?” Unfortunately, the answer has always been “no,” because I’ve never owned a Mac, and I’ve never done any Mac development…ever. If you can believe it, the last Apple computer I wrote code for was the Apple IIe. Those were the days!
Last week, I asked around the office, and between Tim Sneath and Thomas Lewis, I was able to borrow a Mac Mini to play around with (thanks, guys!). I installed OS X Tiger and Xcode 2.5, because I wanted to target the Illustrator CS3 SDK (which recommends that OS/tool combination). I would have gone back a bit further, but the CS and CS2 SDKs are both based on CodeWarrior, and I didn’t want to make my situation any more difficult by using even older versions of the OS and tools. Because of this choice, the plug-in should work fine with Illustrator CS3 and CS4, though I’ve only been able to test it on CS4 myself.
Fortunately, when I wrote the original plug-in for the PC version of Illustrator, I mostly stuck to the platform agnostic functionality and types that are exposed by the SDK. This made it much easier to port the code to the Mac. Here are the three biggest challenges I encountered:
- General unfamiliarity with the Mac – since I haven’t used a Mac since the Mac Classic (before it was even called “Classic”), just finding my way around the system felt like I was exploring an alien planet. Where did my Illustrator window go!?!?
- Xcode – being unfamiliar with the Mac didn’t make it any easier to understand the project system or the Xcode developer tools. And Carbon? What’s that? 🙂
- Platform-specific code – if you’ve used the PC version of the plug-in, you know that you can hold down the left shift key during export to pop-up your default XAML viewer; if you hold down the right shift key, your WPF export uses DrawingBrush syntax. The Mac API that I found doesn’t allow me to distinguish between the left and right shift keys, so the Mac version exports DrawingBrush syntax regardless of which Shift key is held down.
If you’d like to help test,
download Mac version 0.18 (see update below) and copy the XAMLExport.aip file to your Illustrator plug-in folder. Like the most recent PC version, you’ll find "XAML for Silverlight (*.XAML)" and "XAML for WPF (*.XAML)" as new formats under File/Export. I’ve run many files from my test suite through the plug-in and have so far been able to add all of them successfully to Expression Blend 2 on my PC.
It may help to read through the Features list on my plug-in page to see what works and what doesn’t. Also, I’d love it if someone could test it with Illustrator CS, CS2, and CS3 and report their results…I only have CS4 on the Mac.
Thanks in advance for your help and feedback!
Update: A newer version of the plug-in is now available, including version 0.19 for both the PC and the Mac.