【发布时间】:2012-08-26 12:26:07
【问题描述】:
我想开始一个新的(开源)项目,我希望它能够在 Windows 和 Mac OS X 上跨平台(Linux 也不错!)
我愿意为每个平台开发单独的前端,但核心逻辑应该共享。
我需要以下内容:
- 最好是原生 GUI 小部件集
- FTP 连接(独立于平台的包装器)
- TreeListView(同样,最好是独立于平台的包装器)
我已经对此进行了一段时间的研究,我发现这些解决方案非常有吸引力:
- Mono,在 Windows 上使用 WinForms,在 OS X 上使用 MonoMac
- Lazarus (FreePascal) 与 LCL
单声道专业人士:
- 使用 C#,这是一种非常适合使用的语言
- 具有适用于 OS X 和 Windows 的小部件集
单声道缺点:
- Mono 框架是我的应用程序的依赖项
Lazarus 与 FPC 专业人士:
- Pascal 也是一门很棒的语言,我知道如何使用 Indy 的 FTP 控件。
- 有VirtualTreeview,这是我见过的最好的treelistview控件!
- 可以交叉编译
- 还有适用于 Windows 和 OS X 的小部件集
- 无框架依赖!
具有 FPC 缺点的 Lazarus:
- 似乎支持正在消亡,但也许只有我一个人。
- VirtualTreeview 似乎只有 Windows 端口。
- 可执行文件可能会变得非常大,但这可以修复。
我也用 FireMonkey 研究了 Delphi XE2,但它没有使用原生控件,而且由于抗锯齿,它看起来不像原生的。 :(
现在,我最担心的是,我似乎找不到适用于 Windows 和 OS X 的 TreeListView!我真的需要一个带列的树视图。
重点在于具有跨平台 TreeListView 的技术,该技术有效且仍受支持。
感谢您的宝贵时间!
【问题讨论】:
-
网络客户端/服务器会是一个有效的替代方案吗?
-
@Erno - 不,遗憾的是,FTP 是必需的 :)
-
Web服务器不能为客户端做FTP吗?
-
那么将网络服务器合并到客户端中?
-
不,从网络浏览器连接到网络服务器,让网络浏览器对 FTP 服务器进行 FTP 传输,并将结果传递给客户端。可以为其他客户端缓存结果(如果可以的话)。
标签: c# mono cross-platform freepascal lazarus