uni-app's trick to double the performance of WeChat
# #Multiple demonstrations and several months of research and development, we rewrote part of theRelated learning recommendations: WeChat Mini Program Development Tutorial
Vue bottom layer and reconstructed the
uni-app framework, achieving double the performance of the WeChat side
and more Vue syntax support.
uni-app learned from
mpvue in the early stage to achieve rapid compatibility with the WeChat applet. Thanks to the Meituan-Dianping team for open source Community contribution!
uni-app, business complexity continues to increase, and many developers complain about the vue syntax supported by
uni-app There are performance problems in some scenarios (especially when there are complex components on the page). These problems are actually caused by the implementation mechanism of
mpvue. Let’s take the performance problems of complex components as an example to briefly explain.
Page.setData based on path mapping. Especially in pages with many components and large amounts of data, local updates of each component will trigger global updates at the page level, resulting in huge performance overhead.
mpvuethe
vnode comparison and data
diff performed in the Vue layer is not completely calculated, which will also consume part of the performance.
uni-app Adjusted and rewritten part of the
Vue.js underlying implementation, Mainly includes:
- Implementation of component-based development of
- Vue.js
based on custom components of mini-programs
- Vue
Layer cancellation
vnodeCompared with
, more thorough - diff
calculation,
setData()less communication data volume
- Construct a list interface, each list item is a custom component
- Pull-up loading triggers data update, each time it is read from the local Get static data and shield network differences
- Trigger the data update timing to start, and the page rendering completion timing to end, find the time difference as a comparison indicator (time consuming, in milliseconds)
Old frame (mpvue) | New frame | |
---|---|---|
204ms | 129ms | |
280ms | 139ms | ##800 |
180ms | 1000 | |
196ms |
The above is the detailed content of uni-app's trick to double the performance of WeChat. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











How to develop uni-app in VSCode? The following article will share with you a tutorial on developing uni-app in VSCode. This may be the best and most detailed tutorial. Come and take a look!

How to use uniapp to develop a simple map navigation? This article will provide you with an idea for making a simple map. I hope it will be helpful to you!

uni-app interface, global method encapsulation 1. Create an api file in the root directory, create api.js, baseUrl.js and http.js files in the api folder 2.baseUrl.js file code exportdefault"https://XXXX .test03.qcw800.com/api/"3.http.js file code exportfunctionhttps(opts,data){lethttpDefaultOpts={url:opts.url,data:data,method:opts.method

How to use uniapp to develop a snake game? The following article will take you step by step to implement the Snake game in uniapp. I hope it will be helpful to you!

This article will guide you step by step in developing a uni-app calendar plug-in, and introduce how the next calendar plug-in is developed from development to release. I hope it will be helpful to you!

This article brings you relevant knowledge about uniapp, which mainly organizes the related issues of implementing the select-all function of the multi-select box. The reason why the select-all function cannot be implemented is that when the checked field of the checkbox is dynamically modified, the status on the interface can Real-time changes, but the change event of checkbox-group cannot be triggered. Let's take a look at it. I hope it will be helpful to everyone.

How does uniapp implement scroll-view drop-down loading? The following article talks about the drop-down loading of the uniapp WeChat applet scroll-view. I hope it will be helpful to everyone!

This article brings you relevant knowledge about uniapp. It mainly introduces how to use uniapp to make calls and synchronize recording. Friends who are interested should take a look at it. I hope it will be helpful to everyone.
