背景: 到现在也做了近两年开发了, 搬个砖问题很小, 但是总感觉在意识和理念上离大佬还差得太远, 一方面要恶补基础知识(算法, 操作系统, 数据库, 网络等), 另一方面也需要对一些技术方向有更广泛和深入的理解, 希望大家推荐一些资料学习.下面是个人理解, 不对的可以直接指出.
GUI 常见的定义是指采用图形方式显示的计算机操作用户界面, 连接的主体是人和软件
要解决的问题就是人和软件的交互, 即将人的意图转化成数据发给下一层程序, 根据下一层程序的数据展示软件状态和交互逻辑
图形化的用户界面展示 => 人的感觉(眼耳触觉等) => 人的意识 => 人的手, 喉等 => 计算机的硬件输入 => 图形化的用户界面改变 => 用户界面将结构化的数据传给下一层的程序处理 => 后层程序处理后返回结构化数据给用户界面 => 图形化的用户界面展示 => 继续循环
简化版: 视觉展示 => 人触发交互行为 => 行为改变视觉展示
客户端(Window, Linux, iOS, Android), 浏览器(Web) 语言很多, 就不列举了, 主要的是 C/C++, OC, Swift, Java, JS 虽然语言和平台有所不同, 但是大家要解决的核心问题是一样的, 有些解决方案是可以相互照应的
基于上述的流程, 个人感觉 GUI 发展的的目标就是两个方向, 即提高用户体验和提高开发效率
提高用户体验: 展示效果更好, 加载视图更快, 交互操作更合理, 性能好(CPU 内存占用等), 兼容性强等等等等
提高开发效率: 跨平台, 工程化, 开发体系(可视化编辑, lowCode, DSL 等), 设计思想, 等等等等
那么问题来了,GUI 方向更多的基础知识, 它发展的历史, 先贤前辈在不同方面的探索, 发展过程中的难点和优秀实践, 未来可能的趋势等方面大家有没有遇到过一些好的文章和资料分享一下?