这个就是我对Subway整体结构的设计。把整个程序分成以下几层。毕竟经验比较少,不知道这样做合不合适。
基本结构就是这样。
HTML作为配置文件,存储在本地,包括背景图片和磁贴的位置(用表格或者其他布局方式摆放磁贴),同时调用磁贴脚本。但是不包括磁贴的绘制。
磁贴脚本是每个磁贴对应的脚本。包括使用绘制自身和交互。由JavaScript写成。
JavaScript API一方面是对本地服务器提供的信息进行封装,方便磁贴脚本获取本地信息。另一方面将此贴的基本行为尽心封转,比如添加背景,设置大小等。
本地服务,通过HTTP协议和JavaScript API通信,为其提供本地的信息,比如文件系统情况等。所谓的本地服务不一定就只能在本地,客户端可以链接到远程计算机的服务端上,这样可以方便的监测远程计算机情况。
还有一种看起来很可行的结构是@ 冰雪聪明琳之风 提出的,完全本地化的结构。Qt提供扩展脚本,扩展能力绝对不会差。先定义好绘制以及获取系统信息的API,之后就靠Qt调用拓展脚本,完成绘制和交互。
另外希望能够成立一个Subway的开发小组,如果每个人有着自己明确的分工,应该能减少一些重复的工作。也能让开发更稳定一些。
大家怎么看?