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。

 

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

分享到:

最近浏览
tb21242485月2日
暂无贡献等级
Calvin84224月14日
最代码贡献等级说明
12570404644月5日
暂无贡献等级
jacksonss3月7日
暂无贡献等级
liukai0072月27日
暂无贡献等级
hackxhao2月23日
最代码贡献等级说明
空中飞尘2月23日
最代码贡献等级说明
九堡aihejiu2月17日
暂无贡献等级
大熊 LV22月15日
最代码贡献等级说明
liuxuming2月11日
最代码贡献等级说明
shengke2月6日
最代码贡献等级说明
6942276371月25日
最代码贡献等级说明
mySong1月23日
最代码贡献等级说明
yayun4121月18日
最代码贡献等级说明
乖乖的1月14日
暂无贡献等级
不说再见1月12日
最代码贡献等级说明
sunshineoc1月11日
暂无贡献等级
scwuwei1月9日
最代码贡献等级说明
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友