Today in zhihu received such a problem, I think this is a very good, believe that many people consider this problem, but in addition to the companies “screw” (good) job have the opportunity to work in a certain direction, in-depth when many small to medium sized team, especially entrepreneurial teams are difficult to have such a condition on the job, Because the daily work may be surrounded by business, if you want to deepen a certain direction, can only rely on their own spare time to adhere to.
I am a half audio and video developer and a full time front-end developer
1. Android audio and video development
This is a very good direction, especially in the 2018-2019 live broadcast, short video and other wind makes this direction very hot, I am half of the practitioner of audio and video development, because GitHub open source CarGuo/GSYVideoPlayer users are quite a few. So forced into a half bucket of audio and video development.
In the future, the direction of audio and video in 5G era will definitely continue to flourish.
However, once you do audio and video development, you will find that the audio and video direction is not necessarily related to Android, because audio and video development is for Android, not for Android.
The first thing for audio and video development is to learn C++, FFMpeg open source project, and the coding protocol, container packaging and network protocol of audio and video. Finally, for Android, it is NDK development, and then it needs to provide audio and video services for iOS and other platforms. Since it’s not realistic for audio and video projects to only work on Android, you can check out the basic concepts I wrote about below.
Audio & Video Basics for Mobile Developers
Therefore, I need to choose audio and video development so that I am not limited to Android, and this direction will be low-level learning, so it will be tiring but the technology will be relatively stable.
2. Android cross-platform development (Flutter, big front-end)
The big front end is the inevitable direction of Android development, because with the disappearance of Android development and iOS development dividend, the whole market recruitment tends to stabilize, now the basic threshold of Android and iOS is not high, so the integration with the front end is an inevitable rhythm.
Both do UI and animation, and cross-platform is naturally the desired choice for enterprises: cross-platform makes the code logic reusable, reducing the development cost of the same logic for different platforms. For enterprises, a set of business logic can be used in many places is the most ideal and safest, but also can optimize the interface development personnel to a certain extent.
Do Android development, want to change careers, how to choose?
Therefore, cross-platform is not a direction, but the ability expansion of normal front-end and client developers. If they continue to engage in the development of a large front-end, they must be mentally prepared to embrace the technology bonus, embrace the technology update, as the saying goes, “learn not to move but to learn”, to ensure their knowledge transfer ability and architectural ability. (Cordova, Uni-App, React-Native, Weex, Flutter, Kotlin-compose, Swift are just the beginning)
Who told you that Flutter would kill native developers?
But actually looking at the technology framework and the technology route there are many, but essentially the way of thinking is universal.
3. Android security Direction (reverse, penetration)
I happen to have a friend from 360 who works in the direction of security. From his daily recruitment messages, I can hardly see this aspect, but from my understanding, he is more a related person in the direction of security (reverse and infiltration). Then he may have a better understanding of Android attack and defense, instead of switching to Android development. After all, in addition to “social attack and defense”, the security field is more about the application of network protocols, computer principles, Linux security and other aspects.
Because I don’t know enough about it to give good advice.
4. Android application architecture development (framework development, application architecture)
In fact, except for dachang’s super App, this direction will not be available in small and medium-sized teams in the future. After all, the construction status of a common application is basically mature. For example, ViewModel + DataBinding + Realm + Dagger2 + Retrofit + Glide can make a good set of application development, and Google’s Jetpack project is relatively mature.
As for the super App of big factory, because it involves multi-department development, the infrastructure is usually set up. For example: Do some common component pool, general technical architecture support, with a variety of monitoring products and data reporting and other functions, but at this time the Android development is not just ordinary Android application architecture development, such as:
- Meituan’s MRN, Mach and other projects require cross-platform large front-end development capabilities;
- The idle fish project went from RN to build Flutter toFlutter+Serverless development practice
These are inseparable from the big front end of the line support, so the future Of Android application architecture development and the big front end is the path of development together.
Instead, developers working on the Android Framework and HAL layer will have a different choice, and such related practitioners may be involved in the development of various iot smart devices.
The biggest difference between Android platform and iOS platform is its open source and influence. Today, after many years, Android has not only represented mobile phone platform, but also penetrated and advanced in TV, set-top box, building security, automatic sales, advertising display, smart home appliances, vehicle and other fields. There are not many Android developers working on simple apps, but many continue to work on Android in these areas.
In the 5G era, there are likely to be new opportunities in the field of Internet of Things, such as Huawei’s Hongmeng smart screen, driverless vehicle tablets, and other wireless intelligent platforms based on Android, which are all opportunities for Android developers to cultivate.