求推薦初學者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 - RuntimeiOS - RunLoopiOS - BlockiOS - 性能優化iOS - 內存管理UI設計
iOS UI設計 - 設計步驟
UIKit
iOS UIKit - 視圖結構iOS UIKit - Xib/Storyboard
iOS UIKit - Adaptive layoutiOS UIKit - UIScrollView
iOS UIKit - UITableViewiOS UIKit - UICollectionViewiOS UIKit - UINavigationController
iOS UIKit - TabBarControlleriOS UIKit - 手勢處理
iOS UIKit - 鍵盤處理iOS UIKit - 通知機制QuartzCore
iOS QuartzCore - 2D繪圖iOS QuartzCore - CALayeriOS QuartzCore - Core Animation數據存儲
iOS 數據存儲 - PlistiOS 數據存儲 - NSUs erDefaultsiOS 數據存儲 - NSKeyedArchiver
iOS 數據存儲 - SQLite3iOS 數據存儲 - Core Data網路
iOS 網路 - NSURLSessioniOS 網路 - AFNetworking 3.0多線程
iOS 多線程 - NSThreadiOS 多線程 - NSOperationiOS 多線程 - GCD第三方庫
iOS 第三方庫 - FMDBiOS 第三方庫 - SDWebImageiOS 第三方庫 - MBProgressHUDiOS 第三方庫 - FastCodingiOS 第三方庫 - MJExtensioniOS 第三方庫 - MJRefreshiOS 第三方庫 - MasonryiOS 第三方庫 - 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_技術學習教程然後接下來學習界面,使用第三方庫,cocoapodsSwift 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開發 |