移动客户端设计的基本原则(开发者角度)

29 Jun 2016

随着计算机网络的发展,连接形式逐渐发生变化。至今为止,主流的两种网络连接模式为C/S和B/S模式,即客户端/服务器端和浏览器端/服务器端。我主要开发的是客户端,现就以一个开发者的角度去总结设计这种通用客户端的一些原则,也可以说是在开发中遇到的一些常见问题。

以下所说的客户端均为移动客户端。

客户端或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。用户通过客户端输入指令或数据,客户端翻译成数据发送给服务器,服务器处理完给出结果,然后再由客户端翻译成图形化表现出来告诉用户。可以说,客户端是一个用户和服务器之间中介。

经过多年的客户端开发经历,认为客户端应当是以浏览和简单交互为主,不适合大量运算、信息存储和复杂信息的编辑。

下面是一般客户端开发的流程,以及客户端开发所处的位置。

需求调研 —— 用户分析 —— 交互设计 —— 界面设计 ——
服务器接口设计 —— 服务端开发 —— 客户端开发 ——
单元测试 —— 手动测试 —— 极限测试 —— 交付

但是一般都是由于时间或者经济原因,做不到以上所有模块。
外包公司一般都会省去很多。比如需求客户提供,
甚至到界面设计都是客户提供,我们只负责开发和测试。
需求-设计-开发-测试

以下是总结的一些原则:

1.操作流程必须确保流畅

用户一般对卡顿或无响应就会乱点或多点,这样很容易产生程序的错乱。复杂数据整理、网路请求都可以在非主线程上出来,并用加载动画告知用户。

2.对数据不做更改

客户端一般只改变文字的大小,颜色,以及位置布局。甚至文字的大小写都不应该进行处理。这样可以减少多平台客户端的开发量。

3.复用的控件

为了保持app的风格一致,在修改之前一定要确认好,然后单独修改,确认不要影响其他的使用。

4.注释BUG

修改bug时候最好加上修改bug的编号注释,以确保重复修改或错误修改。

5.及时优化

看见了不合理的地方尽量优化,不然后来将会成为缺陷。重做有缺陷的需求、设计和编码通常花费整个软件开发成本的40%—50%。

6.代码模块化

尽量少使用全局变量,使用方法参数进行传递。不要前一个页面处理本页面的事情,否则刷新会很麻烦。

7.给予设计人员建议

有必要的话,可以让开发人员参与设计,这样可以避免实现不了或者减少工作量。

最近有些郁闷的是,很明显是数据的问题都发给客户端开发,而没有给服务端开发,导致很多时间都浪费在回复上。

随便写的,有可能以后会增加或整理。