I would like to develop开发者_如何学Go a cross platform application, i'm not sure which is best to use for a desktop application
Microsoft Silverlight
Adobe Air
Java? (don't want to do this)
Firefox Add-On?
There are quite a few options available for you, but your choice may depend on how complex your desktop application is:
- Medium to high level complixity:
- Here you may want to go with desktop application frameworks like SWT Eclipse RCP) or Netbeans Platform. Ofcourse you also have low level toolkits like Gtk, Swing, SWT, etc.
- RIA (Rich Internet Applications).There are various available in this space:
- Titanium Desktop (Its really good, I've used it myself)
- Adobe AIR (not as powerful as titanium)
- Silverlight (don't know much about it, and don't know if its really cross-platform)
Don't discount QT, wxWidget, Tcl/Tk, and a slew of other cross-platform GUI toolkits out there.
Since you mention c#, you can create desktop GUI application in Mono c# Gtk that can target both windows and linux.
For more info checkout this
We're doing x-compiled Silverlight / WPF. Working well so far...
You need to define which platforms you mean to include. If you just mean windows/mac/linux than any of those (even c#/silverlight) will be okay and you should choose what you know best.
If you want a little more reach (proprietary unix, potential expansions into smartphones, etc) your options are narrowed down a little.
Write it in Flash.
This is an old question but at the end of 2015 Electron is the option I went for. Its built on Node.js and Chromium which has to be one of the most highly maintained rendering engines around. You get WebGL, video and audio support and even PDF printing all built in. I've even got it reading legacy hardware drivers using node-ffi. It's getting a lot of commits and Microsoft have built their open source code editor (Visual Studio Code) on top of it.
Back in 2010 you would have to be pretty skilled to write huge desktop apps in JavaScript, but with ES2016 or Typscript that's no longer the case. If there are parts of your app where you're not happy with the performance of JavaScript you can always drop into a native module.
I think Adobe Air is good option.
Obviously you need to consider which platforms to support, if your target is Windows and Mac, you should consider Silverlight as an alternative. I'm working on a rich app to manage books, videos, games and more. My app is built on Silverlight 4 and will be optimized for running both inside the browser and out-of-browser. With Silverlight 4, you have the ability to make custom chrome-windows, without the standard border.
Silverlight and Flash are probably your best two alternatives, but remember that they are resource intensive. Some of the more popular Adobe Air apps hogs memory from the computer.
You need to consider your own personal skillset, which programming languages are you familiar with? If you already know a language, it will take less time to learn the UI-framework with your platform of choice. If you need to learn both the programming/scripting language and the UI-framework, you will likely be less productive, at least in the beginning.
精彩评论