中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

一個(gè)iOS開(kāi)發(fā)者的修真之路

2018-07-20    來(lái)源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

  在微信上有童鞋問(wèn)我iOS開(kāi)發(fā)者的入門(mén)標(biāo)準(zhǔn)是神馬?這個(gè)問(wèn)題難到我了,而且貿(mào)然給一個(gè)答案出來(lái)的話(huà),必定會(huì)有萬(wàn)千高手來(lái)噴。

  凡人修仙,仙人修道,道人修真。當(dāng)我們還是一個(gè)在青石板上蹲馬步汗水涔涔的廢柴時(shí),或許天空中偶爾會(huì)有御劍飛行的仙人路過(guò)。金色的陽(yáng)光灑在仙人隨風(fēng)舞動(dòng)的劍穗上,此時(shí)不禁會(huì)油然而生一種沖動(dòng),希望有一天能成為這樣的高手,自由飛翔。只是路漫漫其修遠(yuǎn)兮,漫漫修真路,從一個(gè)后天廢柴到羽化升仙成為大神需要太多的努力。

4b41d9c45441f34d9851b604a904adb9_b

  我個(gè)人還屬于iOS開(kāi)發(fā)的外門(mén)弟子,正在入門(mén)的門(mén)檻上,所以還是一起來(lái)看看iOS開(kāi)發(fā)內(nèi)門(mén)弟子給出的答案吧。

  參考圖詳見(jiàn)pdf文檔,這里大概歸納下。

  Objective-C 語(yǔ)言

  欲練神功,必先自宮!除非是仙人轉(zhuǎn)世,任何一個(gè)修真者都要從最基本也最痛苦的煉體開(kāi)始。對(duì)Objective-C語(yǔ)言的學(xué)習(xí)可以對(duì)應(yīng)修真者的煉體或者后天境界。經(jīng)過(guò)后天境界的苦修,一個(gè)修真者可以輕松打敗幾個(gè)普通流氓,不過(guò)當(dāng)十幾個(gè)甚至更多人一擁而上時(shí),還是趕緊逃命吧。
