In 2018, the entire mobile Internet entered the second half. Why is it already in the second half? Let’s talk about the future, let’s talk about history first, let’s start from the beginning.

In 2005, Google acquired Android, which was established less than two years ago. After more than three years of research and development, Google launched Android 1.0 in 2008. At that time, Nokia, which was equipped with Symbian system, was still in the world, and the industry was not optimistic about Google’s Android. Many thought it would take Google at most a year to abandon Android.

In 2009, when Android 1.5 was released and the HTC G1 and G2 became popular, there were already a number of people in China writing introductory textbooks for Android application development, despite what now seems to be a poor and verbatim translation of official documents. But they did seize the opportunity to make a profit, and thanks to these people, it was a quick start for developers with poor English.

In 2010, Android 2.3 was released, and I had my first Android phone from this version and started to develop Android. At that time, the market share of Android phones began to rise rapidly, reaching 30% in the United States. And at this time, there is a giant began to collapse, it is that the ringtone can make people hear voices Nokia, a generation of mobile phone empire, crashed.

In the middle of 2011, The iPhone 4S, the last gold standard product of Steve Jobs, was launched, pushing the quality of smart phones in the industry to a new height. Compared with iPhone, Android phones at that time showed no matter in industrial design, running speed, stability or security, Android is a baby. Unfortunately, iPhone was too expensive. At that time, holding iPhone was a symbol of status. It was at that time that Xiaomi came out of the blue and opened the era of 1000 yuan phone in the Android market. This year, a large number of Domestic JavaEE developers began to switch to Android development, I am one of them, at this time the development means is relatively primitive, such as network framework, basic are in HttpClient or HttpUrlConnection manual encapsulation, we are doing repeated work, AndroidAsyhcHttp, Volley, Ritrofit…

In 2012, Android came out with Android 3.x and Android 4.x; 3. X is mainly used for tablet devices. At this time, Android programmers began to recognize Fragments, a kind of view for large screens, which are now used by you and me a lot. 4. X has made several optimizations in terms of flow degree and ease of use, such as upgrading animation drawing buffer level 2 to Level 3 buffer.

By this time domestic Android development has been the fire in a mess, learned Java, regardless of whether you have Android experience, as long as you are willing to engage in Android development will be able to find a good pay job; The whole industry is thriving, just an Internet company, do not do two apps are embarrassed to say that they are Internet companies, those who do channels, market is also a fortune, such as 91, pea pod. Also brewed out the first batch of apps, such as when our mobile phone installed the most is QQ, wechat, 360 assistant, Sogou input method, Baidu map, UC browser, beautiful every day, optimization master, ink weather. See, most of them are tools, not life-changing. There is no Didi Taxi, no O2O applications, and wechat is just a simple chatting tool. But we all see the mobile Internet is about to enter every aspect of life trend, there are still a lot of apps to develop, from zero to one to develop an APP a lot of opportunities, also need a lot of Android developers to do things.

From 2013 to 2014, Google released 4.4 and 5.0. As mentioned above, The early Android was just a baby, and there were problems in security and performance. For example, in 2012, SOMEONE asked me to write a program to monitor others’ phone calls and short messages. How easy it is to implement this feature shows how obvious the security holes are, but it is difficult in 4.4 and 5.0, and even harder in 6.x and 7.x. In terms of performance, I think 4.4 and 5.0 have epoch-making significance. Since 4.4, Google began to introduce ART VIRTUAL machine to replace Davik virtual machine. After 5.0, under the action of Moore’s Law, mobile phone hardware performance and memory also improved, and Davik was completely abandoned. Full use of ART; Why is ART faster after ART? Java bytecode needs to be interpreted by the JVM into a set of instructions that can be executed by the target CPU. This is why Java runs slowly. Later, JIT compilation was introduced to explain hot zone code that is often executed. It can be interpreted as the corresponding target CPU instruction set and put into the memory. When executing the next CPU instruction, it can directly take out this part of THE CPU instruction from the memory and execute it directly, saving the time of interpreting and executing each time. Davik also has JIT, but it’s not good enough; Can the bytecode to be interpreted be translated before installation? If memory allows, the answer is yes, and that’s what ART does, and it’s called AOT, which is precompilation. So we’ll find that after 5.0, the installation will be slower, but the running speed will be much faster. After 5.0, the gap between Android and iOS will be smaller and smaller.

