作為一名Android開發者,你有過迷茫嗎?

你如世間春秋發表於2018-11-06

前言

經常聽新進的小白問道,Android是不是飽和了?想寫一篇關於Android開發者憂慮的文章很久了,今天才提起勇氣寫。最近不管是在微信、QQ群,還是在各大部落格網站,都隨處聽得到Android開發不景氣的聲音,而現在的大資料、人工智慧的火爆程度,很大程度上對Android開發者不免有一定的影響,寫這篇文章主要的目的是表達一下自己對目前Android開發的一點看法,僅僅是個人觀點。
Google 2005年8月17就已經收購了Android,距今已經有10餘載,縱觀這10多年的發展可以說是天翻地覆。Android 全球已經超過10億部,超過70%以上的市場份額,Android依然是Google的核心,這麼大的使用者資料是不可能放棄,只能越做越好。可能很多人會說會不會像以前的塞班系統?答案可以很肯定的告訴你不會,有一下幾點原因:

1.塞班閉源,而Android開源

2.開源,很多公司都在深度定製系統

3.和10年前對比,現在的Android系統是越來越完善

4.有了塞班的示例,Google沒那麼傻會走相同的道路

5.Android豐富的學習資源、社群

6.假如沒有Android,國內估計就沒得小米等手機 。。。


個人觀點,假如Google沒有收購Android,估計Google沒有像現在那麼出名,也沒有現在的輝煌、規模。那麼,Android的未來具體究竟會發展成什麼樣子,智慧家居,人工智慧,VR技術,AR技術,安防。未來,安卓會更加的人性化和智慧化,以及安全化,視覺體驗化。

因此在這樣的大環境之下,Android 移動開發必然還是能在眾多開發中佔領一席之地的,所以Android消亡是不用擔心的。

行業形勢

Android 的形勢與環境

如果你是一個Android開發者的話,你一定聽到了很多的風言風語,總結幾句話的意思就是Android已經不再火爆了,Android學了出來找不到工作,Android是不是要被遺棄了等等,很多的不順耳的言論。但是我們不得不承認這樣一個事實:
Android確實不是當年盛況,已經不再像前幾年前那麼火爆。一種語言如果經歷過盛極一時,那麼必然有這樣的一條曲線,像我們學的正弦曲線先急速上升,然後到達頂點,然後再下降,最後再趨近一個平穩的值。那麼這一兩年就已經是在一個飽和值之間浮動,因此在這樣的形式下,可能對於個人開發者相應的要求就要高一些。以前是隻要你會Android四大元件的都是個香餑餑,那樣的時代已經過去了,隨著人機互動的體驗要求,App的使用者體驗的要求、流暢度等等,已經不可同日而語。在這樣的大環境下,那麼對我們的Android開發工程師也是同樣的改變

在這樣的情況下,由於飽和,隨處都能招到初級的工程師,公司有了選擇的餘地,所以肯定會去選擇更加優秀的,這就必然導致了我們經常說的,Android開發者已經爛大街了,其實不然,只是公司的要求變高,市場飽和,門檻變高而已。所以這就要求我們更加的精於技術,據我瞭解,中、高階的工程師還是很受歡迎的

移動端的發展

React Native的出現

移動端在短短几年之間就發展如此迅速,典型的代表就是Android、IOS,發展如此之快,又如此的火爆。既然都是移動端,為什麼每開發個APP就需要兩個端分別開發,作為IT行業肯定有各方面的大佬會想盡辦法來相容兩個端,一套程式碼,兩個端都可以執行;

那麼,肯定知道大名鼎鼎的FaceBook開發的語言React Native,這款語言是能相容Android、IOS的系統,開發一套程式碼,可以兩個端執行。在這之前一度給開發者帶來了多麼大的希望,得到了眾多開發者的青睞,但是我想又很多的人不知道ReactNative開發到底有沒有坑,到底像不像道聽途說的,提高了效率,降低了成本,這是我之前看的一篇文章上一位大佬實際開發之後的感受:React Native技術的優劣,有興趣的老鐵可以看看。因此,個人觀點,你作為一個Android開發者,學習更多的相容平臺的語言,肯定是加分的。但是也要看你時間、經歷等因素,以及適不適合。假如你現在Android都還沒學到多少,或者還在初級階段,然後就想著又去把React Native給學好,我建議先把當前工作中需要的語言學精通,然後再去擴充套件學習,是最優的抉擇。不要看著什麼新的出來,都去嚐鮮瞭解個一知半解,最終發現自己沒有一項精通的,就得不償失了。

Google推出Kotlin

Google進來在大力推廣Kotlin,Kotlin不可否認得到了Google的大力支援,以及語言本身的特點,個人覺得有一下幾個特點是很受歡迎的:

①程式碼的大幅度精簡
②100% 相容 Java 程式碼
③函數語言程式設計
④各種語法糖