欲學(xué)iOS開(kāi)發(fā),必先學(xué)習(xí)Objective-C! iOS開(kāi)發(fā)中用到的主要編程語(yǔ)言就是Objective-C語(yǔ)言,雖然也可以使用C和C++語(yǔ)言混合編程,不過(guò)Objective-C語(yǔ)言是最核心的部分。

  其中又包括:

  面向?qū)ο缶幊袒A(chǔ)(類(lèi)和繼承,變量和方法的作用域,MVC基本概念,分類(lèi))

  方法和函數(shù)(消息,類(lèi)定義和屬性,與C/C++的混合編程)

  內(nèi)存管理(strong/weak, ARC自動(dòng)引用計(jì)數(shù),自動(dòng)釋放對(duì)象)

  代碼設(shè)計(jì)模式(Block塊語(yǔ)句,Target/action,協(xié)議)

  UIKIT(視圖層級(jí),繪制事件,觸摸事件,動(dòng)畫(huà))

  多媒體(配置,AVFoundation, C語(yǔ)言的API)

  核心iOS7類(lèi)庫(kù)

  編程語(yǔ)言只是基礎(chǔ),真正的開(kāi)發(fā)利器是iOS7的核心類(lèi)庫(kù)。掌握了Objective-C語(yǔ)言只是讓你從一個(gè)普通人變成俠客,但是離真正的修真高手還有很長(zhǎng)的路。從只懂得煉體的后天境界晉升到揮手間敵人灰飛煙滅的練氣或者先天境界,就必須掌握核心iOS7類(lèi)庫(kù)。

  其中又包括:

  相機(jī)和microphone

  社交網(wǎng)絡(luò)與分享

  CoreData數(shù)據(jù)持久化

  Foundation,又包括Application loop(應(yīng)用循環(huán)),Threads(線(xiàn)程),Networking(網(wǎng)絡(luò))。

  MapKit,也就是如何使用地圖

  Passbook,也就是和移動(dòng)支付系統(tǒng)的整合

  CoreLocation,如何在茫茫人海之中找到你所愛(ài)的位置

  Bluetooth,藍(lán)牙模塊,如果你要開(kāi)發(fā)周邊硬件設(shè)備,這是必不可少的

  Notifications,消息推送,又包括Local本地和Push(APNS)推送

  CoreMotion, 比如陀螺儀相關(guān)的東西

  GameKit,和第三方游戲設(shè)備(手柄)相關(guān)的東西

  SpriteKit,類(lèi)似cocos2d的2D游戲引擎

  第三方依賴(lài)庫(kù)管理

  晉升先天之后,一個(gè)修真者就脫離了低級(jí)趣味,成了修真隊(duì)伍的真正成員。雖然自身對(duì)天地大道的感悟和修煉是根本,但如果有那么幾件靈器、仙器甚至神器在手,無(wú)論是保護(hù)自身的護(hù)身法寶還是令敵人膽寒的攻伐之器,都可以讓你在修煉的路上笑傲江湖。

  對(duì)iOS開(kāi)發(fā)者來(lái)說(shuō),善于借助第三方類(lèi)庫(kù)的強(qiáng)大力量來(lái)實(shí)現(xiàn)產(chǎn)品的各種功能,就如同修真者手持神兵法寶一般,無(wú)往而不利。神器法寶多了也不好辦,所謂財(cái)不外露,拿著一大堆法寶在外面炫富是修真者大忌。這個(gè)時(shí)候一個(gè)能容納萬(wàn)物的儲(chǔ)物乾坤袋就成了修真者的夢(mèng)想之物。好在有CocoaPods,它比修真者儲(chǔ)物袋更神奇的是,你只需使用CocoaPods,就可以自動(dòng)將各種優(yōu)秀的第三方類(lèi)庫(kù)包含在項(xiàng)目之中。一個(gè)iOS開(kāi)發(fā)者如果不懂CocoaPods,簡(jiǎn)直就是修真界的窮DS一枚。懂CocoaPods的iOS開(kāi)發(fā)者不說(shuō)立馬晉升高富帥,起碼也會(huì)成為中產(chǎn)階層之一。

  對(duì)CocoaPods的使用請(qǐng)參考這里:CocoaPods安裝和使用教程

  Xcode 5

  修真者都喜歡天地靈氣充足的修煉之地,iOS開(kāi)發(fā)者也非常需要一個(gè)強(qiáng)大的開(kāi)發(fā)環(huán)境幫助自己打理項(xiàng)目。

  尋找一個(gè)理想的修煉之地對(duì)于修真者是奢侈的,因此大量散修選擇加入各種宗門(mén)或?qū)W院,否則萬(wàn)難有出頭之日。

  對(duì)于iOS開(kāi)發(fā)者則可以省掉這份煩惱,因?yàn)樗衖OS開(kāi)發(fā)者都可以免費(fèi)享受最強(qiáng)大的iOS開(kāi)發(fā)環(huán)境-Xcode 5。

  對(duì)于Xcode5的學(xué)習(xí)又包括:

  項(xiàng)目管理:包括文件結(jié)構(gòu),導(dǎo)航,Build 設(shè)置,屬性列表等

  代碼編輯器:包括如何高亮,查找,自動(dòng)完成,查看文件,Assistant Editor等等。

  Interface Builder: 如今的Interface Builder(界面編輯器)是內(nèi)置在Xcode中的,這部分又包括Storyboards和xib的使用,控件類(lèi)型及屬性設(shè)置,IBOutlet和IBAction,自定義類(lèi),Tag,視圖文件結(jié)構(gòu)等。

  代碼調(diào)試工具:包括lldb,斷點(diǎn),日志等

  Instrumentation工具:包括內(nèi)存泄露和CPU使用率的監(jiān)控等。

  Git版本管理:包括repository的管理,branching和merging。

  詳情請(qǐng)參考:

  開(kāi)發(fā)者工具概述

  軟件工程

  修真者除了修身練氣,還要煉神,也就是修煉自己的神魂。神魂的層次提高了,不光對(duì)自身的修煉有益,還可以控制其他修真者當(dāng)自己的小弟,或者有節(jié)操點(diǎn),吸引其他修真者為了自己的目標(biāo)共同奮斗(比如一起探索某個(gè)神府)。

  iOS開(kāi)發(fā)者除了知道如何具體寫(xiě)代碼,還要在思想上提升自己的檔次,站在一個(gè)更高的角度看待項(xiàng)目的開(kāi)發(fā)和管理。這個(gè)時(shí)候就需要了解一些軟件工程的概念。

  對(duì)于軟件工程,需要掌握的內(nèi)容如下:

  應(yīng)用程序的架構(gòu):比如模塊化和SOA,邏輯封裝等

  敏捷過(guò)程:比如項(xiàng)目所有者和用戶(hù)場(chǎng)景,迭代開(kāi)發(fā),高效溝通等。其中迭代開(kāi)發(fā)步伐又包括測(cè)試和結(jié)對(duì)編程,CI和代碼審閱,QA質(zhì)量測(cè)試和調(diào)試。

  項(xiàng)目管理:比如項(xiàng)目規(guī)劃和評(píng)估,工具和文檔化,Licensing等。

  iOS開(kāi)發(fā)者的神通功法1-Tests測(cè)試

  修真者乃逆天而為,其中所遇到的艱難險(xiǎn)阻是常人難以理解和接受的。當(dāng)自身實(shí)力到了一定的程度之后,就要承受天威的打擊-各種雷劫,比如四九雷劫,六九雷劫,九九雷劫,飛升時(shí)的萬(wàn)雷劫。不管你自身實(shí)力如何強(qiáng)大,肉身如何抗操,元?dú)馊绾纬溆窕耆绾文嫣,在雷劫時(shí)一不小心就會(huì)永墜輪回。

  在iOS開(kāi)發(fā)時(shí),不管我們?nèi)绾闻Π疽梗绾慰啾凭幋a,到了測(cè)試的時(shí)候發(fā)現(xiàn)程序直接掛掉了,簡(jiǎn)直是親者痛仇者呵呵的不可承受之重。

  因此一個(gè)有經(jīng)驗(yàn)的iOS開(kāi)發(fā)者往往會(huì)采用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的思路。

  大概要學(xué)習(xí)的內(nèi)容包括:

  測(cè)試類(lèi)型:?jiǎn)卧獪y(cè)試,功能測(cè)試,整合測(cè)試,性能測(cè)試,可用性測(cè)試,回歸測(cè)試等。

  連續(xù)測(cè)試:continuous integration,自己去google

  XCTest:Xcode特有的測(cè)試方法。

  關(guān)于這部分的內(nèi)容詳細(xì)參考:

  Quality Coding

  TDD的iOS開(kāi)發(fā)初步以及Kiwi使用入門(mén)

  Xcode Overview: Unit Test Your App

  iOS開(kāi)發(fā)者的神通功法2-Git版本控制

  常言道,一人得道雞犬升天。修真者在飛升之后往往會(huì)將自己的修煉資源留給家族后人或好友使用。一方面是因?yàn)榛虻淖运教煨裕硪环矫鎰t是因?yàn)橄Mㄟ^(guò)這種方式讓更多的追隨者可以一同飛升,在更廣闊的大千世界中可以攜手打拼。

  iOS開(kāi)發(fā)的獨(dú)行俠時(shí)代已經(jīng)過(guò)去了,很多團(tuán)隊(duì)中的產(chǎn)品或項(xiàng)目開(kāi)發(fā)是協(xié)同進(jìn)行的,即便是純粹個(gè)人開(kāi)發(fā),也經(jīng)常需要用到版本控制工具。

  因此,iOS開(kāi)發(fā)者需要對(duì)Git版本控制有一定程度的了解。

  具體包括:

  版本控制系統(tǒng):其中又包括分布式VCS,Branch,Merge,Diff

  GitHub的使用:Fork和Pull requests

  config: remotes和default behaviors。

  iOS開(kāi)發(fā)者的神通功法3—移動(dòng)應(yīng)用開(kāi)發(fā)的獨(dú)特性

  凡人修仙,仙人修道,道人修真。后天期,先天期,金丹期,元嬰期,洞虛期,空冥期,渡劫期,大成期。。。無(wú)論修真者處在哪個(gè)階段,都需要針對(duì)特定的修煉階段了解和獲取所需資源。

  開(kāi)發(fā)者也是如此,雖然Web開(kāi)發(fā),PC端應(yīng)用開(kāi)發(fā),移動(dòng)應(yīng)用開(kāi)發(fā)并沒(méi)有等級(jí)之分,但各自卻有了完全不同的特點(diǎn)。

  開(kāi)發(fā)者需要根據(jù)移動(dòng)應(yīng)用開(kāi)發(fā)的獨(dú)特性掌握相應(yīng)的知識(shí):

  HIG(Human Interface Guidelines):人機(jī)界面交互,具體參考:

  iOS Human Interface Guidelines: Designing for iOS 7

  流量消耗的考慮:包含兩個(gè)方面,一個(gè)是安裝包的大小,另一個(gè)則是在使用過(guò)程中的流量消耗。

  多線(xiàn)程操作:比如上傳下載文件之類(lèi)比較耗時(shí)間的操作可以單獨(dú)放在一個(gè)線(xiàn)程中,詳細(xì)請(qǐng)參考:Grand Central Dispatch (GCD) Reference

  狀態(tài)保存和恢復(fù):讓用戶(hù)下一次進(jìn)入應(yīng)用時(shí)仍然進(jìn)入此前所在的界面和狀態(tài)。

  本地化:根據(jù)用戶(hù)所在的地區(qū)選擇對(duì)應(yīng)的語(yǔ)言顯示

  iOS開(kāi)發(fā)者的神通功法4—吸星大法-參考別人的源代碼

  無(wú)論是修煉武功還是修真,都有一個(gè)類(lèi)似吸星大法的邪門(mén)功法,那就是把別人的功力占為己有。

  在iOS中,同樣有這樣一門(mén)強(qiáng)大的功法,那就是參考別人的源代碼。比吸星大法更神奇的地方是,參考別人的源代碼是雙贏的過(guò)程,不會(huì)讓別人的功力下降,反而讓大家在切磋的過(guò)程中共同進(jìn)步。

  源代碼的來(lái)源包括:

  http://developer.apple.com中蘋(píng)果官方的源代碼;

  http://github.com里面的源代碼;

  code4app,cocoachina等第三方網(wǎng)站中大家共享的源代碼;

  教程網(wǎng)站和其它第三方網(wǎng)站中的源代碼(如http://raywenderlich.com等);

  通過(guò)逆向過(guò)程研究別人的應(yīng)用,這個(gè)有點(diǎn)高大上了。

  真正的高手善于利用吸星大法迅速提升自己的實(shí)力,實(shí)在是居家旅行行走江湖修真者的必備功法啊。

  iOS開(kāi)發(fā)者的神通功法5—提高英語(yǔ)水平

  一個(gè)修真者莫大的痛苦是,自己的面前擺著一門(mén)絕世神通,卻TMD是火星文完全看不懂?

  對(duì)于iOS開(kāi)發(fā)者(包括其它程序猿)來(lái)說(shuō),如果自己的英文水平不行,就等于手握萬(wàn)千絕世神通卻半個(gè)字都不懂。

  所以,最起碼要多花時(shí)間看看英文文檔,教程,博客,論壇,不必刻意去學(xué),而是在提高自己iOS功力的同時(shí)提高自己的英文水平。兩者相輔相成,相得益彰。

  產(chǎn)品發(fā)布

  修真者在漫長(zhǎng)的修煉過(guò)程中,需要消耗大量的資源。這些資源除了家族門(mén)派儲(chǔ)備,強(qiáng)取豪奪,各種奇葩奇遇之外,就只有靠剩余價(jià)值交換的形式了。比如煉丹師把自己的仙丹拿來(lái)?yè)Q一門(mén)功法,煉器師把自己的法寶拿來(lái)?yè)Q仙丹,有多余功法的修真者會(huì)拍賣(mài)功法換取能讓自己修為一日千里的仙丹,等等。

  iOS開(kāi)發(fā)者(我承認(rèn)這部分有點(diǎn)扯~),特別是個(gè)人開(kāi)發(fā)者不是神人,也要食人間煙火。所以辛辛苦苦開(kāi)發(fā)的產(chǎn)品肯定是要上線(xiàn)發(fā)布,讓更多人使用甚至購(gòu)買(mǎi)的(或者讓投資人買(mǎi)單)。

  因此一個(gè)真正的開(kāi)發(fā)者也必須學(xué)會(huì)如何發(fā)布自己的產(chǎn)品,所以必須掌握以下知識(shí):

  設(shè)備測(cè)試:我的第一款iPad應(yīng)用沒(méi)經(jīng)過(guò)設(shè)備測(cè)試你敢信?不過(guò)當(dāng)時(shí)第一代iPad還沒(méi)有T正式發(fā)布,是特殊歷史時(shí)期的特殊做法,而且是得到蘋(píng)果認(rèn)可的。如今你這樣做試試看?TestFlight: 就讓身邊的幾個(gè)程序猿一起測(cè)測(cè)就算用戶(hù)測(cè)試完成了?趕緊試試這個(gè)利器吧。

  App Store發(fā)布:包括provisioning profile,code-signing,開(kāi)發(fā)者入口,具體參考:

  如何發(fā)布IOS應(yīng)用程序到蘋(píng)果APP STORE

  或蘋(píng)果官方文檔,因?yàn)榫唧w做法經(jīng)常會(huì)有調(diào)整。

  好了,一個(gè)iOS開(kāi)發(fā)修真者在有了以上的基礎(chǔ)之后,在成為高手的路上雖然還會(huì)有諸多波折,但至少有了前進(jìn)的方向,或者說(shuō)有了指引。

  修真之路最重心智開(kāi)啟和意志的磨練,不管采用何種方法,不管有著何種目標(biāo),如果意志不堅(jiān)定,向道之心會(huì)受到美女,懶惰,娛樂(lè)等各方面的影響,最終中道而去。
大家一起努力吧。

  參考:

  https://www.codefellows.org/blogs/everything-a-competent-ios-developer-needs-to-know

  信息圖:iOS 7開(kāi)發(fā)者需要知道的事

94c0740068d01f2743aecdbd8fdf24ed_b

 

標(biāo)簽: Google isp 代碼 開(kāi)發(fā)者 媒體 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:分享微信開(kāi)發(fā)Html5輕游戲中的幾個(gè)坑

下一篇:Coconut2D:跨平臺(tái)2D游戲及應(yīng)用開(kāi)發(fā)工具