小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

淺談iOS架構(gòu)的技能棧

 太極混元天尊 2018-05-20

前言


這里筑夢師,是一名正在努力學(xué)習(xí)的iOS開發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡書記錄下自己的學(xué)習(xí)歷程.


個人學(xué)習(xí)方法分享

iOS開發(fā)學(xué)習(xí)路線

淺談iOS進(jìn)階路線


本文閱讀建議

1.一定要辯證的看待本文.

2.本文僅代表個人片面觀點,如有不同觀點,還往及時指出.

3.本文只闡述學(xué)習(xí)路線和學(xué)習(xí)當(dāng)中的重點問題.需要讀者自己使用百度進(jìn)行拓展學(xué)習(xí).

4.本文所表達(dá)觀點并不是最終觀點,還會更新,因為本人還在學(xué)習(xí)過程中,有什么遺漏或錯誤還望各位指出.

5.覺得哪里不妥請在評論留下建議~

6.覺得還行的話就點個小心心鼓勵下我吧~


目錄

1.技能棧路線

2.iOS架構(gòu)說

3.大、中、小公司的區(qū)別

4.架構(gòu)師思想


為什么我又會開一篇文章,而且又是大致一樣的標(biāo)題,因為我覺得這是不同層面的問題,不同層面的文章,上一篇可以說是我掌握的一些知識的分享,而這篇章完全是在閱讀了APP架構(gòu)師實踐指南這本書有感而發(fā)的.


上篇文章只是單純自己想要提升自己的一個路線總結(jié),而當(dāng)我看到這本書以后,它徹底改變了我對iOS開發(fā)的看法,我突然發(fā)現(xiàn)有很多我本該掌握必備的技術(shù)棧,我并不會,甚至很是陌生,深感自己還有許多東西要進(jìn)行學(xué)習(xí).


這篇文章單純的技術(shù)交流篇,本人深感自己水平尚且不夠,還需長時間的努力學(xué)習(xí),希望本文可以對各個iOS開發(fā)工程師有所幫助,迅速找到自己的定位和不足,及時提升自己.


推薦書籍


本文推薦書籍,均參考于APP架構(gòu)師實踐指南一文.


架構(gòu)之美

人月神話

精益創(chuàng)業(yè)實戰(zhàn)

架構(gòu)師技能矩陣

軟件架構(gòu)設(shè)計Swifter:100個Swift開發(fā)必備TipJava8新特性Java動態(tài)代理機(jī)制分析及擴(kuò)展


技能棧路線


語言語法


Objective-C

Swift


工具使用


IDE

編譯調(diào)試

版本管理

產(chǎn)品設(shè)計

SDK使用


常用模塊


基礎(chǔ)組件

常用業(yè)務(wù)模塊

編譯打包

版本適配

第三方SDK

網(wǎng)絡(luò)庫加密


安全逆向


逆向分析

安全測試

安全建議

  • 混淆簽名

  • 加固加殼

  • 安全編碼


性能優(yōu)化


硬件性能

UI和CPU

內(nèi)存性能

網(wǎng)絡(luò)性能

包Size

啟動速度

代碼優(yōu)化


架構(gòu)和重構(gòu)


組件化和模塊化

UML基本功

設(shè)計模式

接口設(shè)計

架構(gòu)模式選型

重構(gòu)


質(zhì)量和穩(wěn)定


質(zhì)量穩(wěn)定性指標(biāo)

CI和代碼監(jiān)控

Crash

測試

  • 兼容性測試

  • 自動化測試

  • 性能安全測試

  • A/B Testing

  • 代碼覆蓋率


上述架構(gòu)路線從書上整理下來,方便各位查閱學(xué)習(xí).


為了不對原書作者造成侵權(quán),每個技能棧我都將以自己的理解進(jìn)行描述,強(qiáng)烈建議各位讀者購買這本APP架構(gòu)師實踐指南明確自己的定位,提升自己的思想,感受不一樣的iOS開發(fā)觀念.


自我定位


其實并不是因為看了APP架構(gòu)師這本書以后,你就成為一個iOS架構(gòu)師了,而是重點去學(xué)習(xí)它的觀念,一個架構(gòu)的觀念.


本書第一章就可以確認(rèn)自己定位,而僅僅只有7頁.就可以讓我受益匪淺,直接看清自己的不足,和所不會的技能棧.


