看了大家写了那么多各种各样的嵌入式GUI
有个想法,就是各种GUI都是各自的做法,各自的接口
有没有一个规范化的GUI api接口,可以让各家都做到一定的兼容呢,
包括驱动层的兼容,和应用层的兼容,
这样大家做起来也容易上手,迁移也方便。
这个规范化的概念,类似于gui的内核,决定了gui提供什么样的接口给上层,又提供了什么样的接口给下层,内部又是如何提供控件扩展,提供字库规范接口可以做各种大大小小的字库,然后分别使用什么样的命名规则等等。。。
然后再这个规范的基础上,大家可以开发各种各样的控件,实现或大或小的功能,包括实现从pc到嵌入式tft,到单色屏等不同层级的实现。而用户上手迁移也很方便,比如某人做的什么实现,但是没有做意大利语字库,也不支持单色屏,其他人就可以非常方便的扩展出意大利语字库,然后非常方便地根据接口规则做出单色的支持,或者根据某些硬件设计硬件加速部分等等。
则就是这个规范的意义和power所在
编程技术发展这么多年了,我想这种文档肯定存在,就是不知道哪里去找这个参考。。
最近编辑记录 Zona (2022-03-21 00:34:23)
离线
这个问题就好像能否把芯片的外设、架构、统一化引脚统一化一个道理,哪天缺货了直接把固件烧录任意一个芯片,不存在囤货了
离线
其实芯片的外设总线结构就是这样的原理,spi或者iic接口口已经规范化了,缺eeprom直接替换基本不会有问题。
离线
GUI API很难标准化,曾经有个 mingui,兼容 win32 api,坟头上面都要长青苔了。
离线
其实芯片的外设总线结构就是这样的原理,spi或者iic接口口已经规范化了,缺eeprom直接替换基本不会有问题。
那你可以去参考LCD的接口,8080,MIPI,RGB,这种是标准的。GUI本质是UI,UI是发挥你的想象设计出来的,既然是设计出来的,当然每家都有每家的想法和思路,如果都有标准了就没有商业化的可能了
离线
GUI API很难标准化,曾经有个 mingui,兼容 win32 api,坟头上面都要长青苔了。
兄弟你这是多久没刷新了。。。我也是服了。。。啥叫曾经有个。。。我明明前一阵还看见 MiniGUI 发布了 MiniGUI V5.0.9 呢!为此我特意翻了翻,找出来。
https://mp.weixin.qq.com/s/UWiQ4vue2mZNQsBbfn-HWA
搬过来一段:
飞漫软件于 2022 年 1 月 26 日宣布,正式发布 MiniGUI 5.0.9 版本。
对国内开源软件的发展稍有了解的人都知道,MiniGUI 的第一个版本发布于 1999 年。MiniGUI 是中国最早的几个开源项目之一,是最具代表性的原创国产基础软件之一,经历了开源软件在国内萌芽、发展、消沉,而后在近几年随国内自主可控的春风重装上阵的整个过程。
MiniGUI 5.0.9 是 MiniGUI 5.0 系列的最新缺陷修正版本。该版本的发布,意味着经过若干版本迭代后,MiniGUI 5.0 走向成熟,进入了商用推广阶段。
MiniGUI 5.0 是 MiniGUI 发展中的重要里程碑版本。用一句话总结:MiniGUI 5.0 将桌面级的窗口系统功能带给了嵌入式设备。我们首先了解一下 MiniGUI 5.0 自目前业界广泛使用的 MiniGUI 3.0/3.2 版本以来的三个主要技术进步:
1) 独立的窗口合成器
2) 完整的 Unicode 支持
3) 支持多点触摸屏以及 GPU 加速
详细的信息,感兴趣的兄弟们可以去官网https://fmsoft.cn/或者公众号搜索“考鼎录”,就可以看见了。
离线
大家开发人员都是不同国家不同背景的人,怎么可能思想上统一呢。大家都觉得自己的设计有道理有特色,为啥要兼容别人?SPI这种标准实际是大公司推动的结果,而且SPI这种偏底层的才有可能统一,GUI这种是上层的东西,没有动力去统一的
离线
GUI很难统一,特别是嵌入式的,一方面是支持的控件完全不一样,字库图片管理,操作的响应机制,都很难统一。
不过要是说GUI与硬件之间那一层,最近ARM倒是有个项目,叫arm-2D,就是在硬件底层与GUI引擎层加了一个通用的接口。
离线
@olga
从MiniGUI的变化就可以看出GUI变化之大,以前是用C语言开发,现在用类似Web前端的开发方式。而Linux内核直到最近才开始搞C以外的第二语言rust开发。
离线
GUI是个软件库/框架,没有什么商业上的必要性让大家统一起来。你说的这些需求是一个GUI框架自己就能做好的,比如Lvgl,提供了硬件层的抽象,也提供了theme、字体等的定制。移植到新硬件上确实不难,自己定制一套theme也不难。
离线
qt算吗,全平台支持,就是有点贵
离线