你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> 小白如何晉級入門級iOS開發者

小白如何晉級入門級iOS開發者

編輯:IOS開發基礎

36.png

  • 原文:How to become a Entry Level iOS Developer

  • 作者:Weston Hanners

  • 譯者:CocoaChina--wamaker的iOS開發之旅


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

計算機科學基礎知識

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

Swift還是Objective-C?

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

如今我們處在一個很奇特的時代,雇傭只懂Objective-C的人也是能夠被接受。Swift還很年輕,除非你被一家擁有很多項目更新流轉的公司聘用,否則你仍舊會在大部分時間使用Objective-C做開發。盡管如此,有很多公司願意冒險使用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)

  • 內存管理 (什麼是 循環引用 以及 ARC 基礎)

開發模式

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

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

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

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

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

熟悉開發環境

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

UX/UI

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

工具

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

  • Xcode (必須的)

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

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

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

主見

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

學習檔案

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

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

總結

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

最後加上的一點就是 JUST DO IT!當下iOS開發者需求量很高,如果你能讓你的技能達到一個不錯的層次,你不會長期處於失業狀態。這是一份讓你磨練工程技能和創造力的工作。

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

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved