作为程序员,我的副业是用 C++ 编写一个程序,将音频文件与各种格式相互转换。也许,这将涉及构建一个简单的 GUI。

使用 Cocoa 和 WinForms 而不是像 Qt 或 GTK 这样的跨平台工具包来为 Mac 和 Windows 构建单独的 GUI 会需要付出很大的努力吗?
(无论如何,我必须维护单独的 Windows 版本和 Mac 版本)
GUI 可能非常简单,只需要非常基本的功能。

我总觉得原生 GUI 比跨平台的 GUI 直观得多……

有帮助吗?

解决方案

如果您拥有专业知识,请使用本机前端,这将有效地使您必须为 UI 所做的工作增加一倍,但根据我的经验,非本机 UI 比本机 UI 稍微笨重一些。

其他提示

你看过吗 wxWidgets?跨平台本机控件。

跨平台工具包或多或少都做出了错误的假设,即平台之间的差异在于按钮位置和小部件样式的问题。在某些情况下,您可以摆脱这一点 - Qt 应用程序在 Windows(UI 约定非常宽松)和 Linux(尤其是 KDE 环境)上都感觉相当原生。一般来说,您可以相对轻松地在 Linux 和 Windows 之间切换;约定是相似的,而 Windows 社区对此并不严格。

麦克是最难的。它的 UI 是围绕与 Windows 或大多数 Linux 环境完全不同的范例构建的。

但总的来说,在本机应用程序中,通过多种方式使用平台的本机语言比仅使用小部件样式更容易。

我同意,如果可能的话,原生前端是最佳选择。我最近没有使用过 wxWidgets,而且我听说它已经取得了很大的进步,但是当它还是 wxWindows 时,我们用它构建了一个应用程序,指定在 X/Motif 中构建。当我们完成工作并交付它时,客户说它看起来不够像 X/Motif,我们不得不自费重新设计整个 UI...Joel Spolsky就此写了一篇很好的文章,但我不记得标题了。IIRC,他所说的是 Java 和其他一些跨平台 UI 的问题是“你的狗对我的应用程序吠叫”——正是这些小小的不一致惹恼了人们。

是的。

但说真的,这取决于你的目标。我同意原生 UI 库,经过大量的努力,将提供更好的结果,但对于许多应用程序来说,一个非常基本的 UI 就足够了,如果您采用现有的跨平台框架之一,那么工作量会少很多。

也许从 CLI 开始并让功能正常工作对于音频转换应用程序来说是最有意义的。

我很快就会为此编写自己的跨平台应用程序 GUI 层。根据应用程序的复杂性,这可能只是 QT、GTK 或 FOX 所需的一小部分。

原因是我们看到平台供应商(首先是苹果)试图设计系统以使其看起来独特的趋势。这使得 QT、GTK、FOX 和其他平台工具更难持续与最新的小部件保持同步。

当底层技术变得越来越相同时,操作系统供应商别无选择,只能在平台的外观和感觉上打造品牌。

wxWidgets 使用标准 C++ 语法和预处理器,因此使您可以轻松地从普通 C 或 C++ 进行更改。无论是在 GTK、X11、MS-Windows 还是 Mac 上,都会产生非常原生的外观。

自第一个版本发布 20 年来,它已经成熟,拥有完整的文档,易于导航,并得到世界各地大型社区的支持。在您最喜欢的 IDE 中进行编码,或者使用著名的 Eclipse-IDE 和 wxFormBuilder 作为 GUI 设计器。可以在此链接中找到构建 wx 库和 IDE/工具链设置: http://yasriady.blogspot.co.id/2016/01/raspberry-pi-toolchain.html

在 Linux 桌面上开发您的应用程序,并为 Raspberry Pi2 提供编译器(目标应用程序测试在 Raspbian Jessie 上顺利运行)............

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top