我正在为多个桌面平台构建一个应用程序:Windows,Mac,以及后来的Linux。
我想知道哪种编程语言和IDE组合最适合我:
- 编程语言需要是C#(首选)还是Java。
- 核心库必须在所有平台之间共享,这意味着所有平台必须链接到单个核心库(按库我的意思是类和函数列表)。
- Windows和Mac是优先考虑的,Linux应用程序用于未来的规划。
- 该应用程序的设计完全是自定义的,它不遵循每个平台的任何准则。
我陷入了这三种解决方案之间:
- 使用Xamarin.Mac + Visual Studio for Windows并链接它们之间的核心类。
- 将GTK#用于整个项目,并为每个平台编译多个构建。
- 将Java用于整个项目,并为每个平台编译多个构建。
对于#2和#3,我需要一个建议,考虑到我的应用程序的设计,哪种语言更适合我。我的意思是,哪一个对我的目标有更好的GUI构建能力?
BTW GTK#为每个平台使用不同的库,所以这应该是我的核心架构的混乱,不是吗?!
这听起来像Xojo或类似的工作: http://www.xojo.com
Mac,Windows,Linux使用简单的GUI设计和本机应用程序构建。自定义UI也很容易完成,然后您就可以为所有三个平台提供一个代码库。您可以免费下载和使用该软件进行开发和测试,只需在您决定构建应用程序后需要许可证。
三年后,Javascript现在也是这场辩论的有力竞争者。
空间内有多种选择。
和别的
甚至微软也发布了Visual Studio Code,它是用Javascript编写的开发环境的跨平台版本。
什么是Visual Studio代码编辑器
好处包括利用许多可用的Web库,以及构建/使用您的Web开发技能。
“GTK#为每个平台使用不同的库”,你的意思是不同的渲染后端(如X11,开罗)?
您只需要构建一次GTK#app。但是,您必须将GTK#运行时(对于Windows和Mac而言不同)与您的应用程序捆绑在一起。 女妖 是一个很好的例子,你可以遵循。
你也可以考虑Livecode
Livecode: http://livecode.com
对于除了web之外的任何平台,它都是开源的,如果你的代码足够灵活,不是C#或Java,它也包含移动目标。
一个选项是使用C#和GUI独立性在已编译的库中构建核心逻辑,然后将其插入到livecode中,从而使UI适用于该工具。