Là một fan của trình soạn thảo văn bản đa nền tảng, Sublime Text 2, tôi đã thực hiện một số nghiên cứu về cách nó được phát triển. Các nhà phát triển đã lưu ý rằng nó là 99% C++ với một số GTK cho Linux và nó sử dụng một bộ công cụ giao diện người dùng tùy chỉnh mà ông gọi là "Sublime GUI". Đây là trích dẫn từ devC++ custom UI ToolKit - Tùy chọn cho lớp trừu tượng nền tảng chéo
Bản thân văn bản cao cấp 2 sử dụng bộ công cụ giao diện người dùng tùy chỉnh. Có rất nhiều ứng dụng mà điều này có thể không có ý nghĩa, nhưng nó không phải là một lựa chọn không hợp lý cho Sublime Text, nơi tôi luôn biết rằng rất nhiều các điều khiển giao diện người dùng sẽ phải được tùy chỉnh bất kể bộ công cụ (ví dụ, điều khiển văn bản và điều khiển tab). Bộ công cụ giao diện người dùng nằm ở trên cùng của lớp trừu tượng nền tảng chéo, đó là một sự kết hợp của chức năng nền tảng chứ không phải là mẫu số chung thấp nhất.
Câu hỏi của tôi là, một số tùy chọn cho lớp trừu tượng nền tảng chéo là gì? Tôi cho rằng điều này ở mức thấp hơn GTK, QT, SDL. Tôi đang cố gắng tìm ra cách một người sẽ tạo ra một bộ công cụ giao diện người dùng tùy chỉnh mà có thể là nền tảng chéo và chỉ phải viết mã một lần.
Tôi đánh giá cao những lợi ích của Bộ công cụ giao diện người dùng, nhưng nếu tôi muốn bị bẩn tay và hỗ trợ ứng dụng của mình trên Windows, Linux, Mac, tôi không chắc chắn nên bắt đầu từ đâu.
Dựa trên những gì tôi thấy có thể sử dụng GDI và XLib. Sử dụng một cái gì đó như Fraps bạn sẽ thấy thông tin gỡ lỗi nếu CPU đang được sử dụng, nhưng không có thông tin gỡ lỗi hiện tại. Vì vậy, tôi tin rằng nó đang làm phần mềm dựng hình. Cũng chạy gDEbugger có 0 cuộc gọi OpenGL. Mặc dù tôi chỉ thử nghiệm trên Windows, vì vậy có thể OpenGL được sử dụng trên các nền tảng khác, mặc dù tôi nghi ngờ điều đó. – leetNightshade