From 2013 to 2014, the mobile Internet has entered a new round of explosive growth, which really shows the wild and wild growth to the extreme. I remember a story I told in the article “Luck of a Programmer” : at the end of 2010, a senior who was still living in a farmer’s house and crowded with my classmates in Baishizhou. In 2014, he was already worth ten million vice president; In the same year, another company filled the downstairs audi as year-end bonus, it is UC. After two or three years of crazy development, all aspects of life can be carried out on mobile phones, a variety of O2O applications are fierce, playing no longer to the roadside waiting, supermarkets to roadside stalls no longer need to pay cash, takeout on call, mobile Internet has really changed people’s way of life…

At this time, the whole industry needs to develop APP from zero to one, there are many fewer opportunities. In 2015, the first step of many start-up companies is not to develop an APP, but to open a wechat public number. And APP at this time the changes in development mode also slowly, all kinds of animation open source library, network library, native development has quite mature, it is hot update plug-in at the beginning of development is the brunt, Moore’s law, under the action of hardware performance came up, H5 more share the page tasks that Android development into mixed development era.

To improve efficiency and free hands is the eternal pursuit of human beings. The ideal of programmers is to work until they have no work to do. At the end of 2015, Facebook launched React Native, which achieved a dual balance of cross-platform, dynamic and performance. I also studied and wrote a demo at the first time, and found that it was easy to get started. This web-based development mode and protobiotic experience must be a trend, and JS is hot again. Plug-in framework thoroughly mature in 2016, not long after, Ali Weex release, and RN are the same, Android development thoroughly into the hybrid era, this time after the end of the architecture ability is required, you have to consider your application is not really need componentalization, if necessary, How to combine components, business plug-ins, Web containers, unified hop protocols, etc.

2007 micro channel small program market, follow the document this Demo easy, stand in the entrepreneur’s point of view, you will spend so much cost to develop a native App? And by this time, all fields and segments have been scraped, so there are really few opportunities to develop new apps. Now small programs form their own climate, each App want to rely on the platform and flow to do their own aircraft carrier, have to do their own small programs, is really deformed, from a unified point of view, I still hope that fast application can become.

With the emergence of RN, Weex, applets and other front-end technologies, technology development has completed a cycle, under the action of Moore’s Law, the history is so similar. Remember that once nearly kill the Microsoft browser company, you are very cow force, the operating system but flow entrance in my this, Microsoft also feel bad, then appeared the IE browser, Internet explorer after Microsoft began to set the system and browser two factions protracted struggle, won the final system to send I wonder if this is the reason for the decline of Microsoft in the new Internet era! The development trajectory of mobile Internet and PC Internet is too similar, but mobile Internet is a spiral cycle, 2008 to now, just ten years, a decade cycle.

In the second half

Where was our battleground in the second half?

Block chain

In early 2018, a screenshot of a chat with investment tycoon Xu Xiaoping shook the Internet. For a time, even selling vegetables aunt are discussing block chain, all kinds of block chain brand circle money cut leek companies, entrepreneurial teams springing up, until Li Xiaolai a recording flow out, feel everyone was the “revolution” capital when silly forced, really for the fire poured a pot of water. To say that blockchain will be more violent than the Internet revolution, I think it’s a bit overwhelming. Blockchain is just a vine growing on the soil of the Internet and will only play a very good role in a limited field. Technically, blockchain is not a new technology. It is the application of cryptography, distribution, P2P and other technologies combined with economics in a specific field. If you have experience in cryptography, security, or distributed development, why not switch to blockchain development? It’s just a change of track. However, as far as I know about Android client development, 95% of them have no opportunity to independently engage in or in-depth study of this technology, so they basically believe that blockchain is not the second half of Android development, and there is not much advantage in transferring to blockchain.

