MDSA offline open class will help you decipher high-performance APP development

MDSA offline open class will help you decipher high-performance APP development

With the fragmentation of people's demand for mobile Internet and the sharp increase in personalized content, APP has penetrated into the lives of more people. How to quickly develop a high-performance app is an unavoidable problem for every mobile developer and is also a necessary skill. Today, the implementation of cloud computing applications has highlighted important issues such as the security, dependence, and stability of APPs, resulting in the emergence of various tools, SDKs, APIs, components, and platforms from the underlying development platform, and developers are faced with a variety of choices. 51CTO, through its own influence and online and offline resource advantages, announced the establishment of the Mobile Developer Service Alliance (MDSA) at the 2014 WOT Global Software Technology Summit Shenzhen Station on November 21, 2014, providing mobile developers with the entire development life cycle service through the aggregation of mature third-party product technologies. The 51CTO offline open class provides a vast number of mobile developers with an opportunity to communicate face-to-face with technical experts in the industry offline to solve the problems you encounter in mobile development.

At the first offline open class of the Mobile Developer Alliance held on January 17, 2014, 51CTO had the honor of inviting Qin Jie, Director of R&D of Tingyun Mobile, Zhang Tao, Manager of Quality Department of Baidu Mobile Cloud, and Yin Chunpeng, Vice President of Cloud Testing Technology, to bring everyone a feast of mobile development.

[[126497]]

***The speech "Golden Rules for Building High-Performance Mobile Applications" was delivered by Mr. Qin Jie, R&D Director of Tingyun Mobile. Mr. Qin Jie first pointed out the code problems related to mobile application performance improvement that most technicians encountered in APP performance monitoring. With this as a foundation, he then made a more in-depth analysis of helping developers build high-performance mobile applications.

Qin Jie believes that in most cases, the culprits that can affect the performance of mobile applications are hybrid application performance optimization technology, Web application performance optimization technology, Native application performance optimization technology, and mobile application performance monitoring technology and indicators. Therefore, through these five parts, Qin Jie once again analyzed how to operate at each stage to better maximize performance.

Below, from Qin Jie's PPT, we can clearly see the 10 problems that were previously mentioned as the culprits affecting mobile application performance:

Then we also analyzed the APP optimization technologies of the three current APP models:

Technical optimization of hybrid application performance

Web APP application performance optimization

Qin Jie also mentioned that nearly 70% of domestic apps did not undergo performance testing before going online, or even after going online. He believes that this is a very bad situation for developers. For small and medium-sized companies, it is a pity to spend a lot of effort to develop an app, but lose users due to performance problems. *** also analyzed in detail the method of mobile app performance testing - slow interaction tracking, including interaction indicators, network indicators, error tracking, Crashlog tracking, etc.

The second class was a speech by Mr. Zhang Tao, QA manager of Baidu Cloud, entitled "Mobile Application Testing - Standards First, Platform Support".

[[126498]]

Mr. Zhang Tao pointed out at the beginning that the performance test of many apps cannot get a very accurate result due to various factors. Baidu has sorted out a general APP testing standard through the results of hundreds of apps and many tests. He believes that some small teams cannot spend too much time and effort on stability, compatibility, or online monitoring during the development and testing phase.

Teacher Zhang Tao believes that the crash rate should not exceed 0.1%. In terms of compatibility, due to the large differences between various Android versions, different models, and different regions, compatibility is the most affected area of ​​Android performance.

Next, we will list the open source Android testing tools. The blue ones in the picture are testing-related tools, and the most commonly used ones are MonkeyRunner and UIAutomator. The green ones are code checking tools, the orange ones are coverage checking tools, the gray ones are CI-related tools, and the red ones are release-related tools. You can find relevant information about these tools online. Teacher Zhang Tao also recommended APPium, a cross-platform testing tool.

