此情可待成追忆,只是当时已惘然.

东八区深夜长放送(LCL P2)

所以跨平台GUI开发需要解决的问题(LCL?——答案,但散落于尘世之间)

遗憾的是,我们都深知这二者是对立的...


但是我们还是用黄绿二色标注出来的东西审视一下现有成熟技术:

那么,如果从我们快速需要的角度(比如说没事干写个小GUI程序;突然间要接任务)
等等地方想问题...
在历史弥留处...一定会有人曾经做到上述这三个颜色提出的问题...


最近找到了一个:Lazarus/CodeTyphon.
写到这里我自己都觉得有点先射箭后画靶了...哈哈,但请看官勿急..

咱们先上截图
Snipaste_2025-04-12_17-33-21.jpeg
这是CT在Windows上我们可以使用的界面库,理论上都是可以用的
(CT是Lazarus一个分支,为了稳定Win下Qt是假的选项)...

没错,也就是说:
想要原生有原生,想要跨平台可以跨平台,满足多方面需求,兼容所有可能选择

再来一个让人惊讶的:
Snipaste_2025-04-12_17-41-15.jpeg
没错,整个IDE都是可以编译的...也就是说他会送源码给你qwq


这也意味着我们可以干任何事情
或者从某种程度上说:他们可以只提供源码,我们自己编自己的IDE.

用那个时候的语言来说...IDE是对RAD之类编辑器的称呼(或许不对,因为现在对IDE的要求比以往任何时候都要高;还得与那个时候的人考证考证RAD说法)


也许看到这里我得说点历史了....
还记得LCL_P1当中提到的微软抢人吗?
我把微软做的一些语言(C#/VB)留到现在说的原因是:
Snipaste_2025-04-12_18-29-08.jpeg
我擦,主界面不就是Visual Studio吗?
是的(如果你细心的话,在上一张图片中有个选项是关于Delphi的...Lazarus其实就是Delphi的开源版本)
Dephi开发者后面去了微软然后做出了...C#/Winform...

千禧年的我们没有经历那段时间...微软的J++被告侵权...Borland编译器之争...还有Delphi首席开发人员被挖到对手(MS)那边去的最后结果:

无人问津....当一个东西小众+开源,等待的也许只有人们口口声声中说出的热血到滴泪的历史.

往事不再提...

到这里,红颜色问题解决了(不要颅内渲染,直接从控件拖东西,尽可能满足开发者所有需求),我找到了我想要的工具:

真正把开发人员当用户对待的产品.


Lazaru使用的IR是Free Pascal.这个语言的唯一缺点就是啰嗦(高情商:犯错概率低一点).
我记得17年竞赛的时候还能用这个语言,现在不行了.
但是加入了面向对象,似乎也可以用继承/多态的方式定义整套界面逻辑了.

编译速度:整个Lazarus IDE 千行左右,开优化模式12500H只需30秒编译完成(没开Make 多线程呢)..
但是历史原因导致...没办法热重载...

编译中间产物:ELF 可重定位文件Snipaste_2025-04-12_19-32-18.jpegWindows底下也是一样的(MingGW)

编译目标依赖(Linux/Qt6编译模式下)与纯原生Qt6依赖区别:几乎没有 Arch-2025-04-12-19-48-46.png
左边是原生Qt,右边是Lazarus生成

但是文件大小就没办法了(上面原生,下面Lazarus(去除调试符号,不然膨胀十分离谱))
Snipaste_2025-04-12_19-53-58.jpeg

确实解决了绿色问题,那么最关键的接口....?