With this in mind, the blogger has compiled a list of a few technology transition development directions available to Android programmers for your consideration.
1、Continue to deepen the application development of Android
Papa Google is the daddy of Android, to continue to eat the meal of Android, you have to hold on to Papa Google's thigh.
Dad upgraded Android and AndroidStudio every year, and we immediately looked into the new features of Android 1x and drilled into the new features of AndroidStudio.
Dad said to change the APP development language from Java to Kotlin, we immediately learn Kotlin programming, what KTX extension library bite the bullet.
Dad introduced the Jetpack suite with the intention of unifying the common component libraries of Android, we immediately introduced many toolkits of Jetpack, learning him a dark.
Dad launched the Flutter framework ready to build omnipotent cross-end development environment, we immediately racked our brains to do Flutter, along with the Dart language.
Dad launched the Compose project to reconstruct the Android interface controls, we immediately stayed up all night to take Compose, just to experience that silky smooth bragging pleasure.
In short, we are only looking up to Google's father, as long as the father has come up with something new, we will do anything to be the first to try it.
Well, learning Kotlin programming for APP recommends this book "Kotlin from Zero to Master Android Development". Learning Jetpack suite with the latest Android development recommend this book "Android Studio Development in Action: from Zero to App Live (3rd Edition)", which is based on Android 12 and Android Studio Dolphin, introduces the inclusion of DataStore, Room, RecyclerView, ViewPager2, WorkManager, Glide, CameraX, ExoPlayer and so on, including the Jetpack suite.
2, dig deeper into the underlying framework of Android
First of all, download the AOSP source code provided by Google's dad, the domestic cell phone manufacturers (except for the remote first) of the Android system are all based on AOSP, do not care what he bang OS, do not care what he touched the OS, as long as you look at the boot screen there is no "Powered by Android", there is this! The boot text is Google's father's reward.
Then compile and debug the downloaded AOSP source code, carefully read hundreds of millions of lines of AOSP source code, in this era of time is money, if you gnawed through this vast sea of AOSP source code, not yet two temples, nor the top of the wind, then you must be one in a million genius!
Once you learn the underlying framework of Android, it will be like a tiger with wings, what cell phone OS, tablet OS, car OS, smart TV OS and so on, immediately practicing the "people - car - home (closed loop)" of the world's best.
3、Vertical drilling transformation to do Java back-end development
Seeing that the APP development cake is getting smaller and smaller, Android programmers always want to jump out of the enclosure outside to have a look. Although the demand for Java is also sluggish, but the good thing is that the plate is big, the opportunity is still more than APP development.
It just so happens that APP development traditionally uses Java programming, Android programmers turn to Java back-end without having to learn a new language. However, over the years, Java is also constantly iterating, just a large version of Java8, Java11, Java17 three, these several large versions of the many new features enough to let Android programmers drink a few pots.
However, the back-end development is only with Java only, the development environment and development framework is very different compared to Android. Java back-end development environment using IEDA, the development framework using Springboot + MyBatis, larger frameworks to use SpringCloud. what Eclipse, what SSH has long been outdated, hurry up to throw away, and now it is! 202x years.
Well, learning back-end Java programming recommend this book "learn Java well: from zero to project combat", the book tells the new features of Java8 and Java11, and based on the IDEA development environment to explain, at the same time introduces the Java program how to operate the MySQL database.
4、Lateral expansion transformation to do big front-end development
Accustomed to do APP interface development, Android programmers on other front-end technologies such as H5 have also been involved, because they are controls to controls, do not need to care about the back-end of the complex business logic, you can save a lot of brain cells.
Web front-end programming language preferred JavaScript, JS for short, the front-end development engine is mainly and, the development environment using VS Code, in addition, do not forget the Web page markup language HTML5.
In addition to the Web front-end, major companies have launched their own front-end development frameworks, such as Tencent's WeChat mini-programs, Huawei's Hongmeng APP, and so on.
WeChat applets are programmed in TypeScript, which is based on JavaScript and extended, or TS for short. applets have a specialized development environment called WeChat Developer Tools.
Harmony APP is programmed in ArkTS, which is the HarmonyOS application development language, based on TypeScript and extended. Harmony APP has a specialized development environment called DevEco Studio.
5、Take a big step to transform into C/C++ underlying development
Mobile Internet has become yesterday's flowers, industrial Internet is the sunrise of eight or nine o'clock. Look at the TIOBE programming language list, Java language has long lagged behind C/C++, and even Java's hotness is less than half of C/C++.
However, it is quite difficult for Android programmers to cross the border and go directly to C/C++. In order to make a smoother transition to C/C++ programming, consider starting with audio/video development.
It just so happens that there is an important branch of Android development called Android audio and video, which involves WebRTC, FFmpeg and other open source frameworks. WebRTC is mainly used for video calls, while FFmpeg is mainly used for audio and video playback, audio and video editing and so on.
Google dad provides APP-specific WebRTC libraries, which can be directly introduced into the App project. While FFmpeg is written in C language, it needs to be integrated into App project through NDK. Chapter 12 of the book "FFmpeg Development in Action: From Zero Basics to Short Video Online" describes in detail how to integrate the FFmpeg library into the App project, which can be used for reference.
FFmpeg to learn almost, and then study the technology related to live systems, such as streaming media server SRS, ZLMediaKit, such as the computer side of the live streaming tools OBS Studio, cell phone side of the live streaming tools RTMP Streamer, SRT Streamer, etc., about the detailed technology of the live broadcasting system can be referred to a series of articles FFmpeg development notes full catalog (FFmpeg development of combat details, including the process of building a live system) ".
In the study of open-source frameworks such as FFmpeg, I believe you have gradually mastered C/C++ programming, then put more effort to use C++ desktop development environment Qt, the industrial Internet is beckoning to you.
Well, learning App WebRTC programming recommend this book "Android Studio Development Practice: From Zero Basis to App Online (3rd Edition)", the book Chapter 20 details the server-side construction of WebRTC and client integration process, and demonstrates a practical project "imitation of WeChat video calls The book also demonstrates the real-world project "Video Calling with WeChat".
Well, learning FFmpeg programming techniques recommend this book "FFmpeg development in practice: from zero base to short videos on the line", the book describes in detail how to build the FFmpeg development environment in the Windows system and Linux system, respectively, Chapter 11 also describes how to develop a desktop program through Qt + FFmpeg.
In addition to the above five development directions, you can also consider Python artificial intelligence development, but this piece and Android development is too far away, we will not do an in-depth introduction.