跨平台桌面应用程序
我想开发一个跨平台应用程序,我不确定哪个最适合桌面应用程序
Microsoft Silverlight
Adobe Air
Java ? (不想这样做)
Firefox 附加组件?
I would like to develop 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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
有很多选项可供您使用,但您的选择可能取决于桌面应用程序的复杂程度:
There are quite a few options available for you, but your choice may depend on how complex your desktop application is:
不要低估 QT、wxWidget、Tcl/Tk 以及大量其他跨平台 GUI 工具包。
Don't discount QT, wxWidget, Tcl/Tk, and a slew of other cross-platform GUI toolkits out there.
既然您提到了 c#,您可以在 Mono c# Gtk 中创建可以针对两个窗口的桌面 GUI 应用程序和Linux。
有关更多信息,请查看此
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
我们正在做 x 编译的 Silverlight / WPF。到目前为止工作顺利...
We're doing x-compiled Silverlight / WPF. Working well so far...
您需要定义要包含哪些平台。如果你只是指 windows/mac/linux ,那么任何一个(甚至 c#/silverlight)都可以,你应该选择你最了解的。
如果你想要更大的覆盖范围(专有的 UNIX、潜在的智能手机扩展等),你的选择范围就会缩小一些。
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.
将其写入 Flash 中。
Write it in Flash.
这是一个老问题,但在 2015 年底 Electron 是我选择的选项。它基于 Node.js 和 Chromium 构建,这必须是维护程度最高的渲染引擎之一。您可以获得内置的 WebGL、视频和音频支持,甚至 PDF 打印。我什至可以使用 节点-ffi。它得到了大量的提交,并且 Microsoft 在其之上构建了他们的开源代码编辑器 (Visual Studio Code) 。
早在 2010 年,您必须非常熟练才能用 JavaScript 编写大型桌面应用程序,但使用 ES2016 或 Typscript 就不再是这样了。如果您对应用程序的某些部分的 JavaScript 性能不满意,您可以随时放入本机模块。
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.
我认为 Adobe Air 是不错的选择。
I think Adobe Air is good option.
显然你需要考虑支持哪些平台,如果你的目标是Windows和Mac,你应该考虑Silverlight作为替代方案。我正在开发一个丰富的应用程序来管理书籍、视频、游戏等。我的应用程序基于 Silverlight 4 构建,并将针对在浏览器内部和浏览器外运行进行优化。使用 Silverlight 4,您可以制作自定义的镀铬窗口,而无需标准边框。
Silverlight 和 Flash 可能是您最好的两个选择,但请记住它们是资源密集型的。一些更流行的 Adobe Air 应用程序会占用计算机内存。
您需要考虑您自己的个人技能,您熟悉哪些编程语言?如果您已经了解一门语言,那么学习您选择的平台的 UI 框架将花费更少的时间。如果您需要学习编程/脚本语言和 UI 框架,那么您的工作效率可能会降低,至少在开始时是这样。
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.