如何成為一個iOS開發人員

來源:互聯網
上載者:User

標籤:

如果你想知道如何成為一個專業的iOS開發人員,這個清單就是我建議你要做的。我會從我作為5年的iOS顧問、8年的軟體開發人員以及一個HR——我在最近3年內僱傭了幾個iOS開發人員來處理我無暇顧及的工作——的經驗來說明。這些是當我僱傭一個iOS開發人員時會考慮的。這裡的清單很重要,是一步一步遞進的,在某些情況下,前一步甚至是後一步的必備條件(即必須的)。

1.學習軟體技術

有很多描述軟體構建方式的術語。我說的是技術,與術語是不相干的。你應該知道如何很好地構建軟體——如何很好地開發它、測試它、調試它以及如何在最低限度上進資料列版本設定。如果你仍然對這些實踐不太熟練,那就該學習了,在開始之前,我推薦閱讀一下The Pragmatic Programmer。

2.學習如何使用版本控制

版本控制非常重要,所以我提了兩次。對,它是軟體技術的一部分,同時它也足夠重要到單獨說明。如果你計劃和其他iOS開發人員一起工作(即使你不打算),你絕對需要知道如何使用版本控制。它讓你可以打點,回到以前的某個代碼版本,並解釋為什麼你要做出更改。很有可能你會使用git,現在很多公司都是用的它,但你也可以檢查一下他們使用的是什麼。對於git,你應該知道:

  • 如何建立一個倉庫(repo)
  • 如何複製(clone)一個倉庫
  • 如何提交(commit)和推送(push)到遠端
  • 如何從遠端拉取(pull)與合并(merge)更改
  • 如何檢查你本地倉庫的狀態
  • 如何(以及什麼時候)建立與合并分支(branch)
  • 如何建立標籤(tag)(至少你應該在每次提交到App Store的時候做)

這些是基礎——還有很多你可以用git做的事情,並且你可以(也應該)學習更多的東西。如果你還不知道git,可以從學習try.github.io開始

3.學習Swift或者Objective-C

如果你想要做一個專業的iOS開發,就需要瞭解Swift或者Objective-C(兩個都瞭解最好)。對於一個初級職位,你應該至少要知道文法和大量的基礎架構(對象、集合、資料類型、網路、JSON)。此外,你需要瞭解基礎的面相對象概念,比如對象是什麼、類是什麼以及如何寫一個方法。

你可以在參考the Beginning Swift course構建你的第一個Swift app時學習網路、JSON等等。或者你可以通過How to build a hybrid iOS app開始學習Objective-C。

而且你可以在iOS Boot Camp中學習任何你需要知道的關於Swift的內容。

4.學習iOS

如果你想要成為一個專業的iOS開發人員,你就不得不瞭解iOS。這表示你需要對如何做下面的事情有一個好的理解:

  • 構建視圖(使用Storyboard、xib或者純程式碼——三者都瞭解會加分)
  • 通過多種控制來處理使用者互動(按鈕、開發、滑動條等等)
  • 在列表視圖中顯示資料
  • 顯示警告框
  • 在視圖之間處理導航和過渡
  • 顯示圖片、標籤或者文本視圖
  • 整合REST API並理解JSON

你還要知道view controller lifecycle和應用的生命週期

我在What skills would I need for a job as an iOS developer?中擴充了本節的內容,僅僅專註於你找到iOS工作需要做的。並且你可以在iOS Boot Camp中學習到大部分的技能,所以如果你還不瞭解iOS,我非常推薦你學習它。

5.構建一個app

如果你已經構建過一個app了,就已經證明了你知道如何構建一個app。而如果你知道如何構建一個app,對於潛在的僱主來說就比一些說瞭解Objective-C和iOS但卻沒有構建過任何內容的人更有價值。所以通過構建一個真實的app來證明你瞭解你要做的事情吧。

因為你這時候應該瞭解版本控制了,在構建你自己的app時就應該使用它。如果你在一個iOS工程上真實地使用版本控制,就會更加清楚什麼檔案應該忽略而什麼不應該。

6.(可選,但高度推薦)提交你的app到App Store

我說這個可選是因為對一些僱主來說,你可能不需要提交一個app到Apple——可能團隊中有一個進階開發人員來處理或者可能只是把app發布到內部使用。但因為你可能需要發布你未來的僱主的app到App Store,你應該知道其過程。而自己做一遍是最好的學習方法。即使團隊內有一個進階開發人員負責提交app到Apple,也可能有時候你需要登入到iTunes Connext來處理更新的中繼資料、取消一次更新或者其他的事情。做這件事,就可以向你未來的僱主證明你瞭解App Store。

7.申請工作並展示你可以為他們做些什麼

如果你想要專業地開發iOS,就需要申請一份工作。但在你做之前,思考一下:為什麼一家公司想要僱傭你?為什麼公司總是僱傭員工?

知道麼,他們想要從你什麼賺錢。他們想要銷售你的工作然後擷取比在你身上花費的更多的金錢。或者,如果他們準備精簡開支,他們想要保留比花費在你身上的更多的金錢。無論哪種情況,他們都想要通過僱用你來增加他們的利益。

所以你的工作就是說服你未來的客戶/僱主:

  • 你可以按時完成工作
  • 你可以在他們的預算內完成工作
  • 你可以協助他們抵達他們的商業目標(即賺更多的錢)

大部分公司甚至不會問你這個。他們可能會做一個技術面試以及一個性格面試來看看你是否合適並且能協助他們。但如果你明白他們想要從你的工作上賺錢並且清晰地溝通你可以如何做到,你就更有可能被僱傭。向他們展示你的iOS工作是你可以做的一種方式——你在向他們證明你可以完成工作。此外,如果你與一些公司員工有關係並且你可以擷取一些參考或者被你認識的人僱傭,會更容易擷取工作。所以在你繼續提高你的技能和尋找工作時閱讀一下focus on building relationships吧。

本文翻譯自博文How to become a professional iOS developer,也就是如何成為一個專業的iOS開發人員,我覺得要求比較基礎,因此去除了專業二字。從一份建議的閱讀清單看到的,本想看看如何變得更加專業的,不過作者寫的很有條理,也非常注重版本控制系統,比較適合新手吧。

著作權:http://blog.csdn.net/cloudox_

如何成為一個iOS開發人員

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.