研发干货:以互联网思维做好客户端软件

501次 2014-08-21

在功能实现方面,我们时刻保持着一种意识:尽量不把业务逻辑在客户端里写死。否则的话,一旦业务逻辑有变,我们必须修改客户端的代码,然后再做全网升级,一来周期比较长,二来新版本也做不到100%的覆盖,结果就比较被动了。举一个VIP会员相关的例子吧。在客户端,我们有针对当前登录用户的类型来做不同会员套餐促销的需求,具体的业务逻辑是:如果当前是普通会员,则跳到白银套餐的购买页面(url1);如果当前是白银会员,则跳黄金套餐页面(url2);如果当前是黄金会员,则跳铂金套餐页面(url3)。一些经验欠缺的开发人员会把上述逻辑直接实现在客户端软件里,就像下图中左边所示的那样。遗憾的是,一旦VIP会员套餐的促销逻辑有变,比如,要改成对所有用户都推销铂金套餐,那就惨了!更灵活的实现方式应该像下图中右边那样,客户端只是调用一个相对固定的url(并带上必要的参数),而把具体的业务逻辑实现在服务器端。


当然,上面只是一个很小的例子。为了在客户端里获得足够的灵活性(不通过发布新版本就能满足业务需求),我们还给很多功能加上了云端配置。只要我们发现某些功能的用户体验不理想,随时都可以调整控制参数,甚至将其彻底关闭。我们始终牢记,我们在做的不是一个单纯、孤立的客户端软件——我们提供的是一种互联网服务。也因为如此,我们的客户端软件同时很好地支持了编辑运营(及时发布时事或专题、热门推荐、快速上线或下线节目等),以及灵活的广告策略控制。

PC软件真的没落了吗?其实不然!也许我们只是需要顺应潮流,改变一下自己的思维方式。我们相信,只要有用户存在,每个终端都是重要的。因此,即使没有聚光灯、鲜花或掌声,我们仍然在坚持不懈地努力做好产品,全心全意为我们的用户服务!