mb612e277c48155 2021-09-20 01:46:14 阅读数:669
1. 引言
移動互聯網發展十餘年,伴隨著 Android、iOS 等智能手機的不斷普及,移動端已逐步取代 PC 端,成為兵家必爭之地。正所謂“得移動端者得天下”,移動端已成為互聯網領域最大的流量分發入口,一大批互聯網公司正是在這大趨勢下崛起。
2. 為什麼需要跨平臺技術
伴隨著移動互聯網的高速發展,公司間競爭越來越激烈,如何將好想法快速落地、快速試錯,成為備受關注的問題。提昇研發效率、縮短研發周期,保障產品快速試錯並能快速迭代新功能,讓新產品新功能以最快的速度同時抵達 Android、iOS 等多端用戶。
眾所周知,Android 應用采用 Java 或 Kotlin 編寫,iOS 應用采用 Objective-C 或 Swift 編寫,Web 端采用 HTML /CSS/JavaScript 編寫。當需要開發支持多端的應用,每一端都需要獨立研發、測試,一直到上線,以及後續的維護工作,工作量成倍增漲,勢必延長研發周期。
為了解决多端獨立開發的問題,跨平臺技術便應運而生,各大互聯網公司為此都投入大量人力,於是出現了各種跨平臺技術框架,面對移動領域的跨平臺技術方案的層出不窮,又該如何做技術選型呢?
3. 移動端技術選型
作為移動端的跨端技術方案,所關注無外乎以下這4個方面:研發效率、動態性、多端一致性、性能體驗。
4. 跨平臺技術劃分
對研發效率和體驗的不斷追逐,移動端的跨平臺技術方框架層出不窮,然則天下武功眾多,萬變不離其宗,從其核心本質來劃分,可大致分為以下三大類:
Web技術:主要依賴於WebView的技術,功能支持受限,性能體驗很差,比如PhoneGap、Cordova、小程序。
原生渲染:使用JavaScript作為編程語言,通過中間層轉化為原生控件來渲染UI界面,比如React Native、Weex。
自渲染技術:自行實現一套渲染框架,可通過調用skia等方式完成自渲染,而不依賴於原生控件,比如Flutter、Unity。
初級工程師拿到需求會直接開始做,然後做著做著發現有問題了,要麼技術實現不了,要麼邏輯有問題。
而高級工程師拿到需求會考慮很多,技術的可行性?對現有業務有沒有幫助?對現有技術架構的影響?擴展性如何?等等…之後才會再進行設計編碼階段。
而現在隨著跨平臺開發,混合式開發,前端開發之類的熱門,Android開發者需要學習和掌握的技術也在不斷的增加。
通過和一些行業裏的朋友交流討論,以及參考現在大廠面試的要求。我們花了差不多一個月時間整理出了這份Android高級工程師需要掌握的所有知識體系。你可以看下掌握了多少。
混合式開發,微信小程序。都是得學會並且熟練的
這些是Android相關技術的內核,還有Java進階
高級進階必備的一些技術。像移動開發架構項目實戰等
Android前沿技術;包括了組件化,熱昇級和熱修複,以及各種架構跟框架的詳細技術體系
以上即是我們整理的Android高級工程師需要掌握的技術體系了。可能很多朋友覺得很多技術自己都會了,只是一些新的技術不清楚而已。應該沒什麼太大的問題。
而這恰恰是問題所在!為什麼別人高級工程師能年限突破30萬,而你只有十幾萬呢?
就因為你只需補充你自己認為需要的,但並不知道企業需要的。這個就特別容易造成差距。因為你的技術體系並不系統,是零碎的,散亂的。那麼你憑什麼突破30萬年薪呢?
我這些話比較直接,可能會戳到一些人的玻璃心,但是我知道肯定會對一些人起到點醒的效果的。而但凡只要有人因為我的這份高級系統大綱以及這些話找到了方向,並且付出行動去提昇自我,為了成功變得更加努力。那麼我做的這些就都有了意義。
版权声明:本文为[mb612e277c48155]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210920014614056h.html