views:

78

answers:

3

Hi,

Can I develop a desktop app in VS2008 that can also run on Mac? What approach?

That is, if I am developing an application (thick client) that runs on a Windows XP/Vista PC, is there an approach to do this such that I could also run it on a Mac? (e.g. silverlight?)

The kind of things my winforms type app needs includes:

  • HttpWebRequest / HTTP calls
  • Access to underlying Sqlite database (via ADO.net)
  • Windows / Dialogs
  • System Tray Presence

I'm currently working in VS2008 and using WinForms, so I'm not really across WPF / Silverlight etc.

Thanks

+3  A: 

I would suggest using Mono for this project, since you're already in Windows Forms. You'll have difficulty with the database requirement using Silverlight, and WPF will not work at all.

Reed Copsey
can I clarify (a) does this mean I wouldn't use VS2008 however if I go mono?, and (b) re database support issue is there another persistance approach I could use that would make WPF or Silverlight fit the requirements?
Greg
You won't be able to develop a mono application in VS2008; however, you can initially write the application in VS2008 and later compile it in one of the mono supporting IDE's.
Zach Johnson
a) No. Mono now has Visual Studio integration as an option [or you could use Monodevelop]. b) No. WPF is not supported at all on Mac. Silverlight, even out of browser, doesn't really provide a data access layer, so it won't work. This is a non-Windows limitation, not a SL limitation, mainly.
Reed Copsey
@Zach Johnson: You can use Visual Studio 2008 now for Mono dev., via Mono Tools for Visual Studio: http://go-mono.com/monotools/
Reed Copsey
@Reed Copsey: Cool! Good to know!
Zach Johnson
+1  A: 

Agreed on the Mono front. I would definitely check out Mono Develop - it's the cross platform Mono IDE. It's been released for Mac so that may help you port your app (or even develop it!)

Eric
+1  A: 

I would suggest looking into Silverlight 4.0. Beta version is already available. I expect to see release at Mix 2010 (which is March 15-17th).

From what you requested it already supports

  • HttpWebRequest / HTTP calls
  • Windows / Dialogs (kind of)
  • System Tray Presence

As for access to underlying Sqlite database (via ADO.net) this can be achieved through RIA Services.

Silverlight supports out of browser mode, and runs both on Window and Mac. IDE is VS 2010, and (probably) Eclipse.

Anvaka