作为跨平台文本编辑器 Sublime Text 2 的粉丝,我一直在研究它是如何开发的。开发人员注意到它是 99% 的 c++ 和一些用于 Linux 的 GTK,并且它使用了一个他称之为“Sublime GUI”的自定义 UI 工具包。这是来自开发者的引述
Sublime Text 2 本身使用自定义 UI 工具包。有很多应用程序可能没有意义,但对于 Sublime Text 来说,这并不是一个不合理的选择,我一直知道无论工具包如何,很多 UI 控件都必须是自定义的(例如,文本控件和选项卡控件)。UI 工具包位于跨平台抽象层之上,它更像是平台功能的结合,而不是最低公分母。
我的问题是,跨平台抽象层有哪些选择?我认为这比 GTK、QT、SDL 低。我试图弄清楚如何创建一个跨平台的自定义 UI 工具包,并且只需要编写一次代码。
我很欣赏 UI 工具包的好处,但如果我想亲自动手并在 Windows、Linux、Mac 上支持我的应用程序,我不知道从哪里开始。