views:

74

answers:

3

I really wanna do cross platform applications. I have great experience in .NET, so the only option is Silverlight. But it's not as powerful as WPF (yet).

Is it possible to use WPF's controls like Menu & ToolBar?

Is it possible to make real installers for Silverlight apps? (Not just out of browser install.)

Is it really worth it, or should I just use Qt?

Thank you

+1  A: 

If you want to do the whole write-once-deploy-everywhere deal, STOP. I can't think of a single application that looks natively-written that was done in any cross-platform environment (Java being the canonical example). There are enough differences in the idioms among Windows, OSX, and the myriad window managers for *nix that trying to write one application that can look acceptable on all of them is a fool's errand, IMO.

Learn to use the tools for your platform; if you partition your application correctly, your business logic should be fairly portable.

Adam Robinson
+1  A: 

At this point, a Silverlight application is as "cross-platform" as any other web based technology. You can build an application in Silverlight that will work on different platforms ONLY if the Silverlight plug-In is implemented for the platform's slew of browsers. The cross-platform magic of Silverlight is just it being accessible on the web.

Editorial: Remember that Silverlight is just a response from Microsoft to Flash. They are trying to leverage the skills of existing .NET developers and give them the ability to deliver a much more rich user experience that was routinely delivered using Flash. Silverlight is a subset of WPF which "makes it less powerful" but WPF is specifically a Windows technology anyway that is simply exposed in web apps through Silverlight's implementation.

Achilles
+1  A: 

Silverlight is a great option for a number of reasons:

  • Cross browser
  • Cross platform
  • Small plugin download required
  • More extensive toolkit than WPF + third party controls
  • Lots of activity online (demos, tutorials, training) as well as a good selection of books available

Also, you can find a good reference example of creating an installer for Silverlight here:

http://amazedsaint.blogspot.com/2010/05/how-to-create-offline-installer-no.html

Just keep in mind some things will break cross-platform, like using com interop, but as long as you avoid those you should be able to accomplish what you're looking for with Silverlight.

Evan Hutnick
While what you say is true, it is still entirely dependent on the support for Silverlight on the different platforms. Sure will Silverlight run on another OS...yes. Do those different OS's feature Silverlight Plug-Ins...that's a different story.
Achilles
Well yes, if you want to make something truly cross platform/cross browser, use nothing but plain html, minimal css, no javascript, etc.. Silverlight as a cross-platform option is actually a pretty safe bet as most computer users you target are *probably* using a supported version of Windows or OSX and one of the major browsers (IE, FF, Safari, Chrome). I can design an app once and have it run on those platforms and browsers exactly the same, which I can't say about nearly any other platform or option out there today.
Evan Hutnick