法国波尔多犬:安卓怎么才算高級,這幾點我建議你一定要掌握 [復制鏈接]

2019-9-20 10:09
kengsirLi 閱讀:957 評論:0 贊:4
Tag:  進階

恋恋波尔多 www.luaogj.com.cn

安卓開發已經涼了嗎?

這兩年有很多人問過我類似的問題,在大方向講,任何一個行業都有有一個成長周期,安卓經歷了2011-13年的野蠻生長后,已經進入了成熟期,這個階段絕大部分企業對Android崗位的需求回歸“理性”,不是懂一點Android基礎就能找到工作的年代,這時候再從0起步可能比較晚,但Android市場卻普遍缺乏高級人才。

目前Android市場上初中級的工資6K到18K不等,高級大概在20K-35K,很多朋友初中級開發者卡在20K這個門檻始終邁不過去,想要學習又不知道該怎么著手,大多從做上層應用開始,到做 Framework 層就淺嘗輒止。

這里我找來一則高級Android開發的招聘要求:

安卓怎么才算高級,這幾點我建議你一定要掌握

這是小米在拉勾上的招聘要求,相當于p6級別,除開學歷的要求外,我們可以看到它在Android基礎要求之外,把JNI/NDK/Framework,甚至JS、Server端開發也作為了提升點,是全棧方向的雛形。我覺得大家可以經常在招聘網站里看看現在的企業需要什么技術,當然也不能把企業要求的都學了。我這里大致總結了一下,Android開發人員的發展方向:

第一,橫向提升。

基于全棧發展的趨勢,在自己擅長領域深入專研的同時橫向擴展,不要關起門來閉門造車。而這里說的橫向提升就是向全前端轉型,在除了要在APP會hybrid開發(web、native、前端交互、硬件交互)之外,還要會web開發,微信小程序,H5。

比如服務端開發,我們做Android開發很多時候,要依賴于服務端接口返回數據,可以自己試著搭建一下,至少要對服務端的結構理論、服務與服務之間通信、聚合是什么樣的流程也是需要有所耳聞。

第二,縱向重塑。

一直以來,做Android開發有這么兩個說法,如果是做應用開發,往應用架構方向發展比較合適,如果是做系統層開發,往往底層驅動比較合適。這里我是比較贊同的,那具體應該學習什么呢?

1.移動架構:架構展示層: MVC、MVP、MVVM、Clean、Flux、Android Architecture Components;架構層:??榛?>組件化->插件化->沙盒/雙開技術,比如可以雙開微信,類似Docker, 每個頁面都是插件,類似Vue.js中每個頁面都是組件。

2.基礎進階:這個方向可能比較多,比如VIEW、Android動畫機制、四大組件工作原理、多媒體技術等等。我們平常在工作中碰到的View滑動沖突問題、其實通過掌握View工作機制和Android觸摸事件體系就能輕易解決掉?;褂卸雜諦枰⒀だ齙畝Ч?,那么對于視圖動畫和屬性動畫一些特性必須有一定的了解。Android 中的四大組件工作機制其實底層應用的是Binder機制,我們不妨從 AIDL 這個接口來了解 Binder。

安卓怎么才算高級,這幾點我建議你一定要掌握

JNI 和 NDK 開發也是比較常見,特別對于一些做 SDK 項目為主的,這一塊開發流程也是需要掌握,NDK開發(含JNI)也是用人單位區分應聘者的手段之一,企業不一定要用到,但是可以通過是否掌握NDK來篩選人才。

安卓怎么才算高級,這幾點我建議你一定要掌握

3.語言學習開發語言:這里我要糾正一下學習語言不是跨行業,比如Kotlin可以說是Android世界的頭等公民了。再有時下比較火的Python和GO,另外做底層C/C++是必不可少的。

4.源碼:要求能看懂并且熟悉源碼(自己選幾個第三方庫的也可以),要做到熟悉源碼及其實現原理。并且要做到能自己二次封裝(或自己貢獻三方庫)三方庫。這樣一來,你就會在維護中慢慢成為這個技術塊的專家了。我覺得輸出倒逼輸入是一個不錯的學習方式。

5.如何提高開發效率?

工欲善其事必先利其器,如何提高開發效率,很多開發者在開發中由于gradle不會用導致加載代碼非常耗時,這些都是你的工作成本的浪費?;褂芯褪莋it的使用也可以幫助我們管理好我們的代碼,這個非常關鍵,因為這個工具可以讓我們修改的代碼不會因為錯誤操作而導致丟失。另外,對移動開發者我們至少需要知道如何抓取網絡包。其中,最常用的stetho就是一個非常好用的可以抓取網絡包的工具

6.混合開發

混合開發的flutter現在已經逐漸成了主流的混合開發框架,另外由于阿里系的強大存在,導致阿里系的公司都在用Weex混合架構,這些都是一個Android工程師開拓視野,走向未來必不可少的基本技能的。

Flutter學習思維導圖:

安卓怎么才算高級,這幾點我建議你一定要掌握

其實學習的方向還有很多,這里就不給大家一一羅列了,因為不同行業不同項目需要學習進階的技能都不一樣,可以說360度發展。

這里放上一份詳細的Android高階開發學習的進階大綱給大家參考下學習方向:

安卓怎么才算高級,這幾點我建議你一定要掌握

四、寫在最后

不論遇到什么困難,都不應該成為我們放棄的理由!

很多人在剛接觸這個行業的時候或者是在遇到瓶頸期的時候,總會遇到一些問題,比如學了一段時間感覺沒有方向感,不知道該從那里入手去學習,對此我針對Android程序員,我這邊給大家整理了一些資料,包括不限于高級UI、性能優化、移動架構師、NDK、混合式開發(ReactNative+Weex)微信小程序、Flutter等全方面的Android進階實踐技術;希望能幫助到大家,也節省大家在網上搜索資料的時間來學習,也可以分享動態給身邊好友一起學習!


我來說兩句
您需要登錄后才可以評論 登錄 | 立即注冊
facelist
所有評論(0)
領先的中文移動開發者社區
18620764416
7*24全天服務
意見反?。[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 恋恋波尔多 )

全民红中麻将一元 兼职玩游戏怎么赚钱 阅读赚钱文章刷量神器 不靠体力赚钱方法测试 财神捕鱼app 凤凰彩票刷积分赚钱是怎么回事 乐游美人捕鱼 壹心团队客服怎么赚钱 彩乐乐游戏 大话2贫民5开配赚钱号 北京麻将技巧口诀 重装机兵 卖东西 赚钱 养龙虾可以赚钱嘛 金凤凰彩票首页 龙腾世纪 赚钱bug qq麻将欢乐豆怎么出售