Baidu mainly uses the MTC platform for internal testing, which analyzes the cloud testing and cloud crowd testing services provided by MTC, including deep performance testing, comprehensive compatibility testing, and deep traversal testing, and how to do the corresponding testing phase from the performance of Android APP and WEBapp and the ability of cloud debugging. He believes that every time the team releases an APP, in addition to cloud testing, there must be an internal test, grayscale release, and then invite registered users to do a test before releasing a version. Problems will be found in every link and corrected in time to ensure a high-quality application online.

Teacher Zhang Tao also gave an example of a FaceBook engineer. Their APP loads slowly and often crashes in Africa. They design different functions and versions for different models. High-end models have more complete functions, while low-end models have simpler functions. And they can test the usage of functional points to see which functions users prefer. For pictures, we usually use JPG, but this format is relatively large in Africa, so they use a format called webP. The effect of this kind of picture is similar to JPG, but the size is 30% to 50% smaller. The size of the picture loaded on different models is also different. For the problem of slow startup, only some important services are started when the APP starts, which reduces the loading time.

[[126499]]

The last speaker was Mr. Yin Chunpeng, Vice President of Technology at Yunce. The title of his speech was "Testing in the Mobile Internet Era". At the beginning of his speech, Mr. Yin Chunpeng raised a question that testers are more concerned about: What to do when the test time is short, the number of people is small, and the content is large?

Teacher Yin Chunpeng believes that after the product is launched, the quality improvement work has just begun. Why does he say that? Teacher Yin analyzes the APP testers from three aspects:

1. No matter how sophisticated the code is or how thorough the testing is, real users will still encounter various crashes.

2.1% of users contact developers when they find problems.

3. Only 5% of the problems reported by users can be accurately located.

Testin launched the Crash Master service in 2014. After adding it to the program through the SDK, they will collect the stack information, system logs, and some problematic information, and then analyze and troubleshoot, including the trend of the crash. By collecting and analyzing the crashes and exceptions that occur on the user's phone, problems can be discovered in a timely manner, code-level errors can be located, and detailed information analysis can be performed.

Crash Master supports a wide range of SDKs, including Android Java, Android NDK, iOS Ojbc, iOS Objc/C++ mixed, Cocos2d-x Lua/JS, Unity3d C# and other platforms.

In addition to mobile apps, Testin has also done some work on game engines. For example, when writing on the Cocos2d-x engine or using lua or JS, the more common problem is script errors. Although the engine does not report an error, the game cannot be played anymore. Therefore, Testin has developed a plug-in to deal with this phenomenon.

Teacher Yin Chunpeng said: The code stack is the most useful thing when the game crashes. We have implemented a symbolic function for the code stack. The code may be very difficult to read, because all applications will obfuscate the Java code at the beginning of release. But the received stack is also this obfuscated code, and we can restore this obfuscated code. This will help developers better solve the problems they encounter.

The Mobile Developer Service Alliance (MDSA) offline public class is an offline exchange activity for mobile development technicians that 51CTO has been organizing regularly since 2014. It is currently limited to the Beijing area. Starting from 2015, the cycle will be once a month. Each issue focuses on a topic, covering multiple mobile-related fields such as operation and maintenance, development, security, and database.

<<:  KTplay's internal beta test has covered over 100 million players and is now open for free registration without review

>>:  Angel Club & 9 Seconds Flash Mobile Game Special-Looking for the Next "Dota Legend"

Recommend

What exactly are user insights? How to do it?

I often hear people compare marketing to "te...

Umeng: 5 tips to increase user activity through in-app communities

To what extent can the community influence the us...

User Operation: How to correctly design a paid membership system?

In the past month, I have had some exchanges and ...

20 Best JavaScript Charting Libraries

Every business tends to do data analysis when mak...

Himalaya FM audio traffic promotion plan

Himalaya FM is a well-known audio sharing platfor...

How to make a good online event promotion plan?

In marketing psychology, herd mentality, greed fo...

How does product operations carry out product planning?

Recently I have been exploring a new business tha...