客户端开发技术
客户端开发通常是指面向普通用户构建可视化图形应用,涵盖了从 Web 网页应用、移动应用、桌面应用、嵌入式 UI 等多种形式,通过图形界面程序的方式,简化用户操作计算机的步骤流程,辅助用户使用计算机高效完成工作等。
此外,客户端程序还关注于:
- 实现流畅的交互体验:实现方便易用是客户端程序的初衷,需要以服务客户为中心
- 构建美观的用户界面:用户对视觉效果具有审美需求和好恶,需要借助图形学理论和操作系统视图系统来实现界面美化
- 实现跨平台兼容性:用户使用多样的操作系统和终端设备,需要扩大服务的用户群体同时节约开发成本
- 确保安全性与隐私保护:客户端程序工作在用户的设备上,需要尊重用户的数据和设备安全
程序架构
客户端图形界面程序属于 daemon 类程序,但是和 server 程序不同的是,server 监听 TCP socket 的读写,而 daemon 程序监听的是用户的鼠标和键盘等输入设备的事件,同时渲染需要显示的图像,更新到客户端设备的帧缓冲区。
特殊地,对于渲染工作,存在周期性和计划性的计算动作,为了给用户良好的体验。图形计算是一个耗时工作,而用户的设备又往往性能较差,客户端程序需要合理分配业务逻辑的任务工作量和图形渲染的工作量。并且,不论如何分配,为了保证可交互性,图形的渲染和程序的交互都应当是不可阻塞的。