编写一次编译/运行任何桌面框架/语言

时间:2012-10-14 14:47:07

标签: frameworks ide programming-languages cross-platform native

我正在寻找一种开发跨平台桌面(甚至移动)应用程序的方法。

我正在寻找符合以下标准的语言/框架:

  1. 有一个漂亮的图形用户界面(在每个平台上看起来都是本机的)
  2. 有各种各样的小部件,GUI组合(如网络浏览器控制)
  3. 是开源的
  4. 具有包含GUI设计器和编译器的优秀IDE
  5. 有办法保存应用程序设置closs-platform(Windows:注册表,MAC:XML首选项文件,Linux:INI文件) - 比如来自Qt的QSettings
  6. 可以在本机应用程序中编译或打包,因此用户无需担心他已安装或必须安装的运行时版本。
  7. 语言是静态类型的
  8. 语言是垃圾收集
  9. 我不喜欢像3个不同GUI的项目那样的变通方法,使用3个不同的工具包,每个平台一个
  10. 我已经研究了一些框架,但它们都有一定的缺点:

    1. Java - 丑陋的UI,没有足够的小部件,SWT为每个平台提供不同的版本;用户必须安装JRE
    2. .net - 不是跨平台的
    3. mono - GTK#没有足够的小部件
    4. Qt - 可能是最好的选择,框架很好,但c ++是一种丑陋的语言:(
    5. Lazarus - 我是Delphi程序员......我讨厌它:) Pascal是一种难看的语言
    6. Python - 我不喜欢我必须使用GUI的设计器,然后将其导入我的代码,我写了一个IDE。我想提供本机应用程序(对用户来说会更容易),所以我必须使用cx_freze来编译...这是我必须使用的3个不同的应用程序
    7. Kivy& Appcelerator Titanium - 适用于移动设备,没有足够的桌面小部件
    8. 你会推荐什么?

      PS:是的我在Stack Overflow上阅读了关于这个主题的类似文章,我在发布之前做了很多研究,但我找不到我需要的东西,这就是为什么我发布了一个更具体的问题,我就是希望有更多经验的人可以提供帮助。感谢

1 个答案:

答案 0 :(得分:2)

Mono + Xamarin工具

我目前正在使用上述组合,到目前为止,我感到非常高兴。

到目前为止,每个平台都有本机经验,并且功能非常接近,尽可能多地共享代码库。

另外, 我认为Unity3D用于非游戏开发,因为它几乎决定了跨平台的兼容性。

编辑:使用来自3dBuzz.com的人员制作的CGS插件,Unity3D UI设计可能会归结为HTML(使用C#)+ CSS样式(正如您在此处的演示中所看到的那样:http://www.youtube.com/watch?v=C4exPTAjdRk

EDIT2:很抱歉在答案中发帖而不是评论,仍然没有足够的评论评论:D

我希望这个意见有所帮助。