移動端對比後端“式微”?在大環境下如何避免當生鏽的螺絲釘成為一個優秀的安卓開發者

南方吳彥祖_藍斯發表於2021-07-05

知乎提問: 最近看到一些技術部落格,說所有公司都意識到了,小程式相比傳統的安卓/IOS/Web三線作戰的優勢。真實情況也是如此嗎?

這個“式微”的理解其實可以有很多種解讀, 這裡最直接的是Android在企業內的重要性對比後端確實是“式微”了!

但是這個“式微”和小程式沒有太大關係,因為做過微信小程式的知道,微信內的限制太多,所以作為引流和試水階段是沒問題,但是落地還是要回歸到自己的平臺。

我見過不少產品是透過小程式和小遊戲去試錯,最後資料客觀了才落地到應用專案,這類產品一般會選擇類似 Taro 的框架進行開發,最後可以快速從小程式再遷移到應用。

畢竟小程式並不是“真正的平臺”,在別人的後花園怎麼能安心遛狗?

為什麼說移動端對比後端“式微”了?

2014 年開始的移動紅利之後,客戶端急缺的情況下,客戶端開發經歷了 2015 - 2016 年的野蠻成長,但是 2020 的今天整個移動端社群都趨向穩定,而且第三方支援豐富,開發一款應用的成本降低了,而在 穩定下來後企業積累了無數的使用者和資料,所以下半場的競爭者必然是後端和大資料的競爭,主動權再次迴歸後端的比拼

介紹個簡單的例子,比如 極光 ,移動開發都知道它是做 推送 SDK 起家,後續增加了如 分享統計IM 等 SDK 也是佈局移動服務,但是 2019 開始極光開始主打推出的  iAPP 、 反欺詐iAduience 、 iZone 、 營銷平臺 等都是開始往資料服務上發力;另外和極光屬於競爭對手的  MobTech 也是這樣的套路。

因為開發一個普通應用的難度下降了,門檻降低和資本冷卻以後,把握資料和業務邏輯的開發開始成為新的門檻和香餑餑,所以最直觀的就是文章和技術分享的趨勢變了。

一部分從 Java Web 到 Android 的開發人員又一次迴歸後端,同時培訓機構的風頭也變了:python、AI、區塊鏈等等,要知道每年市面上新增的開發人員,有很大一部分來源於培訓機構, 這部分人變了也導致技術部落格和公眾號等的產出風向變了

移動端開發需要怎麼增強自己的式?

首先明確一個觀點,那就是移動開發是必須有的,只要平臺在原生開發就必須有。但是渾水摸魚的日子沒有以前那麼好過了,因為小程式和各種跨平臺開發讓企業有了更多的選擇。

所以如果你還想做介面開發,那麼增強你的能力廣度是必須的,比如:

  • 小程式的上手並不難,同時還有諸如  uni-app 、 tarochameleon 可以幫助上手。
  • 透過學習  React-Native 來認識前端開發,學習  ReactCSSJavaScript 等相關能力,只要你會  RN 其實等同於你已經學會了小程式。
  • 瞭解學習諸如  Flutter 、  PWA 、 WebAssembly 等新的技術迭代。

當然,最後不要落下 資料結構與演算法、計算機原理等基礎知識,這些才是程式設計師後期的競爭力,如果想要把握更多的當然你也可以學習後端開發相關的知識。

Android行情艱難如何成為一個優秀的程式設計師?

優秀的門檻一直在變高,歲月無情,那我們怎麼應對?

1、儘量讓自己擁有較長時間競爭力的技能和思想

現在很多年輕人熱衷於學習新的工具,新的程式語言,學習在新的平臺做系統,當然,這是有一定紅利期的,但作為個人的競爭力,稍過幾年,很可能就一文不值。

什麼是競爭力,多理解系統底層的邏輯和思想,諸如記憶體分配的機制,多理解資料結構的原理和設計理念,這些也不能說永遠都有競爭力,但如果理解到位,並且應用得當,至少可以保證二三十年自己的思想不會在業內落伍。

具有發現問題的敏銳度,掌握分析問題的方法和思路,也能讓自己職場競爭力相對牢固一些。

知道如何有效的在複雜的系統中發現問題,定位問題,並針對性的給出解決問題的方向,這就是競爭力,這個競爭力,依然可以持續很多年。

2、即便力不從心,也要奮力向前

你說一代更比一代強,有的時候真的力不從心,但看你目標是什麼,想獨孤求敗,一覽眾山小,可能越來越難。但畢竟!畢竟大部分人是懶惰,缺乏耐心的。想讓自己超過大多數人,畢竟沒那麼難。

如果你否定天分的存在,只強調勤奮努力,那就是蠢。但如果你因此認為勤奮努力沒有用,那就是又懶又蠢。

只要你肯進步,總會超越大量不進步的人。對於普通人來說,這就足夠了。

3、提升視野,向上發展

很多人雖然經歷了很多事,卻依然沒有見識,匱乏視野。

比如簡單化,標籤化的看待問題,老闆當時成功是因為運氣比較好。

比如從不關心產業和市場變化的情況,一直隨波逐流。

比如在自己的工作職能之外,毫不關心合作伙伴,上下游,同行的生存和發展話題。

