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

tablecell · April 02, 2021 · Last by tablecell replied at April 19, 2021 · 1070 hits

象 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 来实现

Reply to tablecell

然后卡死。。。

卡的是网络 各种限流和阻断 以现在的 cpu 代码运行起来 一点都不卡,用浏览器打开本地 html 文档试试看

You need to Sign in before reply, if you don't have an account, please Sign up first.