preface

In 2020, Android will have been around for 12 years. With a variety of cross-platform technology solutions and the impact of domestic platforms of small programs, there are more and more voices about the native Android development has been cool or cool. I’m here as an Android developer with several years of experience.

Android development will be cool

First, give the conclusion. As technology continues to evolve, the Android platform will surely reach its end in time. This is nonsense, so what we should be talking about is whether, in the short term, at least in our tech careers, Android development will come to an end, costing us jobs, forcing us to change jobs, and affecting how we plan our careers. My conclusion is: no. Here are some examples of my point of view.

Irreplaceable native development scenarios

We know that flutter, RN, UNI-app and other technologies can help us cross platform. Achieve a development, multi-platform use. Reduce the labor, time and economic cost of mobile native development. This has reduced the demand for native developers. However, there are many scenarios that these cross-platform technologies cannot solve.

Hardware development

For example, development or invocation of hardware. My last company was in financial payments. Our applications are running on various types of Intelligent terminals of Android system, which involves various SDKS provided by various device manufacturers, and these SDKS are called by Android. Cross-platform technology can’t do that. Moreover some cross-platform technology can be done by calling native methods, etc., try to ask no one to understand android development, there are several H5 front end can call the whole process. There is also a direct deep development of hardware, such as the camera, Bluetooth, and some devices have printing, NFC and so on. Of course, android developers do that.

Game SDK Development

Some time ago to change jobs, there are a lot of posts are recruitment of game SDK development. The idea is that game developers develop the entire game and package it as an Android app. However, android apps need to call the Android SDK, and some third-party Android SDK has to be done by Android developers. Such as permission application, login, statistics and so on. The android developers don’t. The mobile developers do.

Maintenance of old projects

Some companies start with native development, like my current company, where projects have been in development for 4 or 5 years. It’s also expensive to spend time and hire people to change the technology architecture and rewrite the entire application. There are a lot of companies that don’t do that to old projects. Most or recruit native development to maintain.

So, android talent demand is reduced, but overall, the job demand is not small.

Big guy’s not panicking. Why are you panicking

There are so many cool voices out there, but the big guys have to do what they have to do. For example, engaged in Android teaching, big factory engineers. These people have more development experience and experience than most of us. Haven’t they thought about it? There has to be.

Big guys are panicking. Why are you panicking.

The technology is a dime a dozen

Even with the advent of cross-platform technologies like flutter, we have to spin flutter quickly. And the official documentation, the description of the interface and so on are based on mobile development basis. Flutter cannot be learned without understanding Android development. So, don’t worry about the future of native development cool.

Are there any other techniques to learn

There was a time when I was being brainwashed by all the anxiety peddling. In spare time, I spent a lot of time to learn Java-related knowledge and prepare to transfer to Java development within the company. After I resigned, I did not find a suitable background position, mainly because my experience and salary could not be matched. In the process of job transfer, I learned a lot of knowledge beyond Android :Linux, Nginx, Docker, Mysql, Spring Boot, Spring Cloud, Apache Dubbo, Maven, CI/CD. These things satisfied me, satisfied my curiosity about back-end development, and satisfied my first steps towards full-stack development. If you learn more, you will know more about the whole system and have a larger knowledge system. You can also learn new things by analogy.

Android development won’t get cold, but it’s always good to learn more.