JD Shopping Mini Program Performance Optimization: Practices and Results
This article details how JD Shopping mini program improved launch speed and user retention by applying code‑splitting, asynchronous sub‑packages, lazy component injection, reduced synchronous API calls, first‑screen rendering tricks, data prefetching, caching, and smarter version release strategies.
With the growing usage scenarios of mini programs, user experience becomes crucial, and improving performance is a priority; this article uses the JD Shopping mini program as a case study to demonstrate how to double performance.
Performance is measured by metrics such as launch success rate, total time from click to largest contentful paint (LCP), and user experience index (UEI) provided by the Zhulong monitoring platform.
Key optimization techniques include reducing code package size through independent sub‑packages, asynchronous sub‑packages, and pre‑download of sub‑packages; code injection is refined by lazy loading required components (e.g., { "lazyCodeLoading": "requiredComponents" } ).
During startup, synchronous API calls (e.g., getSystemInfoSync, getStorageSync) are minimized, and first‑screen rendering is accelerated by removing unused custom components, trimming first‑screen data, pre‑fetching core data, caching responses, and using skeleton screens.
Additional improvements involve rational version release planning and enabling local version priority to avoid unnecessary updates.
After applying these measures, the JD Shopping mini program’s cold start time dropped from ~4800 ms to below 2500 ms, launch success rose from 86 % to over 90 %, and daily user loss was reduced by nearly one million.
JD Retail Technology
Official platform of JD Retail Technology, delivering insightful R&D news and a deep look into the lives and work of technologists.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.