Smail_的gravatar头像
Smail_ 2016-12-29 11:34:23
一些关于前后端(APP与SERVER)协调的构思及实施

起因:

公司业务已经长达8年了,堆积了很多的问题亟待解决!

最最重点----跨版本兼容问题!

思考:

我们有很多的第三方资源,资源来自于爬虫的抓取,但是他们的变化是我们不能管控的,他们一变化了,我们就必须的最快时间升级客户端,不然线上的版本都不能使用已经变化了资源,面对的结局就是:用户体验下降,用户流失,收益下降......

为什么我们不能跨版本兼容到线上的版本呢?

 

于是有了第一个构思,这个构思已经在APP上得到实施。

APP上统一使用webview+html/js的方式来做解析,服务端提供这个html/js(肯定是密文的)。

然而,这里面临一个问题:第三方资源的接口变化了,不支持JS回掉函数时,这种方式就面临被OUT。

 

于是有了第二个构思,这个构思在APP上得到了部分实施,后期还待继续跟进和商议。

第二个构思:APP组件化。

APP端所有的模块全部做成功能组件,根据服务器的调用协议(密文JSON),来调用对应的模块,完成任务。

密文JSON:约定客户端需要几步动作(ArrayList),每步执行哪个request,method type,request data,header,respone,how to get the result param,the next request need which params and this param where can be used(url/header/data)。

若客户端需要对第三方资源解密,提交对应的密文到服务器或调用webview+js完成解密(这一步带实施和商议)。

 

最后:这乱七八糟的都做了,为啥不用html5开发app?

解释:出于最基础的安全考虑(不过这也是防小牛,防不住大神),并且JS有局限,有的第三方资源不允许JS callback。

 

若读者有更好的建议,请在评论区回复评论!

分享到:

最近浏览
jacksonss 3月7日
暂无贡献等级
liukai007 2月27日
暂无贡献等级
hackxhao 2月23日
最代码贡献等级说明
空中飞尘 2月23日
最代码贡献等级说明
九堡aihejiu 2月17日
暂无贡献等级
大熊 LV2 2月15日
最代码贡献等级说明
liuxuming 2月11日
最代码贡献等级说明
shengke 2月6日
最代码贡献等级说明
694227637 1月25日
最代码贡献等级说明
mySong 1月23日
最代码贡献等级说明
yayun412 1月18日
最代码贡献等级说明
乖乖的 1月14日
暂无贡献等级
不说再见 1月12日
最代码贡献等级说明
sunshineoc 1月11日
暂无贡献等级
scwuwei 1月9日
最代码贡献等级说明
落叶似从容 1月9日
最代码贡献等级说明
a5112480 1月8日
最代码贡献等级说明
chengxuyuan123 1月8日
最代码贡献等级说明
TheiaMioc 1月6日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友