自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

小白如何晉級入門級iOS開發(fā)者

移動開發(fā)
最近一段時間,我?guī)鸵恍┡笥验_始學習iOS開發(fā),他們要求我列出一些入門iOS開發(fā)所需要了解的內容清單。這對于一篇博文來說似乎是一個很好的主題。沒有費很多精力,我整理了一個清單,介紹了在成為一個iOS入門級開發(fā)者的路上你需要知道的東西(以下順序不分先后)。

[[164559]]

最近一段時間,我?guī)鸵恍┡笥验_始學習iOS開發(fā),他們要求我列出一些入門iOS開發(fā)所需要了解的內容清單。這對于一篇博文來說似乎是一個很好的主題。沒有費很多精力,我整理了一個清單,介紹了在成為一個iOS入門級開發(fā)者的路上你需要知道的東西(以下順序不分先后)。

計算機科學基礎知識

我不認為獲得一個計算機科學博士學位是上手移動應用開發(fā)的必要條件,它應該被歸在"絕對有幫助"的一類,但理解最基礎的數據結構和算法就能讓新手開發(fā)者防止被自己的代碼繞進去。因此,對于初學者而言,我會推薦 在YouTube上觀看哈佛CS50課程 的方法來開始學習,你很容易更上課程的進度而且這些課程看起來也著實有趣。

Swift還是Objective-C?

同樣,我沒有說你必須對這兩門語言的認識要到能夠寫一些博客,或者教課的程度,但你至少應該能夠在不經常查閱語法的前提下用其中至少一種語言來寫代碼。API是一個難題,尤其是在iOS中,框架每年更新,方法經常被廢棄。對我來說在Safari標簽中放入Apple Documentation以便工作中查閱是稀松平常的事情。API的東西多到難以記住全部。你只需要能夠在沒有任何外界幫助下寫一些類、結構體、循環(huán)、函數(類方法和實例方法),以及定義變量和表達式就足夠了。

如今我們處在一個很奇特的時代,雇傭只懂Objective-C的人也是能夠被接受。Swift還很年輕,除非你被一家擁有很多項目更新流轉的公司聘用,否則你仍舊會在大部分時間使用Objective-C做開發(fā)。盡管如此,有很多公司愿意冒險使用Swift(包括我正供職的這家),而且我不認為在你只會Swift的前提下找到一個工作會比較困難。關鍵是你要精于你所選擇的語言,并對另一門語言的了解至少是能夠到看得懂代碼。

框架和API

正如我之前說的那樣,我認為沒有必要記住iOS所有的API,但你應該有一個好的切入點。

  • UIKit (UITableView、UIButton、UINavigationController以及GestureRecognizers)

  • Interface Builder (Storyboards、Segues和奇怪的.xib)

  • 基本數據類型 (NSArray、NSDictionary以及NSString),與之對應的Swift中的類型 (Array、Dictionary 和 String),HTTP API (NSURLSession, 基本的 REST API 概念, 用NSJSONSerialization解析處理JSON)

  • Grand Central Dispatch (GCD、NSOperationQueue)

  • 持久化 (NSCoding、NSUserDefaults和CoreData)

  • 內存管理 (什么是 循環(huán)引用 以及 ARC 基礎)

開發(fā)模式

模式很重要,它能讓開發(fā)更輕松,讓你的代碼更整潔。確保你了解最基本的模式,它們被廣泛使用在iOS框架中,不了解這些你很難在開發(fā)中施展拳腳(還有很多其他的模式,但這些可以作為你剛開始學習的起點)。

  • 代理 (這是很多iOS的API會涉及到的,你必須清楚地理解它)

  • Model View Controller (我不認為Apple在鼓勵使用***的MVC分離上做的足夠出色,但如果你花時間正確實踐它,它會是一個能幫助你提升代碼質量的重要模式。同樣,基本上都會出現在任何面試問題的列表里。)

  • Subclassing (幾乎所有用戶接口都是某個類的子類)

  • 單例 (這個模式絕對被濫用了...請有節(jié)制地使用)

熟悉開發(fā)環(huán)境

