代码之家  ›  专栏  ›  技术社区  ›  Jeff

用于跨平台GUI开发的最佳技术是什么?[已关闭]

  •  3
  • Jeff  · 技术社区  · 12 年前

    我想开始一个新的(开源)项目,我希望它能在Windows和Mac OS X上跨平台运行(Linux也很好!)

    我愿意为每个平台开发单独的前端,但核心逻辑应该共享。

    我需要以下内容:

    • 最好是本地GUI小部件集
    • FTP连接(独立于平台的包装器)
    • TreeListView(同样,最好是独立于平台的包装器)

    我已经研究了很长一段时间,我发现这些解决方案非常有吸引力:

    • Mono,使用WinForms for Windows和MonoMac for OS X
    • Lazarus(FreePascal)与LCL

    单声道专业人士:

    • 使用C#,这是一种很好的语言
    • 具有适用于OS X和Windows的小工具集

    单声道缺点:

    • Mono Framework是我的应用程序的依赖项

    Lazarus与FPC专业人士:

    • Pascal也是一种很棒的语言,我知道如何使用FTP的Indy控件。
    • 虚拟树视图 ,这是我见过的最好的树状视图控件!
    • 交叉编译是可能的
    • 还有适用于Windows和OS X的小工具
    • 没有框架依赖项!

    拉撒路与FPC缺点:

    • 支持似乎正在消亡,但也许只有我一个人。
    • VirtualTreeview似乎只有用于Windows的端口。
    • 可执行文件可能会变得很大,但这是可以修复的。

    我还研究了带有FireMonkey的Delphi XE2,但它不使用本机控件,而且由于抗锯齿,它看起来也不是本机控件(

    现在,我最担心的是,我似乎找不到适用于Windows和OS X的TreeListView!我真的需要一个带柱子的树景。

    重点在于具有跨平台TreeListView的技术 有效并且仍然得到支持。

    谢谢你抽出时间!

    2 回复  |  直到 12 年前
        1
  •  1
  •   Svarog    12 年前

    我强烈建议反对帕斯卡。
    这是一种垂死的语言,正如你所注意到的,支持会随着时间的推移而减少。
    用更现代的语言提问并得到答案的机会要大得多。

    .NET/Mono是一个不错的选择。
    .NET在WPF中有TreeView,但它没有在Mono中实现,而且据我所知,它永远不会实现。

    另一个我建议去看看的选项是Java(或者更好——其他基于JVM的语言,比如Scala)。
    它是非常跨平台的(可能是最跨平台的语言),支持很好,语言仍在发展中(尽管它已经停滞了几年),语法+代码风格与C#非常相似(不包括对LINQ等的支持),这使得从一种语言到另一种语言的移动非常简单。
    JVM是一个先决条件,但它并不是什么大问题,因为它已经安装在大多数机器上了。

        2
  •  0
  •   Branko Dimitrijevic    12 年前

    几年前,我使用Qt和wxWindows/wxWidgets作为Windows和各种*NIX变体的单一代码库UI。

    坦率地说,我已经多年没有与他们合作了,也不知道他们对Mac OS X的支持程度,但如果你愿意使用C++(它们都是C++库),它们可能值得一看。