10步成為專業iOS開發人員——新手向,從零起步,ios開發人員

來源:互聯網
上載者:User

10步成為專業iOS開發人員——新手向,從零起步,ios開發人員

  想在移動開發大餐中分一杯羹,體驗最火最炫的技術?小夥子,很有眼光嘛

  毫無疑問,移動開發在目前和未來幾年內都會盛極一時。無數開發職位虛位以待。各大公司都在尋找各種層次的程式員——新手級、入門級、中級、老手、專家。 本文是寫給新手們的——我會幫你們找到第一份iOS開發工作。

“我幹嘛聽你的?”,

  你可能會這麼說。是個問題——如果是菜鳥亂給建議,那倒是不聽最好。
我也不是什麼大神,甚至也不算是特別有經驗的iOS開發人員——但我足夠瞭解市場,因此可以對你有些協助。

  最初我是一個獨立開發人員,擁有幾個收入不高(但也足夠讓我實現溫飽而專心做開發)的應用。之後,我作為初級iOS開發人員加入了一家公司,終於能全心全意做應用、甭擔心明天吃啥這種問題了。如果我願意,我完全可以找個公司打工衣食無憂(但可能這並不適合我——我的身體裡流著創業的血液)。

  現在,少說多做——如何才能成為一名iOS開發人員呢?

 1.買一個Mac(如果沒iPhone的話,還得賣個腎)。

  iOS開發需要Mac。

  好吧,其實也能退而求其次(比如hackintosh,或Mac In Cloud),但聽我苦口婆心一言——對於iOS開發人員來說,Mac會是你的主要武器。一般情況下,你無需放血去買最新、最快、最貴的裝置,但好歹得有個叫Mac的東西。當然,如果你是小土豪,想買個好一點的入門裝置,那不妨考慮一下Mac Mini——它可能是性價比最高的一款。如果你和我一樣追求便攜性,那就買Air——特別是它的大屏版。我們也不是非得買新品不可,從eBay上搞個二手貨也是棒棒的。

 2.安裝Xcode。

  現在,當你有了閃閃發亮的全新(好的二手貨也跟新的差不多)Mac之後,下一步就是安裝[Xcode]了,它可是對iOS開發人員而言最重要的軟體。Xcode是開發iOS應用的IDE(整合式開發環境)。它是免費的,你可以直接從Mac App Store下載。現在就去下,別磨嘰!

  你會在Xcode中寫代碼、編輯、在storyboard中“畫”出應用、進行單元測試,等等。你也需要用Xcode來上傳應用到App Store。你得儘可能地熟悉它,因為它是每個iOS開發人員最重要的軟體。

 3.學習編程基礎(可能是最難的一點)。

  現在我們可能到最難的一步了——你需要直接開始編程。如果你有一定的編程基礎,那就可以在Objective-C(難一些)和Swift(簡單一些)當中挑一個,大概也沒那麼糾結——它們基本上是標準的物件導向程式設計語言。但是如果你一行代碼都沒寫過,那也別慌——這有兩個純新手的福利資源:

  4.跟著教程,依樣畫葫蘆

  從這一步開始,你終於要做點有用的東西了。看看這些網站:

  推薦閱讀:

  • 27 places to learn iOS development. Best ones.:不僅為初學者而寫。

  一直跟著教程學做應用,直到你覺得自己運用Xcode和程式設計語言(你所選的Objective-C或Swift)都很熟練了。這時候,我們繼續前進——

 5.著手開發自己的應用

  OK,我們越來越進入狀態了。現在,你要開始開發自己的應用,它將成為你日後面試的法寶。

  別害怕!又不是讓你開發Facebook。咱得從初級職位開始,沒錯吧?在初級職位上,你可以從同事身上大量學習知識。好高騖遠沒用,你不可能一下子成為有五年經驗的專家。

  因此,你應該保持內心平靜,思考一下目前自己最擅長的iOS開發領域是什麼。

  或許你開發過一個網路相關的應用?或許你研究過UIKit,並且很擅長做複雜的使用者介面?再或者你開發過一個音樂播放器應用,喜歡iOS的音頻?你得利用好自己的興趣和知識,以此為開發應用的基礎。要寫出整潔、有風格、運行良好的代碼。

 6.在此期間,希望你能同時盡量多學一點軟體開發的綜合知識。

  你正在閱讀本文,這多少說明了你近期不打算去大學修習電腦。好訊息是!你根本不必去!

  你可以在家開啟電腦,學很多關於電腦科學、編程、軟體工程之類的課程。

  當然,這跟學位還是沒法比的,不過單就iOS開發而言卻已經足夠了。看到上面的圖片了嗎?讀讀上面的文字。我不會把連結拱手奉上——資訊搜尋是開發人員最重要的技能之一。開始訓練。Google是你的良師益友。

 7.完成應用。

  你專心於學習和開發應用,這樣過去了幾天、幾個星期、幾個月……親,你該有一款自己像樣的應用了。應用就是你的簡曆——你必須全力以赴。甚至說,鞠躬盡瘁。公司會希望從你的應用中看到什麼呢?這裡有一些建議:

  • 運行良好的應用
  • 整潔的代碼
  • 代碼結構——小巧的類、合適的變數命名、Xcode中良好的檔案分組,等等
  • 對storyboard的使用(如果你既能用storyboard又能徒手編程寫使用者介面的話,那就碉堡了)
  • 對CocoaPods的使用
  • 一些簡單的單元測試
  • 對第三方庫的使用(例如GitHub上的一些開源項目——這將是一大加分項,因為實際工作中這非常有用)

  順便,如果你正在尋找一些炫酷的iOS開源庫的話,不妨看我另一篇文章:

  • 27 iOS open source libraries to skyrocket your development.:絕對值得一讀。真真兒的。

  當然,一切都取決於你想找什麼樣的工作和什麼樣的公司,但總體而言,學好上述話,走遍天下都不怕。

  OK,現在你有了自己狂拽炫酷的應用。下一步——

 8.在App Store發布應用

  呃,我得說清楚——這一步不是必須的,因為它需要一個開發人員帳號,而這個帳號呢,每年有99美元的費用,這很有可能會搞得你入不敷出。

  發布還是不發布,這是一個問題……它由你說了算。不過,若能成功發布,很多公司都會把它看做是一個大大的加分項。

  在App Store有自己的應用意味著你熟悉應用發布流程,熟悉蘋果對於應用的限制(還真不少),熟悉應用本身之外的發布所需事項(如應用描述、關鍵詞、螢幕、宣傳視頻等等)。

  你可以選擇跳過這一步,但我強烈推薦你能試一下(我的第一份工作應該就是靠我在App Store的應用找到的)。

 9.把應用上傳到GitHub。

  GitHub是一個社交平台,其主要功能就是源碼分享(與之類似但不如GitHub火還有另一個平台是,Bitbucket)。

  你可以在此上傳源碼(可設定為公開或私人),可以在此瀏覽其他人的代碼,還可以為開源項目出一份力。GitHub應用廣泛,即使你一直都是獨立開發,那也可以從中獲益許多——你可以更好地組織代碼,並可以獲得可能是最好的備份。

  但你為什麼要上傳應用呢?很簡單,把源碼給你的面試官看。

  別再用郵件發代碼了,長點心吧,這又不是90年代。

 10.聯絡你中意的公司!

 圓夢時刻到——現在,你已經準備好接受第一份iOS開發工作了!可能是從實習生或初級崗位開始,這都不重要——重要的是,你現在有能力找到第一份工作了,萬事開頭難嘛,以後就順利了。

  所以,準備好你的簡曆,找到你所嚮往的公司,然後就與他們一起開發應用吧!

  現在你已經有了一定的開發技能了。在進入崗位之前,你可能會希望試試當獨立開發人員的滋味,卻又不知道該去做什麼樣的應用。需要靈感嗎?那就看看每周最佳iOS應用和遊戲報告,這是我一手策劃的——那裡有各種各樣的好應用,iOS開發人員們一定想去做!

  或許你在App Store中有一個很酷的應用?我每周都自己策劃iOS Apps Weekly,所以給我發送Twitter私信,也許你的應用就是下一輪的App of The Week!

  如果你喜歡這篇文章並想讀更多,請點擊下面的推薦按鈕——這會激勵我分享更多的東西(我腦子裡的想法可是取之不盡!)你也可以在Twitter上關注我,我會經常發一些關於iOS開發的東西。謝謝!

  Paweł Białecki (@pawel_bialecki) | Twitter:Paweł Białecki(@pawel_bialecki)最新的推特。iOS開發人員,電吉他手……

  推薦閱讀:

  • 52 people every iOS developer should follow on Twitter.:他們不僅僅是程式員。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.