這看起來像是顯而易見的,但如果你沒有Mac電腦,去買一臺!如果你沒有iOS設備,去買一臺!如果你沒有使用過或者不熟悉一個設備卻在為它做開發(fā),這會變得相當困難。同樣,沒有Mac電腦來做開發(fā)也會很困難。我的***臺Mac設備是2009款的13寸MacBook Pro配上***代iPod Touch。從低端設備入手是非常合適的。我在這兩個設備上投入了將近1500刀,但從長期看來確實值這個價。

UX/UI

通常來說,UX和UI是設計師負責的內容,但是你應該理解Apple人機界面指南。你需要知道原型和線框圖之間的區(qū)別,并在開發(fā)過程中使用這兩者。

工具

你應該熟練掌握一些常用的開發(fā)工具。

  • Xcode (必須的)

  • Git Source Control (一些公司可能使用的是Subversion或者Mercurial,但git對于你入門來說足夠了。)

  • JIRA 或 Bugzilla (以JIRA為例,你不需要成為使用它的專家,但你至少要熟練到不像***次接觸它時那么恐懼。)

  • CocoaPods (這是一個用來管理依賴和第三方代碼的工具,我從未聽說有不使用這個的公司。)

主見

對iOS、Swift、甚至一個特定的API持有自己的觀點是一個很好的給面試官了解你對某一塊知識理解深度的方式(對iOS、Swift、甚至一個特定的API持有自己的觀點可以讓面試官很好地了解你對某個開發(fā)主題的深入情況。)。這也能讓我們看到你的學習熱情。如果你在一場面試中被問到:"從你的角度如何看待Swift?"答:"還不錯",這并不是正確的回答,你應該告訴他們你對optional的態(tài)度,你是如何使用一個新語言特性的。這里并沒有列舉出很多錯誤的回答,最重要的是要言而有物。

學習檔案

行勝于言。如果你真的很注重一場面試,把你的一些簡單的app整理在一起(如果能在App Store中啟動它們就更好了)。展示獨立完成一個項目讓你的話語更有分量。這是我極力推薦的方式。GitHub也是一個很好的平臺,但如果你展示你的GitHub,盡量讓你的代碼對于那些想測試一下的面試官來說能夠輕松編譯。

我寫了一篇文章關于如何建立一個app portfolio,你可以點擊這里查看。

總結

如果你想要更多的資料來幫助你邁出***步,可以查看我的 iOS開發(fā)者資源 博文,我在里面鏈接了在我學iOS開發(fā)的時候感覺很有用的一些博客和文章。

***加上的一點就是 JUST DO IT!當下iOS開發(fā)者需求量很高,如果你能讓你的技能達到一個不錯的層次,你不會長期處于失業(yè)狀態(tài)。這是一份讓你磨練工程技能和創(chuàng)造力的工作。

我漏掉了什么?通過Twitter (@WestonHanners)讓我知曉。我想用我的資源幫助更多的入門開發(fā)者踏上他們的事業(yè)。

責任編輯:倪明 來源: CocoaChina
相關推薦

2010-09-08 12:45:16

2014-08-08 10:12:44

IRC

2017-01-19 21:45:27

iOS開發(fā)者賬號

2024-05-07 08:45:16

OpenAILlamaIndex大語言模型

2010-09-13 13:58:17

HTML DOM

2010-06-23 10:55:10

FreeBSD入門級命

2011-08-10 10:00:17

iOS 5升級

2021-02-08 12:59:12

Git 控制系統(tǒng)

2015-07-20 09:16:42

iOSWatchKit開發(fā)

2013-04-17 11:18:11

編程語言

2016-05-16 11:00:49

IBM大型機LinuxONE

2023-05-19 10:04:18

Vue開發(fā)者代碼

2025-04-09 08:10:00

AI代碼生成器網絡安全人工智能

2018-07-25 14:01:47

iOS開發(fā)蘋果

2010-08-24 08:58:42

開發(fā)者

2011-12-29 17:09:08

開發(fā)者沙龍

2012-02-13 10:21:11

Skala PreviiOS應用

2010-10-19 11:14:06

2013-12-04 11:00:14

華為存儲入門存儲華為
點贊
收藏

51CTO技術棧公眾號