移動開發必讀書單

發表於2016-05-05

為什麼要列這一個書單?我認為某一領域的技術人,在他的職業生涯中,一定有一些繞不過去的技術和非技術的知識。有的時候,靠自己摸索、到處偷師,倒也能掌握。但是,這些別人早就趟過去的坎,大多已經有了非常棒的書籍作為總結。看了這些書,腳下的路就要平一些。這個書單,就是為了找到移動領域的這些書。

這些書籍都是移動前線群裡推薦的,都是他們自己讀過,甚至是反覆讀的書。如果你對這些書有什麼看法,歡迎發表意見,或者添上你覺得認為必須的書。

這個書單也不會一成不變,歡迎大家的增補修改。

計算機基礎

程式是怎樣跑起來的
推薦理由:類似深入理解計算機的圖解版本,如果第一次看深入理解計算機看不進去,可以先看看,瞭解個大概,再看深入理解計算機這本就容易很多。

深入理解計算機系統
推薦理由:瞭解一個程式的編譯、連結、執行過程,以及虛擬記憶體是如何分配等。

通用程式設計

演算法(第四版)
推薦理由:難度不及《演算法導論》,但是更適合工程領域,導論恐高症患者的福音。

程式設計珠璣
推薦理由:程式設計珠璣這本書推薦給有程式碼基礎的小夥伴,推薦理由是書裡會有一些優化和演算法基礎的思想,適合入門之後的進階,對優化和演算法能夠有一些基礎的認識。對程式設計師寫出優質而高效的程式碼比較有幫助,至少我個人閱後感受如此。

設計模式之禪
推薦理由:讀完,通俗易懂,更深刻理解物件導向和麵向介面。
注:設計模式這幾本書難以取捨,選一本讀即可。

大話設計模式》,《大話資料結構
推薦理由:都是菜鳥和大牛的對話模式,看著不枯燥,內容也很全。
推薦理由2:推薦初級程式設計師看<大話設計模式>,這本書有個好處是他是演進式的,雖然內容很簡單,看完也沒辦法直接指導到開發上。但是會有一種恍然大悟的感覺,原來這就是設計模式。比起四人組的設計模式,太過於專業的說明和定義,對於初級開發人員來說,往往無法消化甚至牴觸。回到大話設計模式,將實踐和故事相結合,即讓設計模式接了地氣,又引發自己的思考,我怎麼可以改造既有的專案。同時作為入門書籍,看完後你會更渴望更專業的設計模式的內容也算是這本書的一個意義。總結就是,一本非常入門接地氣的設計模式書籍。

Head first 設計模式
推薦理由:漫畫形式的以對話為主,都是從生活中的小例子入手,更理解一句話了:萬物皆物件。

構建之法
推薦理由:一本有趣的軟體工程書,新手哪知道什麼是軟體工程。書裡描述了作者在的團隊遇到了哪些問題,如何正視,怎樣改善,不斷改進。理論和實踐相結合。面向實戰。講述軟體工程中不同角色的作用。看完後可以幫助新手更好地理解軟體開發是怎麼個回事,更快地走向成熟。

程式碼大全
推薦理由:程式碼大全全面講述了工程實踐的要點,深入每個細節。可以幫助新手擴充視野,熟悉規範,也可以在學習一些概念或技術時當做字典查。總之程式碼大全的英文名code complete很能說明問題:幫助你完成整個編碼活動的全過程。

程式碼整潔之道
推薦理由:這幾天在看,講解詳細,有提供示例,可以提高自己編碼素質。

圖解http
推薦理由:做網路程式設計必須要懂的基礎書,看這本書對做網路快取和網路效能優化都有不小的幫助,最主要是書內容深入淺出 圖文並茂,通俗易懂。

單元測試的藝術
推薦理由:由淺入深地介紹了單元測試的各方面知識,告訴我們如何寫好單元測試,如何寫易於測試的程式碼,如何處理遺留程式碼等問題,有理論有案例。

