標籤:

求推薦初學者iOS開發APP學習參考書,目標兩個月內開發一個成熟的APP?


初學者是吧,那我就當零基礎了,但基本要求是打字速度快,指法正確。OC也就不學了,直接swift,所謂的成熟App,那估計資料庫和網路方面的知識也不能少。假設樓主聰明好學,無師自通,英文毫無壓力。

1. swift編程語言基礎, 官方英文版,大概36章,裡面有難有簡單,假設平均每2小時搞定一章,且過目不忘,那72小時。

2. 數據結構,基本演算法知識了解一下40小時。

3. 資料庫相關知識,可以結合iOS的Core Data一起看,30小時。

4. 網路HTTP相關知識,結合學習NSURLSession或者Alamofire,20小時。

5. 設計模式,OOP相關知識,這裡要紮實點,100小時。

6. iOS SDK和Xcode的使用,比如Storyboard,UIViewController, UITableViewController,反正就是最最基本的東西,給你打個折 80小時。

7. 既然是成熟的App,那多線程相關知識不能少,CoreData在多線程環境下的使用和遇到的坑總的算來,差不多要30小時吧。

以上是基本要求,算一下總共372小時。算比較樂觀的,我還看見過新手光配置個Xcode都配置了一周還沒搞定的,不過題主這麼聰明,會上知乎來提問,我覺得應該沒問題。下面開始開發啦!假設項目需求和UI/UX都已經有了,並且都是一流的產品經理和設計師搞定的,沒有任何疑問的地方。

1. 打開Xcode,你會先迷茫2小時,不知如何下手

2. 終於弄了一個界面,在模擬器上跑起來了,4小時

3. 界面邏輯終於實現了,48小時

4. 一共有大大小小20個界面,每個界面平均24小時,總共 480個小時,再加上一些底層數據處理的功能,湊個整數 500小時吧。

5. 終於差不多開發完了,開始測試吧,閃退,閃退,還是閃退,一共10個不同的閃退,其中8個每個花1小時解決了,另外兩個實在搞不定,知乎到處問也沒人回答,最後終於託了朋友的朋友的朋友的關係幫忙解決了,48小時,總共56小時

6. 接下來是大大小小的各種問題,界面細節調整,誰讓題主是這麼關注細節的人呢,一定要做成熟的App,改過來改過去,發現改了這裡,那裡又壞了,改了那裡,這裡又不對了,最後終於把代碼改成了沒人能看懂的火星文,總算是解決了大部分問題,100小時吧

所以開發過程一共多久?708小時。

學習和開發一共 708+372=1080小時 (正好是一個高清的數字,題主按照這個計劃,應用質量肯定高)

幫你算一下,兩個月不吃不喝不睡一共 24*61 = 1464小時,還多出來384小時,每天還有6個半小時的時間休息啥的,足夠了!題主加油吧,我看好你哦!

至於看什麼書,蘋果官方文檔就可以了。寫得比所有書都好。

===================

怕誤人子弟,真有人連續每天工作18個小時,到時候別猝死了上新聞,我這裡再來計算一下正常的時間。

上面的1080個小時是全神貫注的高效率的工作和學習,但是大家知道這個是不可能的,人的狀態有好有壞,有過年放假的時候,有撩妹開房的時候,有啥事情都不想做,只想發獃的時候。就算是在工作的時候,你也不可能保證100%的效率,估計能有70%不錯了。所以這麼算來,真實的時間可能是1080/0.7 = 1542個小時,算上周末和假期以及約會,平均每天工作5小時。一共就需要308天,湊個整數,一年了。這個一年中,iOS 10出來了,swift的3.0版本也要出了,已經是熟練工的你,這個估計也要學習一周到兩周左右。

還有一個就是關於成熟App的定義,我有10年的開發經驗,最近4年都是在弄iOS開發和Web開發。自己做的應用也進過App Store首頁熱門榜單。但是,自知斤兩,每天都覺得自己做得還不夠,離目標有很大的差距,到現在,我都不覺得我做的App可以算是成熟。

現在很多人都抱著一個錯誤的想法,看到熱錢都往互聯網擁,覺得自己聰明伶俐,稍微花點時間必然能一勞永逸,走上人生巔峰,迎娶白富美。導致抱著速成的想法去做任何事情,但寫代碼真心沒有速成,你現在初期偷懶省下的時間,以後早晚要還。一輩子都需要學習,一輩子都學不完,而我選擇這行也正是因為這點吸引我。如果你只想速成,然後拿高工資,而不是真心喜歡的話,那還是算了吧。

