Android development books! Daniel, who has millions of fans, tells the journey of learning Android, with answers to interview questions

beginning

Engaged in Android development for many years, the bends and hurdles that I have gone through, the sadness and sorrow of the outsiders.

My deepest feeling is that choice is greater than effort . By choosing the right direction, you will be able to go further and firmer.

Mr. Lei said before, "Pigs can fly in the wind". So now the Hongmeng system is on fire, and many developers want to switch to Hongmeng.

We have been chasing the wind, and we have been missing. Almost every time a project is changed, programmers must master new technologies: "NET Unit Testing Art", "Interesting Algorithms (C Language Implementation)", "Android Application Development Secrets" ...

I read more and more books about Android development. It seems that I have learned a lot, but the salary and ability growth are very limited. My colleagues even have 3 years of work experience and an annual salary of 400,000 yuan, but I still don't know when the gap was secretly opened.

In fact, many of us just float on the surface during the development process, and the resumes we write are unsightly. For example, in our development, everyone should know and understand the importance of performance optimization. However, due to insufficient knowledge of the entire knowledge at work, they will not have their own understanding of performance optimization.

A few years have passed, and desktop development is basically dead, now it’s Android development’s turn?

Have you noticed the difference between these? Desktop development is the death of the entire ecology, just like the real economy has turned to Internet shopping, the entire ecology has died, resulting in all kinds of desktop development jobs no longer recruiting people, making it necessary for development, product, and operation to be original SEO optimization, looking for website traffic to move to the mobile terminal.

The current Android is different. It is not dead. On the contrary, the mobile Internet is now very mature, and with the advent of 5G, the opportunities will greatly increase.

Then why do people think that Android development is not working? It's nothing more than the gradual transformation of native Android development, because Native development is time-consuming but cannot be cross-platform, and cannot achieve the effect of writing code and running on multiple terminals like RN\Weex\Flutter.

Capital is profit-seeking. Gu Jiahui once said: Companies that are not profitable are all playing rogues. Faced with such an efficient production method, if you are the boss, would you not choose? Especially startup companies.

So the question is, why is there still Android Native development? Because it is native, all interactions and efficiency are the highest. For large companies, not only speed, but also APP operating efficiency and various indicators must be emphasized. Therefore, large companies are more inclined to Native development, while small companies are more inclined to rapid development.

Therefore, many small companies no longer recruit Android Native development, which leads to the reduction of Android native jobs. For beginners, small companies have few jobs and large companies can't get in. This is why training companies no longer train Android. This brings up the argument that Android is dead. So, it's not that Android is dead, it's that the threshold is high.

Now training companies like to train H5, and the promise of learning to guarantee employment will never change. This is because the syntax of RN\Weex\Flutter is similar to H5. After learning H5, in addition to being able to do the original WEB development, the cross-platform language RN\WEEX\Flutter greatly increases H5 positions, so it is not H5 easy to learn. It is not because of its popularity, but its employment threshold is low.

Similarly, even if you enter the cross-platform development language from H5, do you think that if you know RN\Weex\Flutter, you don't need Android native? It's just that the underlying architecture of Androd remains unchanged. Android native is always something to learn. All upper-level cross-platform applications are implemented by native controls. There may be exceptions to Flutter, but Flutter is written in the Dart language, and everyone does not, don't look down on anyone, and Flutter is perfectly compatible with Android natively.

Seen from the nature of merchants' profit-seeking, cross-platform development is a trend. Even if RN\Weex\Flutter hangs any day, another cross-platform language will come out to dominate the world. In this world, the only constant is change.

Therefore, Android will not die, but the threshold for Android will increase. If you want to make a difference in the Android field, you need to understand cross-platform development in addition to Android native. If you are a newcomer, I suggest that after you understand the basic use of Android, you should focus on cross-platform development and study, and find a job first (except for those who graduate from school and enter large companies). If you are an Android practitioner, I suggest that you learn cross-platform languages ​​to make yourself invincible forever, and don't wait until the day when the black swan comes, you want to cry without tears. (The black swan is called the black swan event, which refers to unexpected events that are currently unpredictable)

[Attached] Relevant framework and information

Data collection

Click here to get free Android IOC architecture design and other materials

%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**

Receive access to previous Android advanced architecture materials, source code, notes, and videos. Advanced UI, performance optimization, architect courses, NDK, hybrid development (ReactNative+Weex) WeChat applet, Flutter's all-round Android advanced practice technology, and there are technical experts in the group to discuss, communicate and solve problems.

Guess you like

Origin blog.csdn.net/chayel123/article/details/114261097