基礎(chǔ)語法


如果你只會一門編程語言,無論多么精通,仍然顯得不夠優(yōu)秀


確實,即便你只精通一門編程語言,也要進(jìn)行各種語言的了解,不能因為自己不從事相關(guān)的工作,就不進(jìn)行了解學(xué)習(xí),干坐井底之蛙.


例如Swift 和Java的區(qū)別和新特性,即便市面上普遍都是OC,但你至少要做到,和別人提及Swift語言,熟悉不陌生.


不同的語言雖然語法不同,但是其邏輯思想是通用的,也就是說,學(xué)會一門語言,再學(xué)習(xí)另一門語言就比較容易.從而快速提升自己.


關(guān)鍵詞:編程范式,反射、注解、泛型


APP開發(fā)工具系列


  • 編譯工具

  • 編譯調(diào)試

  • 版本管理


產(chǎn)品設(shè)計


  • 生命周期

  • UI設(shè)計

  • 存儲和網(wǎng)絡(luò)


常用模塊


常用模塊則是平常在快速搭建和開發(fā)App當(dāng)中,會調(diào)用一些自己或別人歷史的積累和經(jīng)驗總結(jié)而成的第三方庫或者工具庫.


關(guān)鍵詞:圖片庫,網(wǎng)絡(luò)庫,啟動引導(dǎo)模塊,登錄注冊模塊,運營統(tǒng)計模塊, 編譯打包,版本適配.


組件化、模塊化、插件化


模塊:強(qiáng)調(diào)職責(zé),可實現(xiàn)的單元,其核心是內(nèi)聚和分離


組件:也稱構(gòu)件,強(qiáng)調(diào)復(fù)用.其依賴性比較高.


可以百度進(jìn)行學(xué)習(xí)iOS開發(fā) 組件化,iOS開發(fā) 模塊化.


插件化則是另一種實現(xiàn)方式,其三種方式目的均是為了實現(xiàn)重用和解耦,而插件化則是更注重增量滿足其目的.


設(shè)計模式、接口設(shè)計、架構(gòu)模式


設(shè)計模式是指,在實現(xiàn)業(yè)務(wù)邏輯時,代碼邏輯的目標(biāo)和實現(xiàn)模式,例如:MVP,MVVM,MVC等.


接口設(shè)計的概念卻是主要體現(xiàn)在封裝的概念上,一個強(qiáng)大的庫,其封裝的接口越靈活,越成熟.


架構(gòu)模式本人尚未參透,理解當(dāng)中,還希望各位移步百度進(jìn)行學(xué)習(xí).


這三點,可謂是架構(gòu)的重中之重,一個項目代碼是否高效,是否成熟,都和這三個有著密不可分的關(guān)系.


推薦書籍:


設(shè)計模式精解-GOF23種設(shè)計模式機(jī)械

設(shè)計模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)

大話設(shè)計模式


重構(gòu)


重構(gòu)分為兩種:代碼重構(gòu)和架構(gòu)重構(gòu),大家可以參考重構(gòu):改善既有代碼的設(shè)計進(jìn)行學(xué)習(xí).


代碼質(zhì)量、性能優(yōu)化、安全逆向


目前個人還在學(xué)習(xí)當(dāng)中,就不在此為各位同行們班門弄斧,推薦作者書中推薦的一些好的書籍給大家進(jìn)行學(xué)習(xí).


推薦書籍:


iOS測試指南

大話App測試2.0FaceBook iOS啟動時優(yōu)化25 iOS App Performance Tips & Tricks.

逆向工程核心原理

iOS應(yīng)用安全工方實戰(zhàn)

iOS應(yīng)用逆向工程

iOS安全攻防(二十三):Objective-C代碼混淆

iOS簽名原理


iOS架構(gòu)說


既然說到iOS開發(fā)架構(gòu),不得不再次提及Casa大的文章iOS架構(gòu)談.


這篇文章屬實說,對我個人收益很大,他讓我養(yǎng)成了良好的代碼習(xí)慣,和架構(gòu)目錄,在不同階段看都能在該文章學(xué)到不一樣的知識.


iOS架構(gòu),說遠(yuǎn)不遠(yuǎn),有些iOS開發(fā)工程師,包括外包,產(chǎn)品,可能每天的任務(wù)都是一樣,經(jīng)理提出需求->完成需求.但小型公司,要求不嚴(yán),需要極速開發(fā)App的那種甚至根本不會注重什么開發(fā)細(xì)節(jié).


