开发工具 Sublime Text 用是什么图形界面库实现的跨平台?

tablecell · 2021年04月02日 · 最后由 dai123AAA 回复于 2021年04月03日 · 412 次阅读

象 Qt,AWT/Swing,Electron 跨平台的界面又重又慢 但是 sublime text 大小也就 8m 左右,启动妙开 跟记事本一个速度 究竟是用的什么界面库实现的跨平台?

估计是自己实现的 UI 库。。。

/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
/System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication (compatibility version 1.0.0, current version 62046.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 157.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 57740.60.18)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1504.83.101)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.8.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 775.19.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.81.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

OpenGL, AppKit

象 sublime text 这种 传统界面库的各种常见的设置项 listview/treeview/combobox/edit/button 都不见了,都成了 json 配置, 界面组件只有 menu/tab/view 这种最基础的容器类型 这是不是代表写桌面软件的另一个方向,用 openGL 来负责渲染,各种复杂的配置用 json 文件 功能用脚本语言来实现,发布时带上解释器的 dll

用 ruby 是不是也可以用这种方式写一个浏览器,网络请求,html 解析 js 解析 用 ruby 实现,最后渲染文本和图片用 openGL 来实现

需要 登录 后方可回复, 如果你还没有账号请 注册新账号