微信不更新是如何作到控制朋友圈的表情评论

因为做者本文是作IM出生,自己对即时通信技术比较感兴趣,加上身边都是作即时通信的朋友,因而那天一块儿吐槽了一下这个功能。对于已经稳定的微信架构,在前端加一些这些功能点,自己就so easy,只是张小龙愿不肯意作而已 前端

这里不得不佩服的是,微信真的目前来讲已经很稳了,之前咱们公司,本身搭建的国际服务器,会每隔段时间出一次事故,即使国内亿级用户量的架构师都已经参与进来了(在这里深深佩服Telegram的开发者)。即时通信里面出现一个小问题,就会被无限放大,由于它不像传统的网站,它是客户端,须要下载安装,若是用户使用发现了问题,就会一直不断重现,假如是说这个版本的消息推送一直有问题,那么这个版本,用户就要被这个问题一直无限的重复骚扰。并且可能你不知不觉,他已经卸载了webpack

总之,想提高技术,推荐能够去作即时通信,那里面一年有你在外面五年都学不到的东西,游戏、社交都算,年终奖也是最高的web


正式开始sql

首先,微信采用原生开发,例如IOS,采用的是object-c编写,那么就叫客户端,每一个即时通数据库

讯的客户端,也是一台服务器,因此作即时通信的客户端开发,自己就至关半个全栈工程师。客户端,就该拥有客户端的能力,那么它就拥有数据库,例如sqlite3,嵌入式的数据库。Node.js也可使用,例如Electron 后端

据我观察,微信的表情包评论,也是灰度发布,即便你先更新了,但不会立马就能使用,不过你确定能够看到。 数组

首次更新、登录,获得这个结果,而后接受到决定可否看到发送表情包推送的tag,存入数据库,这样就每次登录就会数据库取这个tag决定可否展现发送表情包评论的控制台,至关于咱们存入localStorage同样。 服务器

以后,管理层须要回收这个功能,因而须要Push一次微信

服务器根据必定的规则,采用灰度回收,多是片区轮询式推送,更新tag,让客户端丧失表情评论的选择界面,这样就失去了评论功能,可是仍是能够看到以前的评论,由于源码里、数据库的展现、数据存储都还在。babel

这里很简单就把如何灰度发布、灰度回收,讲清楚了。既然讲了图片,那么就讲讲客户端的表情存储

即时通信既是一个服务器,也是一个客户端,那么它就是也拥有文件io的能力,调用各类插件的能力。

咱们看到的表情包,例如在IOS上是300个上限,你点进去的时候能够发现

咱们的gif图表情包,是缩略图,是不会动的,,取的第一帧,这里就要吐槽下Node.js,看似什么都能作,可是不少事情都作得不太好,压缩图片都不是很是完美,即使使用了C++插件,当你重度使用过Node.js,就应该考虑系统学一门真正的后台语言,例如Golang,可是Node.js在某些地方用来作工具是很是棒的。

这些缩略图都是存储在客户端,多是在某个表的字段里,存储着你个人小秘密的数组集合,而后出来遍历展现一波?

想要在哪里使用这个组件,引入一波就行,例如在评论中引用,点击表情向服务器推送,对应的数据type,表情包的src地址。服务器接受到message后,对当前这条朋友圈的相关人推送消息,更新朋友圈提示便可。

这个思路,就跟用户在微博或者微信点赞同样,默认是成功的,可是若是失败了,那么下次登录或者刷新时候,会显示没有点赞~不止是前端,后端也须要异步,最近有对微服务架构的进行系统学习,感受真的是不少东西相通的,只是方式变了而已。底层的处理思惟逻辑其实都差很少可是有一点要注意的是,学一个东西,最忌讳学一半而不精,三心二意,这样很可怕。系统学习一个东西,真的很重要

例如webpack,网上一大堆文章教你怎么配置,怎么代码分割,可是比较少人跟你说webpack的运行机制、热更新原理、loader、plugin原理,babel插件怎么写,怎么定制开发你的webpack-plugin,这些须要时间学习成本的东西才最重要,才最能提高你本身

若是感受写得不错,对你有一点提高,麻烦你点个在看,顺便关注一下个人公众号:前端巅峰

若是你对即时通信、跨平台重型应用开发、全栈工程师技术栈感兴趣,那么,回复:加群  便可假如咱们交流群~

相关文章
相关标签/搜索