10步成為專(zhuān)業(yè)iOS開(kāi)發(fā)者――0起點(diǎn)
想在移動(dòng)開(kāi)發(fā)大餐中分一杯羹,體驗(yàn)最火最炫的技術(shù)?小伙子,很有眼光嘛
毫無(wú)疑問(wèn),移動(dòng)開(kāi)發(fā)在目前和未來(lái)幾年內(nèi)都會(huì)盛極一時(shí)。無(wú)數(shù)開(kāi)發(fā)職位虛位以待。各大公司都在尋找各種層次的程序員——新手級(jí)、入門(mén)級(jí)、中級(jí)、老手、專(zhuān)家。 本文是寫(xiě)給新手們的——我會(huì)幫你們找到第一份iOS開(kāi)發(fā)工作。
“我干嘛聽(tīng)你的?”
你可能會(huì)這么說(shuō)。是個(gè)問(wèn)題——如果是菜鳥(niǎo)亂給建議,那倒是不聽(tīng)最好。
我也不是什么大神,甚至也不算是特別有經(jīng)驗(yàn)的iOS開(kāi)發(fā)者——但我足夠了解市場(chǎng),因此可以對(duì)你有些幫助。
最初我是一個(gè)獨(dú)立開(kāi)發(fā)者,擁有幾個(gè)收入不高(但也足夠讓我實(shí)現(xiàn)溫飽而專(zhuān)心做開(kāi)發(fā))的應(yīng)用。之后,我作為初級(jí)iOS開(kāi)發(fā)者加入了一家公司,終于能全心全意做應(yīng)用、甭?lián)拿魈斐陨哆@種問(wèn)題了。如果我愿意,我完全可以找個(gè)公司打工衣食無(wú)憂(yōu)(但可能這并不適合我——我的身體里流著創(chuàng)業(yè)的血液)。
現(xiàn)在,少說(shuō)多做——如何才能成為一名iOS開(kāi)發(fā)者呢?
1.買(mǎi)一個(gè)Mac(如果沒(méi)iPhone的話,還得賣(mài)個(gè)腎)。
iOS開(kāi)發(fā)需要Mac。
好吧,其實(shí)也能退而求其次(比如hackintosh,或Mac In Cloud),但聽(tīng)我苦口婆心一言——對(duì)于iOS開(kāi)發(fā)者來(lái)說(shuō),Mac會(huì)是你的主要武器。一般情況下,你無(wú)需放血去買(mǎi)最新、最快、最貴的設(shè)備,但好歹得有個(gè)叫Mac的東西。當(dāng)然,如果你是小土豪,想買(mǎi)個(gè)好一點(diǎn)的入門(mén)設(shè)備,那不妨考慮一下Mac Mini——它可能是性?xún)r(jià)比最高的一款。如果你和我一樣追求便攜性,那就買(mǎi)Air——特別是它的大屏版。我們也不是非得買(mǎi)新品不可,從eBay上搞個(gè)二手貨也是棒棒的。
2.安裝Xcode。
現(xiàn)在,當(dāng)你有了閃閃發(fā)亮的全新(好的二手貨也跟新的差不多)Mac之后,下一步就是安裝[Xcode]了,它可是對(duì)iOS開(kāi)發(fā)者而言最重要的軟件。Xcode是開(kāi)發(fā)iOS應(yīng)用的IDE(集成開(kāi)發(fā)環(huán)境)。它是免費(fèi)的,你可以直接從Mac App Store下載?,F(xiàn)在就去下,別磨嘰!
你會(huì)在Xcode中寫(xiě)代碼、編輯、在storyboard中“畫(huà)”出應(yīng)用、進(jìn)行單元測(cè)試,等等。你也需要用Xcode來(lái)上傳應(yīng)用到App Store。你得盡可能地熟悉它,因?yàn)樗敲總€(gè)iOS開(kāi)發(fā)者最重要的軟件。
3.學(xué)習(xí)編程基礎(chǔ)(可能是最難的一點(diǎn))。
現(xiàn)在我們可能到最難的一步了——你需要直接開(kāi)始編程。如果你有一定的編程基礎(chǔ),那就可以在Objective-C(難一些)和Swift(簡(jiǎn)單一些)當(dāng)中挑一個(gè),大概也沒(méi)那么糾結(jié)——它們基本上是標(biāo)準(zhǔn)的面向?qū)ο缶幊陶Z(yǔ)言。但是如果你一行代碼都沒(méi)寫(xiě)過(guò),那也別慌——這有兩個(gè)純新手的福利資源:
Ry’s Objective-C tutorial?——適合“戀舊”的Objective-C愛(ài)好者。你不用把Obejective-C學(xué)得多精(Swift才是未來(lái)大勢(shì)或者已經(jīng)是當(dāng)下大勢(shì)了>),但最好能了解其基礎(chǔ)知識(shí),并可以讀懂用它寫(xiě)出來(lái)的代碼。
Swift language guide,由蘋(píng)果官方提供——這是最好的Swift參考和學(xué)習(xí)資料。蘋(píng)果出品,必屬精品。
當(dāng)然,你不必深入理解所有東西——等你更有經(jīng)驗(yàn)了再談這些。但是你必須好好理解變量、指針、類(lèi)、數(shù)據(jù)類(lèi)型和循環(huán)這些概念。這樣,你以后的學(xué)習(xí)才能水到渠成。
4.跟著教程,依樣畫(huà)葫蘆
從這一步開(kāi)始,你終于要做點(diǎn)有用的東西了??纯催@些網(wǎng)站:
AppCoda——對(duì)初學(xué)者而言可能是最好的起點(diǎn)。你可以找到大量不同的教程,它們都有非常詳細(xì)的說(shuō)明。一定要都看下來(lái)!
Ray Wenderlich——另一個(gè)有用的網(wǎng)站,它擁有海量的iOS開(kāi)發(fā)教程數(shù)據(jù)庫(kù)。一步一步從中學(xué)習(xí)吧。
但不要局限在這些網(wǎng)站和教程上!繼續(xù)前進(jìn),開(kāi)發(fā)一個(gè)計(jì)算器應(yīng)用。然后是天氣應(yīng)用。再有就是匯率換算應(yīng)用。音樂(lè)應(yīng)用。明白了嗎?只要能找到相關(guān)教程,就把它們都做出來(lái)。
5.著手開(kāi)發(fā)自己的應(yīng)用
OK,我們?cè)絹?lái)越進(jìn)入狀態(tài)了?,F(xiàn)在,你要開(kāi)始開(kāi)發(fā)自己的應(yīng)用,它將成為你日后面試的法寶。
別害怕!又不是讓你開(kāi)發(fā)Facebook。咱得從初級(jí)職位開(kāi)始,沒(méi)錯(cuò)吧?在初級(jí)職位上,你可以從同事身上大量學(xué)習(xí)知識(shí)。好高騖遠(yuǎn)沒(méi)用,你不可能一下子成為有五年經(jīng)驗(yàn)的專(zhuān)家。
因此,你應(yīng)該保持內(nèi)心平靜,思考一下目前自己最擅長(zhǎng)的iOS開(kāi)發(fā)領(lǐng)域是什么。
或許你開(kāi)發(fā)過(guò)一個(gè)網(wǎng)絡(luò)相關(guān)的應(yīng)用?或許你研究過(guò)UIKit,并且很擅長(zhǎng)做復(fù)雜的用戶(hù)界面?再或者你開(kāi)發(fā)過(guò)一個(gè)音樂(lè)播放器應(yīng)用,喜歡iOS的音頻?你得利用好自己的興趣和知識(shí),以此為開(kāi)發(fā)應(yīng)用的基礎(chǔ)。要寫(xiě)出整潔、有風(fēng)格、運(yùn)行良好的代碼。
6.在此期間,希望你能同時(shí)盡量多學(xué)一點(diǎn)軟件開(kāi)發(fā)的綜合知識(shí)。
你正在閱讀本文,這多少說(shuō)明了你近期不打算去大學(xué)修習(xí)計(jì)算機(jī)。好消息是!你根本不必去!
你可以在家打開(kāi)電腦,學(xué)很多關(guān)于計(jì)算機(jī)科學(xué)、編程、軟件工程之類(lèi)的課程。
當(dāng)然,這跟學(xué)位還是沒(méi)法比的,不過(guò)單就iOS開(kāi)發(fā)而言卻已經(jīng)足夠了??吹缴厦娴膱D片了嗎?讀讀上面的文字。我不會(huì)把鏈接拱手奉上——信息搜索是開(kāi)發(fā)者最重要的技能之一。開(kāi)始訓(xùn)練。Google是你的良師益友。
7.完成應(yīng)用。
你專(zhuān)心于學(xué)習(xí)和開(kāi)發(fā)應(yīng)用,這樣過(guò)去了幾天、幾個(gè)星期、幾個(gè)月……親,你該有一款自己像樣的應(yīng)用了。應(yīng)用就是你的簡(jiǎn)歷——你必須全力以赴。甚至說(shuō),鞠躬盡瘁。公司會(huì)希望從你的應(yīng)用中看到什么呢?這里有一些建議:
運(yùn)行良好的應(yīng)用
整潔的代碼
代碼結(jié)構(gòu)——小巧的類(lèi)、合適的變量命名、Xcode中良好的文件分組,等等
對(duì)storyboard的使用(如果你既能用storyboard又能徒手編程寫(xiě)用戶(hù)界面的話,那就碉堡了)
對(duì)CocoaPods的使用
一些簡(jiǎn)單的單元測(cè)試
對(duì)第三方庫(kù)的使用(例如GitHub上的一些開(kāi)源項(xiàng)目——這將是一大加分項(xiàng),因?yàn)閷?shí)際工作中這非常有用)
順便,如果你正在尋找一些炫酷的iOS開(kāi)源庫(kù)的話,不妨看我另一篇文章:
27 iOS open source libraries to skyrocket your development.:絕對(duì)值得一讀。真真兒的。
當(dāng)然,一切都取決于你想找什么樣的工作和什么樣的公司,但總體而言,學(xué)好上述話,走遍天下都不怕。
OK,現(xiàn)在你有了自己狂拽炫酷的應(yīng)用。下一步——
8.在App Store發(fā)布應(yīng)用
呃,我得說(shuō)清楚——這一步不是必須的,因?yàn)樗枰粋€(gè)開(kāi)發(fā)者賬號(hào),而這個(gè)賬號(hào)呢,每年有99美元的費(fèi)用,這很有可能會(huì)搞得你入不敷出。
發(fā)布還是不發(fā)布,這是一個(gè)問(wèn)題……它由你說(shuō)了算。不過(guò),若能成功發(fā)布,很多公司都會(huì)把它看做是一個(gè)大大的加分項(xiàng)。
在App Store有自己的應(yīng)用意味著你熟悉應(yīng)用發(fā)布流程,熟悉蘋(píng)果對(duì)于應(yīng)用的限制(還真不少),熟悉應(yīng)用本身之外的發(fā)布所需事項(xiàng)(如應(yīng)用描述、關(guān)鍵詞、屏幕截圖、宣傳視頻等等)。
你可以選擇跳過(guò)這一步,但我強(qiáng)烈推薦你能試一下(我的第一份工作應(yīng)該就是靠我在App Store的應(yīng)用找到的)。
9.把應(yīng)用上傳到GitHub。
GitHub是一個(gè)社交平臺(tái),其主要功能就是源碼分享(與之類(lèi)似但不如GitHub火還有另一個(gè)平臺(tái)是,Bitbucket)。
你可以在此上傳源碼(可設(shè)置為公開(kāi)或私人),可以在此瀏覽其他人的代碼,還可以為開(kāi)源項(xiàng)目出一份力。GitHub應(yīng)用廣泛,即使你一直都是獨(dú)立開(kāi)發(fā),那也可以從中獲益許多——你可以更好地組織代碼,并可以獲得可能是最好的備份。
但你為什么要上傳應(yīng)用呢?很簡(jiǎn)單,把源碼給你的面試官看。
別再用郵件發(fā)代碼了,長(zhǎng)點(diǎn)心吧,這又不是90年代。
10.聯(lián)系你中意的公司!
圓夢(mèng)時(shí)刻到——現(xiàn)在,你已經(jīng)準(zhǔn)備好接受第一份iOS開(kāi)發(fā)工作了!可能是從實(shí)習(xí)生或初級(jí)崗位開(kāi)始,這都不重要——重要的是,你現(xiàn)在有能力找到第一份工作了,萬(wàn)事開(kāi)頭難嘛,以后就順利了。
所以,準(zhǔn)備好你的簡(jiǎn)歷,找到你所向往的公司,然后就與他們一起開(kāi)發(fā)應(yīng)用吧!
現(xiàn)在你已經(jīng)有了一定的開(kāi)發(fā)技能了。在進(jìn)入崗位之前,你可能會(huì)希望試試當(dāng)獨(dú)立開(kāi)發(fā)者的滋味,卻又不知道該去做什么樣的應(yīng)用。需要靈感嗎?那就看看每周最佳iOS應(yīng)用和游戲報(bào)告,這是我一手策劃的——那里有各種各樣的好應(yīng)用,iOS開(kāi)發(fā)者們一定想去做!
評(píng)論