修改程式碼的藝術
推薦理由:詳細講解重構技巧的書,教你怎麼處理各種遺留的爛程式碼,非常詳實的重構操作手冊。

iOS開發

Effective Objective-C 2.0
推薦理由1:這本書很適合初學者,能幫助初學者一開始就打下比較規範的基礎,裡面講了很多規範。讀了這本書能讓初學者少走很多彎路。
推薦理由2:精煉,針對性強,對一些生僻容易懵圈的知識點講得比較細。

iOS程式設計實戰
推薦理由:尤其推薦小公司的沒有系統學習過iOS的同學看,實戰和自己閉門造車完全兩碼事,這書不是教人這個api怎麼用,而是應該這樣用。

Objective-C高階程式設計 iOS與OS X多執行緒和記憶體管理
推薦理由:這本書給我帶來的最大價值是:要讓自己對一項技術有全面的認識,光從官方文件、開原始碼中尋找答案並不夠,還要會用各種工具來驗證自己的想法。可以看出作者對技術非常嚴謹的態度,雖然偶爾有些翻譯並不容易讓人理解,但真的是一本進階型的書。

iOS程式設計(第4版)
推薦理由:作者之一Aaron Hillegass曾就職於NeXT公司和Apple公司。 書涵蓋了初級到中級的,書中在講到第一次出現的知識點的時候,通常會簡要的解釋一下,所以初學者很容易上手。缺點是這書有點老,但OC的基礎知識講解的很紮實。

Swift Apprentice
推薦理由:這本書的優勢就是從淺入深,抽死剝繭,從最基礎的知識帶領你到函式程式設計奧義的天堂,充分的例項,全英文,免去你被中文版帶溝裡的風險,相信這本書能告訴初學者swift2為什是大勢所趨,為什麼swift2即是物件導向程式語言又是函式程式語言。

Swifter – 100 個 Swift 必備 tips
推薦理由:比較偏幫助手冊類的tips,雖然沒有講Swift比較深入的,但對前期學習Swift梳理與Objective-C及混編有很大幫助。

iOS應用逆向工程 第2版》推薦理由:iOS應用逆向最有價值參考書籍,內容涵蓋多個例項,闡述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂;總結提煉出一套從UI觀察切入程式碼分析的iOS應用逆向工程方法論,激發iOS開發人員對應用安全的思考,把主動防禦的思想滲透到專案開發中。

Android開發

第一行程式碼:Android
推薦理由:我剛剛大體看了一遍 ,這本書學完之後完全足夠入門,而且不會令初學者感到枯燥。在入門階段還可以作為工具書不斷去翻閱,不同時期會有不同的感受。 裡面打小怪獸升級的旁白,現在回過頭看還確實挺有趣的。

App研發錄
推薦理由:研發輔助類,包含了異常的分析,競品分析和專案管理,書不厚,但是有些能增加知識的廣度。

Embedded Android
推薦理由:從底層講解android系統的機制與設計,比較適合具有一定經驗的開發者,屬於進階書籍。

Java併發程式設計實戰
推薦理由:通過java現成的併發工具類介紹和例項,深入淺出的說明如何安全地進行多執行緒操作和優化。

Android.C++.with.the.NDK
推薦理由:android jni入門與提高,系統講解android jni的編譯、提供的介面、java jni的通訊方式等,對於需要學習jni開發的同學是必讀,畢竟jni文件缺乏。

《Android開發藝術與探索》
推薦理由:主要講一些原理,主要學習為什麼這麼用,以及原始碼解析說明。

深入瞭解JVM虛擬機器
推薦理由:這本書對了解底層機制很有幫助,是進階必選。

Java程式設計思想
推薦理由:Java程式設計思想是Java聖經,要有一定經驗去看效率才不錯。

人文類

《程式設計師的職業素養》推薦理由:從企業,團隊,技術,自身等各個角度闡述了作為一個專業的程式設計師應該如何去做到更好,不卑不亢,不投機取巧,樹立非常正能量的價值觀,舉了很多工作學習中經常碰到的案例,讀完相見恨晚。書不是太厚,個人淨閱讀時間在10小時左右。