可能有的老鐵就會說了,既然kotlin得到了Google的支援,語言又有比Java好的特點肯定會衝擊一波;這裡就說說我個人的觀點:

①不要太著急去學習Kotlin,除非你空餘時間充足
②一個語言替代另一個語言,是需要時間去沉澱,一般需要3~5年時間
③既然Kotlin有著諸多的優點,而且完全相容Java程式碼,那麼等到普及的時候再去也不遲 現在國內、外都是有很多大型的APP依然是Java,想QQ、微信、支付寶等APP,要想突然全部換成kotlin來編寫,還是需要時間和成本的。以及總小型公司的老專案也是需要維護等等。
④Kotlin的三方庫可能還是不是那麼的完善,未知BUG,社群活躍度等等都是些問題

綜上所述,不可否認Kotlin有極大的可能成為Android開發最流行的語言,但是這還是需要一定時間,所以是否立即轉Kotlin開發是否符合你自身,就需要老鐵自己考量了。

Flutter

什麼是Flutter?

2018年2月27日,在2018世界移動大會上,Google釋出了Flutter的第一個Beta版本。Flutter是Google用以幫助開發者在Ios和Android兩個平臺開發高質量原生應用的全新移動UI框架
有以下幾個特點:

①熱過載(Hot Reload),作為一個菜鳥安卓開發者,能熱過載真的太舒服了,利用Android Studio直接一個ctrl+s就可以儲存並過載,模擬器立馬就可以看見效果,就這一點比原生安卓製作簡直不知道高到哪裡去了。
②一切皆為Widget的理念,對於Flutter來說,手機應用裡的所有東西都是Widget,通過可組合的空間集合、豐富的動畫庫以及分層課擴充套件的架構實現了富有感染力的靈活介面設計。

③藉助可移植的GPU加速的渲染引擎以及高效能原生程式碼執行時以達到跨平臺裝置的高質量使用者體驗。 這段介紹是直接抄下來的,雖然我並不知道什麼叫可移植的GPU加速的渲染引擎,但是最終結果就是利用Flutter構建的應用在執行效率上會和原生應用差不多。

但是由於目前主要是使用在UI方面,不清楚後續的發展,我們暫時還是不要盲目的去跟風,畢竟這些還是要很多的大佬去實踐,然後不斷的優化、提升才能適合我們這些菜鳥級別的去使用。當然我前面也說過,如果時間很充裕,是完全可以去學習嘗試的,多學多瞭解肯定是對自身有益。

人工智慧、大資料的崛起

作為一個程式猿,那麼肯定是知道這兩年的人工智慧和大資料的發展,不管是國家政府的支援還是IT界的發展,以及世界IT巨頭公司,都是在大力發展人工智慧、大資料,畢竟人工智慧、大資料是被語言未來10年最火的語言。我想有很多人肯定和我一樣,不管是點開各大開源網站、技術部落格平臺、技術交流群可能出現最多的詞頻就是人工智慧,Python自然而然的就是火得一塌塗。

經常可以看到有很多博主,釋出訊息Python幾月份成為了某某開源社群最火的語言等等,引發的一些的脣槍舌戰,我們不討論。但是我們從另一面可以看得出是有多麼的火爆。可能這就導致了很多的Android開發者,或者不止Android開發者,都想去分一杯羹,都想去趕上這個熱潮。這裡我就說說我個人的幾個觀點,僅僅個人而言:
①瞭解如今的市場行情,需要掌握什麼技能才能找到一份Python開發的工作,現在公司需要什麼人才,這個就是你學習的一個方向。

②系統的學習規劃:你要知道自己每天學習什麼,因為接觸過的新手比較多,很多人學著學著就放棄,或者他們不知道自己在學習什麼,這樣非常迷茫一點計劃沒有,肯定是學不會Python的,所以學習Python要知道每天學習什麼,做什麼案例。

③學習Python如果只靠自己學,基本學了也很難找到工作,現在Python開發的工作普遍很高,要求也高,都需要有工作經驗的,如果單靠自己琢磨不僅浪費時間,而且很不專業。

所以可以想好自己是以後走這方面的路,還是說只是想嘗試一下,跟跟風;如果只是跟跟風,我看還是算了吧,你真的閒暇的時候去看看就好,別花太多時間,如果有時間還不如研究在自己的領域,對你可能更加有利,那如果是下決心要轉行,那你還是要考慮好當下的適不適合。

總結

任何市場都是優勝略汰適者生存,只要你技術過硬,到哪裡都不存在飽和不飽和的問題,所以重要的還是提升自己。懂得多是自己的加分項 而不是必須項。門檻高了只能證明這個市場在不斷成熟化!另外一千個讀者就有一千個哈姆雷特,所以以上只是自己的關鍵,不喜勿噴!


相關文章