The correct way to open gold nine silver ten! APK optimization for Android performance optimization, annual salary exceeds 800,000!

Feeling

This world has a "two-eight principle" that plays a role in many places, and I think it is equally useful in Android development. To do an Android development, you may only use 20% of the Android development knowledge, and 80% of it may not be useful if you learn it.

The same is true for the interviewer, he may only have 20% of the knowledge, and an interview will not have enough time to show you all of your knowledge, but often only pay attention to the 20% most frequently encountered in development . At this time, the depth of your understanding of these issues is particularly important. Answered 10 questions, and each question is only a simple analysis. It is better for the interviewer to add points without you having a thorough and comprehensive question.

Mobile cross-platform technology evolution

1 Introduction

The mobile Internet has been in development for more than ten years. With the continuous popularization of smartphones such as Android and iOS, the mobile terminal has gradually replaced the PC terminal and has become a battleground for military experts. As the saying goes, "The mobile terminal has the world." The mobile terminal has become the largest traffic distribution portal in the Internet field. A large number of Internet companies have emerged under this general trend.

2. Why cross-platform technology is needed

With the rapid development of the mobile Internet, competition between companies has become more and more fierce. How to quickly implement good ideas and quickly trial and error has become a matter of concern. Improve R&D efficiency, shorten the R&D cycle, ensure rapid product trial and error and iterate new functions quickly, so that new products and new functions can reach multi-end users such as Android and iOS at the fastest speed.

As we all know, Android applications are written in Java or Kotlin, iOS applications are written in Objective-C or Swift, and the web end is written in HTML/CSS/JavaScript. When a multi-terminal application needs to be developed, each terminal needs to be independently developed and tested, until it goes online, and subsequent maintenance work. The workload increases exponentially, which will inevitably extend the development cycle.

In order to solve the problem of multi-terminal independent development, cross-platform technology came into being. Major Internet companies have invested a lot of manpower for this, so various cross-platform technical frameworks have emerged. Faced with the endless emergence of cross-platform technical solutions in the mobile field, How to make technical selection?

3. Mobile technology selection

As a cross-terminal technical solution for the mobile terminal, the focus is nothing more than the following four aspects: research and development efficiency, dynamics, multi-terminal consistency, and performance experience.

  1. R&D efficiency: Maximize code reuse, reduce multi-end differences in adaptation workload, reduce development costs, focus on business development, and achieve the ultimate goal of "write once, run everywhere". Efficiency improvement runs through the entire life cycle of the business. Even after the business goes online, it can continue to reduce subsequent maintenance costs and accelerate the iteration of new features. This is a continuous efficiency benefit. Of course, I have to say that any new technology will have some costs in the development and start-up learning phase, but the benefits after getting started are long-term.
  2. Dynamic: Break through the update frequency of channels and quickly iterate new functions. This is not only a requirement for cross-platform technology, but also a necessary killer for Native technology. This is also an important assessment point for evaluating cross-terminal technology.
  3. Multi-end consistency: Good products often have a unified overall style in multi-end UI design. Therefore, after the business side adopts native and independent development, it takes a lot of extra time to modify the UI to ensure multi-end consistency; it can be seen that each end is independent The efficiency lag brought by the implementation of the development method is not only the workload of developing a code for Android and iOS, but also the consistency and alignment of the dual-end UI.
  4. Performance experience: Generally, cross-terminal technical solutions have the above multiple advantages, but their performance is worse than native smoothness. It is reasonable to sacrifice part of the experience in exchange for efficiency improvement. Imagine that cross-platform technical solutions have these four points at the same time. Then the native technology may have withdrawn from the stage of history. The performance of the technology becomes a core indicator.

4. Cross-platform technology division

With the constant pursuit of R&D efficiency and experience, mobile cross-platform technology frameworks are emerging one after another, but there are many martial arts in the world, and they are inseparable. From their core nature, they can be divided into the following three categories:

  1. Web technology: It mainly depends on the technology of WebView, with limited function support and poor performance experience, such as PhoneGap, Cordova, and applets.

  2. Native rendering: Use JavaScript as the programming language, and render the UI interface through the middle layer into native controls, such as React Native and Weex.

  3. Self-rendering technology: Implement a set of rendering frameworks by yourself, and you can complete self-rendering by calling skia, etc., instead of relying on native controls, such as Flutter and Unity.

Information sharing

  • The latest interview topics

This question bank has a lot of content, except for some popular technical interview questions, such as Kotlin, database, Java virtual machine interview questions, array, Framework, hybrid cross-platform development, etc.

  • Android senior engineer advanced system learning video corresponding to the map.
    Recently, a series of system learning videos such as NDK, hot fix, MVVM, source code and so on are available!

A series of system learning videos are available!

[External link image is being transferred...(img-2V5qUQHR-1611215204620)]

Download method: like + follow and then click [ Advanced Android Senior Engineer ] to receive it!

Guess you like

Origin blog.csdn.net/m0_52308677/article/details/112957790