所以,當更有活力,更便宜的年輕人衝上來,他們的教育背景比你更好,他們的演算法邏輯比你更清晰,你還剩下什麼,信謠傳謠的能力和素質?

還想安安靜靜當個螺絲釘?對不起,你生鏽了。

總結一下,優秀的門檻越來越高,這是歷史趨勢,誰也擋不住。

但任何時代,大部分人總是會固步自封,隨波逐流,隨著歲數增長,你可能真的無法擋住優秀的年輕人超越你,但你只要肯進步,總會不斷超越那些停步不前的大多數。

怎麼學習Android

其實我更希望做無論是哪端的開發,都可以讓自己的成長為工程師而不是單純的 Api 碼農,很多時候大家都在憂慮學多而不精,但是撫心自問學得少的自己,現在有“精”嗎?

因為技術是具備可遷移性的,比如:學習  Dagger 和  Spring 的時候;學習  React Native 和  Flutter 的時候;學習  Kotlin 和  JavaScript 的時候。 這樣的選擇可以讓我們節約成本的過度。

在增加自己技術儲備的同時,也開拓自己的眼界,我個人更希望自己的生涯是去 “精通” 開發,而不是定位於某種語言或框架。

所以我會保持去關注新的行業動態,瞭解一些新興技術實現,即使只是知道它的名字和作用。危機感和興趣讓我有動力這麼做,當然, 在某個領域保持深度還是有必要的,畢竟吃飯的東西不能丟, 但是保持學習和好奇心,是讓職業生涯更有生命力的保證:

同樣地,每年我們都會看到, 在一個新的技術釋出後,曾經在某一領域具有權威的領導者失去他的領導地位,這正是因為日常工作佔據了進行策略性思考的時間,從而讓你沒有時間去做一些更有價值的事。

Android進階學習路線參考

程式設計師如何走上快速提升技術走上財富自由之路?

下面我提供一下我多年工作以來收集整理的學習路線,給大家做個參考:

學習一線大廠的各項技術:

大廠是我們的技術先驅,不僅僅是各種技術,還有很多令你大開眼界的使用方法,學習這些有利於自己競爭力的提高,深入理解後也可以提升你的學習效率。

現在競爭這麼激烈,只有透過不斷學習,提高自己,才能保持競爭力。

1.2020大廠面試高頻知識點

  • 圖片
  • 網路和安全機制
  • 資料庫
  • 外掛化、模組化、元件化、熱修復、增量更新、Gradle
  • 架構設計和設計模式
  • 效能最佳化
  • Android Framework
  • Android優秀三方庫原始碼

2.Jetpack架構元件從入門到精通

  • Android Jetpack - Navigation
  • Android Jetpack - Data Binding
  • Android Jetpack - ViewModel & LiveData
  • Android Jetpack - Room
  • Android Jetpack - Paging
  • Android Jetpack - WorkManger
  • Android Jetpack架構元件之Lifecycle
  • Android Jetpack Compose 最全上手指南

3.Framework精編核心解析

主要內容包含:

  • 深入解析Binder
  • 深入解析Handler
  • Dalvik VM 程式系統
  • 深入解析 WMS
  • PackagerManagerService

4.Kotlin強化實戰(附Demo)

  • 第一章 Kotlin入門教程
  • 第二章 Kotlin 實戰避坑指南
  • 第三章 專案實戰《Kotlin Jetpack 實戰》
    • 從一個膜拜大神的 Demo 開始
    • Kotlin 寫 Gradle 指令碼是一種什麼體驗?
    • Kotlin 程式設計的三重境界
    • Kotlin 高階函式
    • Kotlin 泛型
    • Kotlin 擴充套件
    • Kotlin 委託
    • 協程“不為人知”的除錯技巧
    • 圖解協程:suspend

5.Android設計思想解讀開源框架

  • 熱修復
  • 外掛化
  • 元件化框架設計
  • 圖片載入框架
  • 網路請求框架
  • RXJava 響應式程式設計框架設計
  • IOC 架構設計
  • Android架構元件Jetpack

6.NDK模組開發

  • NDK 模組開發
  • JNI 模組
  • Native 開發工具
  • Linux 程式設計
  • 底層圖片處理
  • 音影片開發
  • 機器學習

定期面試:

光學習了大廠的技術還不夠,如何瞭解當下Android市場需要哪些技術呢?

定期的面試足以讓你瞭解當下市場需要哪些技術,也更加容易確定自身的短板在哪,同時,也可以督促自己學習提升(小夥子,你瞭解的技術有點落伍了呀…)

萬一拿到了高薪Offer,豈不是更賺?

多看大佬的學習筆記,學習大佬的設計思想:

只要是程式設計師,不管是Java還是Android,如果不去閱讀原始碼,只看API文件,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。

真正最能鍛鍊能力的便是直接去閱讀原始碼,不僅限於閱讀各大系統原始碼,還包括各種優秀的開源庫。

以上這些內容均免費分享給大家,需要完整版的朋友, 。或者點選 【 】 檢視獲取方式。

在經歷了前期的野蠻生長後,優秀的門檻會越來越高。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2779812/,如需轉載,請註明出處,否則將追究法律責任。

相關文章