作爲跨平臺文本編輯器Sublime Text 2的粉絲,我一直在研究它是如何開發的。開發人員已經注意到,它對於Linux的一些GTK具有99%的C++,並且使用他稱之爲「Sublime GUI」的自定義UI工具包。這是來自dev的報價C++自定義UI ToolKit - 跨平臺抽象層的選項
Sublime Text 2本身使用自定義UI工具包。有很多應用程序在這裏可能沒有意義,但對於Sublime Text來說這並不是一個不合理的選擇,在那裏我總是知道很多UI控件將不得不自定義,無論該工具包是什麼(例如,文本控件和選項卡控件)。 UI工具箱位於跨平臺抽象層之上,它更多地是平臺功能的聯合而非最低公分母。
我的問題是,什麼是一個跨平臺的抽象層的一些選項?我認爲這比GTK,QT和SDL要低。我試圖弄清楚如何創建一個跨平臺的自定義UI工具包,並且只需編寫一次代碼。
我很欣賞UI工具包的好處,但如果我想讓自己的手變得骯髒,並且在Windows,Linux,Mac上支持我的應用程序,我不確定從哪裏開始。
基於我所看到的,它可能使用GDI和XLib。使用類似Fraps的東西,如果正在使用gpu,您會看到調試信息,但不存在調試信息。所以我相信它正在做軟件渲染。還運行gDEbugger,有0個OpenGL調用。雖然我只在Windows上進行測試,但是可能在其他平臺上使用OpenGL,儘管我懷疑它。 – leetNightshade