[譯] 若是隻有一個月入門 iOS:我該如何學習呢?

若是隻有一個月入門 iOS:我該如何學習呢?

圖片來源:unsplash.com/@firmbee html

直到去年,我一直都在從事 Android 平臺的開發。當時,我對 iOS 開發沒有任何的概念,甚至歷來沒有用過 Apple 的產品。但這一切都是過去式了,如今我已經可以同時進行 iOS 和 Android 應用的開發了。android

今天再回顧過去的學習時光,我想分享一個由我本身總結出的一個月入門 iOS 開發的課程大綱。
依我我的的經驗,我很是推薦 Android 開發者學習 iOS 應用開發。儘管這聽起來怪怪的,但別誤解我。由於:普遍地涉獵可以讓你在本身的領域有更深的看法。ios

「若是你作出了些成果而且收效不錯,那麼你應該投入到創造下一個美妙的東西中去,不要在已有的成果上沉浸過久。弄清楚下一個目標就是了。」 - Steve Jobsgit

回到正題,就從我本身制定的一個月學習計劃講起,放心,文中全部的資源都是徹底免費的。github

Swift 入門

你固然也能夠學 Objective-C 但我強力推薦你學習 Swift。它很是的友好而且易於上手。(譯者注:國外的 Swift 氛圍相對較好,若是是國內的話請仔細斟酌首學語言)編程

我第一個訪問的網址就是蘋果官方資源。通讀那些基本概念並跟着文檔在 Xcode 中進行實踐吧。swift

除此以外,你也能夠試試 優達學城的 Swift 學習課程。儘管網站上說你大概要花三週時間進行學習,但其實你幾天(天天幾個小時)你就能夠完成那些課程了。設計模式

我大概花了一週時間學習 Swift。而若是你的時間充裕,也能夠看看下面的資源:服務器

用 UIKit 來繪製應用界面

接下來讓咱們看看有趣的視覺部分。UIKit 能讓你的程序在 iOS 設備上進行展現和交互。聽着不錯,不是嗎?網絡

當時我在優達學城上搜索相關的免費課程,我還真找到了 - UIKit 基礎課程

起初,iOS 的 Auto Layout 讓我頗感困擾。由於在開發 Android 應用時,我都是經過 xml 文件來實現界面並視覺檢視的,幾乎歷來沒有用過拖拽擺放(drag-and-drop)的方法。但在 iOS 上,這個過程徹底不一樣。
在花了一些時間去實踐、理解 Auto Layout 的機制以後,我發現我學到了一些平常 Android 設計風格以外的新東西,這太棒了。

除此以外,你還能夠在 Xcode 的 Storyboard 中簡單地拖動、鏈接兩個視圖(screen),就能完成視圖轉場,而在 Android 這隻能由代碼完成。

你能夠探索的特性還有不少。

另外,你還能夠在 Raywenderlich 的 iOS 目錄 下的「Core Concepts」板塊找到更多有關 iOS UIKit 的教程。

理解 iOS 的數據持久化

當你熟悉了 UIKit 以後,你就能夠向用戶展現數據並從他們那獲取數據了。很棒吧。

下一步就是將數據存儲起來,這樣即使應用關閉了,用戶下次使用依然能夠獲取到這些數據。這裏個人意思是將數據存儲在用戶的設備上,而不是遠端服務器。

在 iOS 應用中,你有如下幾個選擇:

  • NSUserDefaults : 一種鍵-值形式的存儲,與 Android 中的 SharePreferences 類似
  • NSCoding / NSKeyed​Archiver : 將兼容的類與數據表示互相轉換,並存儲於文件系統(File System)或 NSUserDefaults 中
  • Core Data: iOS 的功能強大的框架
  • 其它: SQLite,Realm 等等。

儘管當下許多 iOS 開發者都更願意使用 Realm 而非 Core Data,但我仍是推薦你學習 Core Data,由於它是 iOS 官方的持久化框架,當你理解了它的核心架構和實現方式後,你將如虎添翼。(譯者注:關於 SQLite,Realm 仍是 Core Data 的爭論一直沒有停過,建議初學者都瞭解一下,根據實際項目須要進行選擇)

我所參看過的資源包括:

利用 iOS 網絡鏈接來與世界互動

咱們生活在互聯網時代,因此你的應用理應可以與外界互聯並與他人進行數據交換。讓咱們進入下一課:iOS 網絡鏈接。你要學習如何使用 iOS 中的 REST API(譯者注:REST - REpresentational State Transfer)。在這個階段,請你必定不要使用第三方的庫。讓咱們用 iOS 內置的框架來完成這部分的內容。

在往後的開發中,你將有許多使用諸如 Alamofire 這樣酷炫的 http 網絡庫的機會,但咱們如今是在學習呢。在嘗試那些高深的東西前,咱們要先了解官方提供的基礎知識。

我推薦以下的課程和教程:

創造屬於你的美妙應用

「瞭解是不夠的。咱們必須運用」。 - Leonardo da Vinci

在進行完上述的學習以後,你已經有豐富的知識儲備了。你能夠用 Swift 編程,用 Storyboard 和 UIKit 來構建 iOS 應用界面,在本地設備存儲數據,並利用 iOS 網絡鏈接來於外界交換信息。

太棒了大兄弟。放手去實現任何你想到的東西吧!

咱們開發者,創造又酷又富有價值的工具來讓這繁複的世界變得簡單。因此,你能夠試着作一個改進你平常生活的應用,幫助你的家人,甚至是解決全球性問題。最後,我建議你將應用發佈到 Apple Store 上。這將給予你正反饋並有助於你堅持下去。

三年之前,我在學習了 Android 一個月後,在 Google Play 發佈了個人第一個 Android 應用(是一個做筆記的應用)。一年前,我一樣在自學一個月後在 Apple Store 發佈了個人第一個 iOS 應用(一個天氣應用)。它們一開始都簡單粗糙,但卻時刻激勵着我繼續前進的腳步。

我打賭你能作得比我更好。因此,讓咱們去創造一些值得向世界炫耀的東西吧。

注意: 你能夠經過 Google 搜索到許多其它優秀的資源。上文中提到的教程和課程僅僅是個人我的推薦。

但願這篇文章可以給你帶來幫助。

相關文章
相關標籤/搜索