所以問題中的「兩個月」以及「成熟App」看上去有那麼點扎眼。有些事情急不得。


這真是個浮躁的世界啊...

怎麼在兩個月內把托福從 60 分提高到 100 分? - 英語

如何在三個月內用 1 萬塊賺到 5 萬塊?成功率有多高? - 生活

學渣如何在五個月內找到一個好工作? - 程序員

人可能在短時間內各方面都得到大幅提高嗎? - 生活

如何在豆瓣迅速走紅? - 戀愛

怎樣把 20 萬在一年內變成 100 萬? - 歷史

目前月收入6k,如何一年內快速突破3萬這道坎? - 經濟


成熟?給你2年也未必夠呀。


兩個月能寫出APP的,按照下面的去學吧,第三方庫基本都是一句代碼,理解不了就先記住吧。有富餘的時間還是打一下數據結構,操作系統的基礎。

關於View的,Storyboard,Xcode最好是找視頻看一下。

try everything,be yourself

基礎

iOS - Runtime

iOS - RunLoop

iOS - Block

iOS - 性能優化

iOS - 內存管理

UI設計

iOS UI設計 - 設計步驟

UIKit

iOS UIKit - 視圖結構

iOS UIKit - Xib/Storyboard

iOS UIKit - Adaptive layout

iOS UIKit - UIScrollView

iOS UIKit - UITableView

iOS UIKit - UICollectionView

iOS UIKit - UINavigationController

iOS UIKit - TabBarController

iOS UIKit - 手勢處理

iOS UIKit - 鍵盤處理

iOS UIKit - 通知機制

QuartzCore

iOS QuartzCore - 2D繪圖

iOS QuartzCore - CALayer

iOS QuartzCore - Core Animation

數據存儲

iOS 數據存儲 - Plist

iOS 數據存儲 - NSUs erDefaults

iOS 數據存儲 - NSKeyedArchiver

iOS 數據存儲 - SQLite3

iOS 數據存儲 - Core Data

網路

iOS 網路 - NSURLSession

iOS 網路 - AFNetworking 3.0

多線程

iOS 多線程 - NSThread

iOS 多線程 - NSOperation

iOS 多線程 - GCD

第三方庫

iOS 第三方庫 - FMDB

iOS 第三方庫 - SDWebImage

iOS 第三方庫 - MBProgressHUD

iOS 第三方庫 - FastCoding

iOS 第三方庫 - MJExtension

iOS 第三方庫 - MJRefresh

iOS 第三方庫 - Masonry

iOS 第三方庫 - ReactiveCocoa

設計模式

iOS 設計模式 - 單例模式

iOS 設計模式 - 代理模式


很遺憾的告訴題主,移動開發行業,初學者已經沒辦法通過兩個月的學習來達到做一個「成熟」APP的用人標準了,特別是iOS方向。

如果是公司想做iOS項目,題主主動或被動的接受了這個任務。那還可以討論。

單獨一個高級iOS開發人員兩個月也勉強,如果包括需求確定,UI評審,開發,測試及上線的話。嗯,成熟的APP,不是一拍腦門想做就能做的。另外,後端的功能和介面能保證時間節點么?

但是如果題主之前做過三年以上Android或前端,或五年以上Java開發,或8年以上其他開發(只是打個比方,勿認真)。再加上靠譜的團隊,也是有可能實現的。


我學了半年了…

也是零基礎,本來打算我這樣的智商和有編程基礎的應該半年差不多了…

不過,現在每天開電腦都有種想合上電腦的心情,,,


首先,我不想嘲諷你,因為你可能智商比愛因斯坦還高.

嗯,祖國的希望不能抹掉.

先說零基礎學習

姑且認為你是某大學工科或者理科生,C肯定會的

C++ 或許也很牛逼

數據結構你也選修了

操作系統,通信你一看就差不多回了

好的,可以學習OC了

我擦,好簡單

創建對象

對象調方法

沒了..

恭喜你,可以做一個簡單的APP了

但是不能只寫一個 hello world 不是?

繼續for

大量的實例

界面很豐富了..

成熟的APP 需要數據