Small program

RN, Weex, small program came out, I have studied, and can easily use, as an Android native development I can easily use, not to mention those front-end engineers, and now the small program of the upper development technology in my opinion are FMCG, five, ten years later they are still in? Of course, if we can abstract the technical essence behind each small program, such as in-depth research on the principle of JS execution engine, browser kernel, etc., that you tube he five years later XX small program or WW small program? Must be inseparable from the nature of these technologies, which is a lot of front-end partners than our terminal partners must play slip.

Artificial intelligence (ai)

Artificial intelligence is not a new concept, arguably since the birth of computer has been thinking about the problem of artificial intelligence, but ai in the summer of 1956, the United States is the concept of a seminar of Dartmouth college for the first time, the meeting gathered McCarthy, shannon, such as the industry leading, is considered to be the birth of artificial intelligence, It was called the Dartmouth Conference. Since then, artificial intelligence has developed to a new stage every once in a while, such as the first chess battle between computer and human in 1963, the defeat of deep Blue computer over chess master in 1996, and the construction of Bill Gates’ intelligent mansion in 1997. Promote the birth of the concept of smart home, in recent years, Google’s AlphaGo, unmanned and unmanned car, voice, image recognition and other technologies have been applied in many fields. In 2018, all aspects of mobile Internet application field into the red Sea, the major giants are looking for a new field, artificial intelligence has become a “battlefield”, BAT and other Internet giants have become AI laboratory…

The basis of artificial intelligence is data and algorithm, and data must be obtained based on connection, requiring the Internet of everything, powerful data plus algorithm as the nerve center, a variety of terminal devices are nerve terminals, nerve terminals perception data transmitted to the center through the network. This is the DT era jack Ma once said. In 2018, we have entered the DT era from the IT era. Zhou Hongyi, the cardinal priest, said in 2013 that the future mobile phone hardware will be profitable. Even threatened to do free mobile phones, through the value-added software to make money, and in the DT era this point will be more obvious, the Internet of everything terminal hardware must not profit point, the real value is still in the data and services. As an Android developer for many years, I’ve been thinking about where we can compete in this era. In recent years, big data engineers and algorithm engineers are more popular. Is it necessary to turn to algorithms for terminal development? If you think five or ten years ahead, I think it’s okay. However, I think if the research on Android system is in-depth enough, this era will still be our era. The Internet of everything will definitely need a large number of terminal engineers, and the smart devices in the future will definitely need the ability of offline algorithm. Terminals will assume part of the algorithm, and we will have more space to play.

How to go further in the second half

Whether it is the first half or the second half, we just change the scene. In our life, some skills will not be used on the battlefield, and some will continue to be used.

Speaking of this, I am reminded of a concept put forward by a senior: the knowledge depletion cycle, here I extend to the skills depletion cycle. Here’s the stark contrast between the skills we learn that become obsolete quickly, called obsolescence, and the skills that don’t last a decade or a century: Doctors and fash programmers who study cardiovascular do not have to worry about the changes in the cardiovascular structure of the human body and the elimination of their skills and experience. Flash development technology, which was popular ten years ago, is now facing elimination. Therefore, the popular medicine tablets are becoming more and more popular as they get older, and we programmers have to keep learning. Since we want to learn, we also consider the costs and benefits, and pay more attention to the knowledge and skills that have a long time to wear out.

The longer the depletion cycle from top to bottom, the more it changes from bottom to top and the more demand there is in the short term. In the long run, the more things at the bottom, the more worthy of our study. Once the bottom is understood, the more changes at the top, the faster we can get started and cope with all changes. The above pictures are my personal YY and are not comprehensive, but they can express a meaning: in technical service business, the higher the technology, the more subject to the business, the business is changing, the technical form of the upper level is also changing.