最近闹得沸沸扬扬的是内涵段子被下架,无数网友表示很舍不得,紧接着抖音、快手都在做整改。我当时看到这个新闻的时候不是看内容如何,而是凭借着职业习惯,第一眼就想到了为啥它们这些app可以快速响应国家政策,做出调整?技术上是如何实现的?下面我凭自己的开发经验大概的讲一下如果是我做我会怎么做,思路如下:
{
"errorCode": 1,
"errorMsg": "请求失败",
"data": {
"message": "Problems parsing JSON"
}
}
由于后台接口没有返回数据了,界面上自然都是空白,你看内涵段子上面的所有的列表的item都显示的是同一个View,就是下面的这个声明。其实只要把所有的item替换成为本地的图片就可以了。(个人理解,如有错误,欢迎指出)
一个用户量如此庞大的app,想必比会用到了一些架构设计,比如插件化、热更新等技术,后台这边给出的接口应该是给每个接口都预留有一个开关,防止意外情况发生时刻有快速关闭接口。
比如说看视频是一个模块,直播是一个模块,评论是一个模块,点赞是一个模块,分享也是一个模块,拍视频是一个模块。整个app是由多个模块组合而成的,整体app通过插件化或者组件化开发的思想,把这些不同的模块加载进来就形成了一个完整的app。很多功能模块都是可以由后台配置的,就连这个跳转路径也是可以控制的。
我在群里看到美团大佬 大白 的一段话很经典,借此引用一下,感觉很有意义:
比如我的直播是一个本地路由,我服务器下发一个web路由,立马就被定向到了h5,本地的直播页面就被干掉了,等本地版本更新后 再慢慢上用户更新
还有一个问题,app的评论功能突然被禁用?怎么快速做到这个?
至于上线防沉迷系统,这就是新增了一个模块而已,属于正常开发中的新增功能,把它单独做成一个模块,然后通过插件化思想,加载进去,然后模块里面会做一些统计数据分析,确保真正做到防沉迷。这个没什么多说的。做好之后给用户推送新版本,或者app市场上架全新版本。
个人能力有限,暂且只能解读这么多,如有错误和不足之处,也欢迎各位大佬指正和补充。感谢大家的支持!