即便你學(xué)習(xí)iOS架構(gòu),也在當(dāng)前的工作沒有用武之地,也正如大家經(jīng)常說的'學(xué)他干嘛,工作中又用不到'.


架構(gòu)是一個成熟的概念,是每一個開發(fā)工程師都可以進(jìn)行學(xué)習(xí),提升自己的一條路徑,我不知道怎么說,怎么形容,會讓那些覺得無所謂的同僚們進(jìn)行學(xué)習(xí).


我之前并沒有怎么寫過文章,總覺得怎么寫都不能同時兼顧努力學(xué)習(xí)的程序員和程序員勸退師,總覺得和那些人格格不入,又無法改變他們的觀點,索性,還是盡自己努力,幫一些努力學(xué)習(xí)的程序員,共同進(jìn)步吧.


大、中、小型公司的區(qū)別


你會發(fā)現(xiàn),隨著你就業(yè)的公司規(guī)模變化,你進(jìn)入的公司越大越知名,其公司內(nèi)部的規(guī)范,要求,架構(gòu)都會越來越成熟,邏輯性更明確,業(yè)務(wù)邏輯針對性更強(qiáng).


其開發(fā)周期固定,效率和業(yè)務(wù)產(chǎn)出也都各不相同,但自己是否能夠真正適應(yīng)其本身的工作強(qiáng)度,值得令人深思.


大公司的開發(fā)模式,和其內(nèi)部的代碼文化都是能夠讓程序員快速成長不可或缺的一部分.


就比如說我,讓我現(xiàn)在進(jìn)入一家大公司就業(yè),我可能完全是個小白,什么是工程化,什么是加密,分布式存儲又是什么,異步處理高并發(fā)等等.


大型公司的架構(gòu)模式,組件化,模塊化,團(tuán)隊開發(fā)模式,迭代策略,一直都是我想學(xué)習(xí)的東西,所以我要努力學(xué)習(xí),盡量讓自己配的上可以在大公司工作的機(jī)會.


如果自己不努力,即便這個機(jī)會擺在你的面前,恰巧你又面試進(jìn)了大公司,你都會因為實力不足失去這份工作.


不要安于現(xiàn)狀,根本不會有上面的恰巧,每一個面試進(jìn)BAT大公司的人都不是碰巧面試進(jìn)去,而是精心準(zhǔn)備的必然結(jié)果.


有機(jī)會,我一定要去大公司工作進(jìn)行學(xué)習(xí).


架構(gòu)師思想


加入過一些群,交流過想法,很多人都調(diào)侃自己是碼農(nóng),另一個便是架構(gòu)師的角色,我個人覺得從碼農(nóng)轉(zhuǎn)變?yōu)榧軜?gòu)師,就是從用語言到理解語言、拓展語言的一個思想轉(zhuǎn)變.


如果你只是單純的使用語言完成業(yè)務(wù)需求,只思考自己的業(yè)務(wù)棧,那便是碼農(nóng).但如果你去思考,怎么用,為什么用,怎么組合更好,那便是架構(gòu)師思想了.以整個項目的開發(fā)觀念去看待自己個人的業(yè)務(wù)邏輯如何實現(xiàn),怎么實現(xiàn)更高效,那么你就正在向架構(gòu)師轉(zhuǎn)變.


很多人都說過我,想的真多,你這都是虛的.你終究是碼農(nóng).我不予評論,我心里只想默默努力,提升自己的水平,完成自己的轉(zhuǎn)換過程.


你是否有想過,你到底是在開發(fā)一款應(yīng)用,還是在像一名流水線員工搬運代碼,完成績效?


總結(jié)


本文是讀APP架構(gòu)師一書有感而發(fā),其本意希望各位同行的iOS開發(fā)工程師,一起學(xué)習(xí)共同進(jìn)步.如果有什么錯誤,還請及時指出,我會及時修改.謝謝


結(jié)束語


如果您對這篇文章有什么意見或者建議,請評論與我討論.

如果您覺得還不錯的話~可以點個喜歡鼓勵我哦.

如果您想和我一起學(xué)習(xí),請毫不吝嗇的私信我吧~

介個是我的個人博客,歡迎參觀哦~


作者:筑夢師Winston

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多