Introduction: mPaaS (Mobile PaaS), a final-grade Mobile development platform, provides cloud-to-end one-stop solutions for App development, testing, operation and maintenance. It can effectively reduce the technical threshold, reduce the research and development cost, improve the development efficiency, and help enterprises quickly build stable and high-quality Mobile applications. In our daily operation and maintenance process, we found that most users are interested in ant’s R&D process, especially in the environment where hundreds of developers are conducting efficient development in an APP at the same time. Technology selection, R&D process and online operation and maintenance have become the focus of attention. Here are some of my understandings.

A background

Financial level Mobile development platform mPaaS (Mobile PaaS) provides one-stop cloud-to-end solutions for App development, testing, operation and maintenance, which can effectively reduce the technical threshold, reduce research and development costs, improve development efficiency and help enterprises quickly build stable and high-quality Mobile applications. In our daily operation and maintenance process, we found that most users are interested in ant’s R&D process, especially in the environment where hundreds of developers are conducting efficient development in an APP at the same time. Technology selection, R&D process and online operation and maintenance have become the focus of attention. Here are some of my understandings.

Ii. Technology Selection

Current research and development modes are divided into Native mode and dynamic mode. Among them, Native technology stack mainly covers basic middleware, core high-guarantee link or some basic pages with little change, such as cashier desk, login page and payment code. Other scenarios typically decouple client version releases in a dynamic manner. Among them, online H5 is generally suitable for activity marketing activities, and offline package scenario is generally used for resident business with fixed entrance. If there is cross-terminal multi-delivery scenario, small programs are generally selected to achieve multi-terminal delivery through cross-terminal release of small programs.

Iii RESEARCH and development Process

1. Requirements stage: Mainly requirements review, and consensus was reached.

2. Development stage: code development, code combination and packaging, etc

3. Test phase: test case writing, functional testing, compatibility testing, etc

4. Integration stage: code changes are applied into the corresponding integration baseline for integration verification

5. Release stage: release online through internal grey, external grey, channel package and station

Four branch management

Principle: Branch based development, publish trunk based

1. Change the operation process

  1. To create change
  2. Select the repository and create a branch based on Master
  3. Engineering package, installation package, self-test (feature branch can be created based on change branch, parallel development)
  4. Merge into Master package and test
  5. Apply for integration and publication

2. Publish independently

It is mainly used for independent release iterations that are different from routine changes. For example, pre-packaged adaptation iterations that are done for a single vendor are suitable for independent release.

3. Multi-app management (double Master)

Usage scenario: Jubao, Hong Kong Alipay, Koubei and Alipay share the same code repository. The same code repository requires multiple apps to be parallel, and it needs its own independent master branch. When merging, multiple trunks are merged at different APP ends.

Online operation and maintenance

1. Multi-dimensional grayscale publishing ability

MDS provides a multi-dimensional release mode. Before the release, it needs to go through a multi-level gray scale including whitelist gray scale, internal gray scale, external gray scale and percentage gray scale. The gray scale range is continuously expanded until the Crash rate, ANR rate and other stability indicators meet the standards before the full release.

2. Multi-angle online monitoring

MAS provides real-time monitoring indicators from multiple perspectives, including core indicators such as Crash rate and ANR rate. Meanwhile, these core indicators are reported through the real-time channel, which facilitates the rapid discovery of problems.

3. Public opinion monitoring

In addition to the monitoring of some of the core indicators above, it also provides a monitoring platform for public opinion. Developers can set their own keywords to view online user public opinion of related products during the gray scale period, and give real feedback to users’ problems.

4. Locate online problems

After discovering problems through the preceding channels, you can first analyze the behavior logs reported by the client. You can also use the log pull function provided by THE MAS to pull detailed user logs for further diagnosis and analysis.

5. Automatic Dr Degradation

After years of experience in handling client problems, the CLIENT SDK also provides a self-recovery Dr Degradation policy. For example, for users who repeatedly flash back after multiple startup, the client will try to clear some files in the app private directory after startup to solve the extreme repeated flash back caused by dirty data.

6. Fix online problems

It provides different capabilities for dynamic repair for different problems, such as hotpatch mechanism for dynamic repair of Native modules.

The original link

This article is the original content of Aliyun and shall not be reproduced without permission.