Technical Practice of Ctrip’s Market Insight Platform Using Donut for High‑Performance Cross‑Platform Mobile Development
This article details how Ctrip’s Market Insight platform leveraged the Donut framework to build a high‑performance, cross‑platform mobile application, covering background, technical challenges, technology selection, development workflow, multi‑login management, large‑list rendering optimization, push integration, build and release processes, encountered pitfalls, and the resulting efficiency and performance improvements.
FlightAI, Ctrip’s market‑insight B2B data product, needed a cross‑platform solution that could serve WeChat mini‑programs, iOS, Android, web and API services while handling large data tables and high rendering performance requirements.
The main challenges were the complexity of multi‑platform development, synchronizing login states across devices, and rendering massive data lists within the mini‑program’s DOM limits.
After evaluating frameworks such as React Native, Flutter, Taro and uni‑app, the team selected Donut because it supports mini‑programs natively, offers high performance via a Flutter‑based rendering engine, and provides an integrated toolchain for development, testing, deployment and operations.
Donut is a Tencent‑provided platform that unifies mini‑program and native mobile development, offering multi‑endpoint framework, multi‑identity management, security gateway and product‑experience analysis, thus lowering the technical threshold for small teams.
The development workflow included preparing multiple app IDs (mini‑program, multi‑app, iOS/Android), setting up development resources (laptops, WeChat DevTools, simulators), enabling the multi‑app mode, and using conditional compilation to separate platform‑specific code.
Multi‑login was handled through Donut’s identity management, supporting mini‑program login, WeChat login, one‑click phone number retrieval, SMS verification and password login, providing a unified authentication experience across all platforms.
Large‑list rendering problems were addressed by adopting the Skyline rendering engine and the recycle‑view virtual list solution, which removed the 16 000 DOM limit and improved first‑screen time by 66 % compared with the WebView.
Push notifications were integrated via Donut’s IM‑based push service, requiring only a plugin ID configuration on the client side.
Building the APK/IPA involved using Donut’s temporary signing for development and official certificates for production, followed by uploading resource packages, internal testing, and compliance with platform privacy and legal requirements before release.
Key pitfalls encountered included certificate mismatches, package‑size limits requiring split‑packages, token management across platforms, and extensive legal compliance work for privacy policies and app store approvals.
The project achieved a 99 % code‑reuse rate, a 66 % reduction in first‑screen time with Skyline, automated CI/CD pipelines, and a full product matrix covering mini‑program, mobile apps, web and API services, significantly improving development efficiency and user experience.
Ctrip Technology
Official Ctrip Technology account, sharing and discussing growth.
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.