用個第三方吧 -- AFNetworking (假設原型圖,切圖,伺服器已配好)

嗯,很簡單,還是對象調方法

用戶註冊上傳頭像?

簡單,用七牛sdk吧

command + B

尼瑪,怎麼一直報錯

尼瑪,怎麼一直報錯

尼瑪,怎麼一直報錯

還沒優化性能

緩存怎麼辦?

卡頓怎麼辦?

我擦,代碼怎麼這麼亂

這個132*5+963%n*(96/m +n)什麼鬼

忙碌了一個月

尼瑪 我是天才 一個月就解決了

------------------------------------

上線了 --- 一個月成熟的APP(企業賬號)

------------------------------------

嗶~~

4s怎麼顯示半截+崩了

5s怎麼按鈕沒了+崩了

6s+怎變成橢圓啦

卧槽,跑起來內存900M+

---------------------------------

刪了,重新寫


我來說說我的學習過程吧。

先背景介紹:二本學校IT專業,在學校主修課程Java 數據結構 演算法等基礎課程,還上過Android開發。

暑假的時候加入項目組,自學iOS開發。

用兩天時間在慕課網上學習swift基礎語法。

玩兒轉Swift_技術學習教程

然後接下來學習界面,使用第三方庫,cocoapods

Swift Weather APP_技術學習教程

學習完以上的,就可以開始構思你想做的東西。

使用Swift開發iOS8 App實戰

還有這一個 各種ViewController的用法 頁面跳轉什麼的基礎都有。

然後還可以上github上面看看項目中需要哪些庫

比如網路請求 Alamofire

Json解析 SwiftyJson

圖片緩存 Kingfisher

最重要一點,是多交流!多交流!多交流!

沒有交流是不會有進步的。

第一次回答專業上的問題,寫得不好。請諒解。


自己也在自學中,談談自己走的彎路吧

1 重視英語 ,沒有英語你將寸步難行。

2 認準一個資料,強烈建議入手英語資料,具體什麼資料,網上有,自行解決。

3 去學,去搜索,不要用時間來衡量,如果人人都可以兩個月做出一個成熟的APP,那你覺得這個行業是不是太沒勁了?

想好了就去做。期待兩個月的你還在iOS的開發道路上


題主首先要能一口吃成一個胖子。


重要的事情說三遍:

無論學不學swift,一定要學習oc


一定要先學OC ,,,


個人不建議直接swift,要走入這條路最快的捷徑就是工作機會,工作中可以學習到什麼才是市場需要的我,學習到什麼才是符合生產的正確學習路線,而如果不是演算法基礎比較強而校招就能bat的,單一swift ios開發者能得到的工作機會幾乎是沒有。基礎的數據很多,多學習多實現,編程成長本來就是一條目標很明確的路線,有了目標哪有路是走不了的呢


他們所說的傳統方法的確非常麻煩,一般APP開發都應該需要應用與Android和IOS兩個平台吧,如果能把Android、IOS開發都精通了,我恭喜你,你已經是頂尖人才了,年薪絕不低於幾十萬,估計你付出的努力已經讓你吐血了,另外你的毅力可以說得上驚人了,還有就是你的年紀應該不小了。另外,就現在的科技發展速度而言,你從零開始到真正精通這種開發方式,按照他們所說的需要動輒多少個年頭的學習,等你學會了,你能保證IOS還是最主流的平台嗎?有可能都白學了。

所以我個人認為:在這方面的學習上,我們應該有個明確的目的,而且始終」勿忘初衷「,我們的目的無非是製作一個APP,只要能製作出APP就OK了嘛,找個好學的、製作軟體跨平台的開發工具,一次OK!

為你推薦一個新開發的跨平台的工具:Lae

你可以在知乎上找找介紹,這個容易學,而且跨平台,開發速度超快,也沒那麼高的技術能力要求。希望能夠幫到你。

光是需要學習的目錄都列了一大版,我看著真心害怕,呵呵。


建議不要去學了,畢竟移動端開發現在還屬於小眾市場,以現在培訓機構輸出的速度,市場飽滿是遲早的事,如果真是0基礎,建議學前端,學習成本低,要說前景,我還是看好html5,和java(0基礎建議不要學)的。


推薦閱讀:

遊戲開發中的一個小問題(設計模式)?

TAG:iOS開發 |