在人生拐角處
推薦理由:很多程式設計師對於自身的職業規劃並沒有,所以這本書就是幫助你化解你的迷茫,做好職業規劃,裡面是生涯規劃師寫的案例,都很貼近生活,適合不知道自己該怎麼走下去的人看。

程式設計師健康指南
推薦理由:本書是為了程式設計師量身訂造的健康指南,針對頭痛,眼部疲勞,背部疼痛和手腕疼痛等常見問題,簡要介紹了其成因,測試方法,並列出了每天的行動計劃,從運動,飲食等方面給出詳細指導,幫助程式設計師在不改變工作方式的情況下輕鬆擁有健康。

重新定義公司 How Google Works
推薦理由:一分理論三分實踐相結合,告訴你網際網路公司運作的合理方式。亮點是針對理論有 Google 實際的實行方式,也有多個 Google 內部專案成長的曲折過程,還有谷歌退出中國的內部爆料。

黑客與畫家》推薦理由:非常有深度的一本書,作者在經濟,社科,歷史,等很多方面都很有自己的見解,更不用說技術和創業了。書中很多觀點有準確的例證引用,讓人信服。

Rework》推薦理由:一句話:太讚的一本書了!!!創業者必讀!當然,不創業的人也能從中得到非常多的insight。作者是37signals.com的兩個創始人,其中之一還是Ruby on Rails的creator。講的是創業中需要注意的一些事情,但這些事情不僅僅是創業中才需要注意的。另外,英文原版的寫的也很通俗易懂,推薦看原版的。
推薦理由: 這本書本身就是小而美的37Singal自身成長的總結,特別適合小團隊初創團隊,很好的詮釋了“好鐵用在刀刃上”。

Getting Real》推薦理由:37Signals的又一本書,也是第一本,強呼叫一種務實的方式做一個Web app,從產品組隊實現上線推廣各方面的點點滴滴。內容依然很棒,但是跟《Rework》有大量重複的地方,看過那本以後已經沒有那種驚豔的感覺了。也算是知道了為這麼這本書豆瓣評分達9.1, 而那本“只有”8.7了。

程式碼的未來》推薦理由:Ruby發明人Matz的大作,這是一本技術性隨筆,介紹了現代程式設計的方方面面,從lisp巨集到gc技術,再到超程式設計,IPC,多核及雲端計算,NoSQL。。。雖說是隨筆,還是具備一定的技術性的,很多地方要認真的看才看得懂。作者的語氣很謙虛親切,很多地方甚至有賣萌的嫌疑,哈!總之,是一本廣大程式猿增長見識,拓寬視野的極佳之作!

GEB
推薦理由:通過對哥德爾的數理邏輯,艾舍爾的版畫和巴赫的音樂三者的綜合闡述,引人入勝地介紹了數理邏輯學、可計算理論、人工智慧學、語言學、遺傳學、音樂、繪畫的理論等方面。抽象級別比設計模式高上幾個數量級,看懂這本書,不僅是抽象思維上質的提升,對個人也將產生深遠的影響。

效率類

《暗時間》
推薦理由:講的是關於時間管理,告訴我們怎麼學習專業領域技能和非專業領域技能以及我們應該怎麼自我管理性格。

把時間當做朋友
推薦理由:它的理念就是,時間是不可以管理的,最主要改變的是自己的心智!

技術管理

門後的祕密
推薦理由:以場景、對話的方式講解日常基礎技術管理,適合技術人員轉管理的細細閱讀,入門管理實用。

人月神話
推薦理由:管理複雜專案的見解深刻,並有大量軟體工程的實踐。

人件
推薦理由:給技術管理者或者希望走向管理方向的人蔘考。最近在看第二遍,收穫很大。軟體即人件,軟體開發不光要解決技術問題,更重要是人的問題。為何很多工作加班才能解決?公司為何無法留住員工?讀完這本書可以找到一些答案。

相關文章