写本文的原因
有几位小伙伴最近又来问这个问题,之前帮人解答过一次,今天写下来
以后有时间会多写一些解决方案,例如oom了,不用esbuild怎么解决之类的等…
正式开始
主题:股票交易APP(IM场景前端交互高频更新卡顿)
一个正常的股票交易APP,是很复杂的,大都用原生写,但是有的公司没钱啊,只能做一套web app或者用RN这些写,也有用Flutter的(这就是没钱又要玩,那怎么办呢?那就玩 乞丐版 呀)

问题重现
用户收藏了1000只自选股(国内国外+期货+指数等),技术栈是web app ,基于react或React-native,很卡顿
由于是双工通讯,而且高频推送,触发更新,而且交易类APP对消息送达的效率/低延迟要求非常高,例如你准备买这只股票,此时大户砸盘,你还没收到更新的信息,下单,发现趋势已经走坏,然后接盘被套。
还有一种情况,你买入的时候出了大利好,你下单价格是10块钱,但是此时已经涨到10.05,这个价格成成交不了,然后你错过了一波大涨。这时候客户就惨了
需求简单&技术的剖析
理论上用户可以添加的自选股票,是无限的
每个自选股/股票的都有对应的事件触发

高频更新,此时要区分react/react-native环境,因为react-native组件在挂载后就不会卸载了,不像web app.
性能优化最好是简单的手段
所见即所得,简单高校,不触碰底层逻辑,例如网络层前后端可能都要做粘包的处理
…不做可能诱发P0级别事故的技术方向选择
解决问题
react/react-native渲

本文探讨了股票交易APP在使用Web App或React Native时遇到的性能问题,如高频更新导致的卡顿。针对问题,提出了采用虚拟列表(如react-peter-window库)、事件冒泡优化及前端消息队列等技术方案,以提高应用的性能和用户体验。
最低0.47元/天 解锁文章
341

被折叠的 条评论
为什么被折叠?



