Swift3 完整APP獨(dú)立開發(fā)全指南

一款完整的APP開發(fā)所需要的東西小編簡(jiǎn)要的概括為:前端界面回俐,服務(wù)器端開發(fā)镊绪,網(wǎng)絡(luò)傳輸以及線程邏輯夹攒。
本文小編主要列一個(gè)提綱,讓剛開始接觸的開發(fā)們找到一個(gè)基本方向邮府。讀者可以根據(jù)我的提綱去百度或者谷歌找到對(duì)應(yīng)的解決方案荧关。本文面向?qū)ο鬄閯傞_始學(xué)習(xí)Swift開發(fā)的程序員們,如果讀者您已經(jīng)是老司機(jī)了褂傀,可以基本略過忍啤。

? 開發(fā)的過程中你會(huì)用到大量的第三方庫。你需要了解Podfile, 以及podinstall的相關(guān)用法

前端界面

開發(fā)一款A(yù)PP紊服,你首先需要設(shè)計(jì)原型檀轨,一般是畫在紙上。它包括界面的基本結(jié)構(gòu)以及界面之間的基本邏輯欺嗤。

? 界面最基本的兩個(gè)要點(diǎn)是上端導(dǎo)航欄和下端按鈕欄参萄。基本的知識(shí)點(diǎn)包括:NavigationBarController, TabbarController煎饼。

? 你一般需要一個(gè)側(cè)邊欄讹挎,可以參考 SWRealViewController

? 你需要了解界面間參數(shù)傳遞方式,了解函數(shù)performsegue,對(duì)應(yīng)的重載函數(shù)prepare。著重要知道當(dāng)傳入界面有NavigationView的時(shí)候要先傳入navigationView再傳入對(duì)應(yīng)的界面吆玖。

? 要知道button可以通過tag以及title傳參

服務(wù)器端開發(fā)

為了實(shí)現(xiàn)數(shù)據(jù)持久化以及網(wǎng)絡(luò)交互筒溃,服務(wù)器端開發(fā)是無可避免的。服務(wù)器端開發(fā)有很多套解決方案:包括JAVAEE, C#與ASP.NET沾乘,Python與django;數(shù)據(jù)庫可以用oracle或者mysql怜奖。 我使用的方案是Python與Django配上mysql數(shù)據(jù)庫

? 首先你要有一臺(tái)服務(wù)器,可以再騰訊云或者阿里云租一臺(tái)翅阵。

? 騰訊云的服務(wù)器自帶centos系統(tǒng)歪玲,可以支持python,django及mysql環(huán)境掷匠±谋溃或者你可以自行裝linux系統(tǒng)。

? 服務(wù)器系統(tǒng)裝好之后安裝python讹语,django以及mysql钙皮。這是一個(gè)很折磨的過程,你會(huì)碰到各種各樣的BUG顽决,不要灰心不要喪氣短条,盡管你看不懂,但是才菠,你只要把它們復(fù)制下來百度一下或者谷歌一下就好慌烧,網(wǎng)上會(huì)有大量的解決方案。

? 裝好這些基本配置之后鸠儿,終于可以開始在服務(wù)器端寫代碼了。Django的教程里有基本的demo。

? 如果你的APP涉及到圖片開發(fā)进每,你需要對(duì)圖片進(jìn)行訪存汹粤。推薦使用七牛云作為圖片訪存空間,速度比較快

網(wǎng)絡(luò)傳輸

網(wǎng)絡(luò)傳輸說起來很玄乎田晚,實(shí)質(zhì)確很簡(jiǎn)單嘱兼。所有的網(wǎng)絡(luò)傳輸都是字符串(包括json,也是字符串的變形)贤徒。你的服務(wù)器是一串IP地址芹壕,例如:127.0.0.0.0。你運(yùn)行服務(wù)器的時(shí)候給他一個(gè)端口接奈,一般是8000踢涌。當(dāng)你在網(wǎng)址欄輸入127.0.0.0.0:8000的時(shí)候就是在運(yùn)行你這個(gè)項(xiàng)目。當(dāng)你輸入127.0.0.0.0:8000/index的時(shí)候就是調(diào)用你在Django里views里面編寫的index函數(shù)序宦。

? 在Swift中睁壁,有大量的關(guān)于Http的庫。包括SwiftHttp,Alamofile等互捌,你可以根據(jù)自己的喜好選擇對(duì)應(yīng)的庫潘明。

? 關(guān)于Json數(shù)據(jù)解析,有TRON秕噪,SwiftyJson等庫

線程邏輯

涉及到Http開發(fā)钳降,就不可避免的會(huì)遇到線程問題。舉個(gè)例子:你通常需要等待Http傳輸數(shù)據(jù)回來腌巾,再更新UI遂填。很簡(jiǎn)單的邏輯就涉及到線程問題。程序不會(huì)自己去等待Http傳輸壤躲,會(huì)將其放入子進(jìn)程城菊。這時(shí)候如果不做任何處理,就會(huì)發(fā)現(xiàn)你的UI沒有更新碉克,因?yàn)槌绦蛟诘却倪^程中已經(jīng)做了更新UI的操作凌唬,這時(shí)候數(shù)據(jù)沒有回來,等于沒有更新漏麦。線程的問題你需要了解Dispatch的問題客税,在Swift中稱為GCD。百度一下撕贞,或者谷歌一下這兩個(gè)關(guān)鍵詞(dispatch,gcd)更耻,你會(huì)學(xué)到很多。但是捏膨,可能仍會(huì)困擾秧均,會(huì)有坑沒有解決食侮。后期我會(huì)寫一個(gè)關(guān)于線程的demo來說明我遇到,你也可能會(huì)遇到的坑目胡。


上面我列舉的每一個(gè)點(diǎn)锯七,都需要耗費(fèi)一定的時(shí)間去消化吸收,快的可能4-6個(gè)工作時(shí)誉己,慢的可能消耗2-3個(gè)工作日眉尸。 但至少方向是正確的。 最后提一點(diǎn)巨双, 希望開發(fā)者們?cè)谟龅絾栴}時(shí)噪猾,先不要急著自己想法子解決,先谷歌一下筑累,去github袱蜡,stackoverflow看一下,99%的問題別人都碰到并且解決過疼阔。不要覺得你的需求比較奇葩戒劫,相信我,世界之大婆廊,無奇不有迅细。當(dāng)你想實(shí)現(xiàn)一個(gè)功能時(shí),先上網(wǎng)看看有沒有現(xiàn)成的第三方庫淘邻,不要重復(fù)造輪子茵典。

最后的最后,感謝一下在我開發(fā)過程中給予我許多幫助的人

同濟(jì)大學(xué)軟件學(xué)院 著名講師:朱宏明老師
同濟(jì)大學(xué)軟件學(xué)院優(yōu)秀畢業(yè)生:杜博聞大神
同濟(jì)大學(xué)軟件學(xué)院優(yōu)秀在校生:李陽大神
以及最后我的傻兒子室友:周以恒同學(xué)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宾舅,一起剝皮案震驚了整個(gè)濱河市统阿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌筹我,老刑警劉巖扶平,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蔬蕊,居然都是意外死亡结澄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門岸夯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麻献,“玉大人,你說我怎么就攤上這事猜扮∶阄牵” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵旅赢,是天一觀的道長(zhǎng)齿桃。 經(jīng)常有香客問我惑惶,道長(zhǎng),這世上最難降的妖魔是什么源譬? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任集惋,我火速辦了婚禮,結(jié)果婚禮上踩娘,老公的妹妹穿的比我還像新娘。我一直安慰自己喉祭,他們只是感情好养渴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泛烙,像睡著了一般理卑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔽氨,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天藐唠,我揣著相機(jī)與錄音,去河邊找鬼鹉究。 笑死宇立,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的自赔。 我是一名探鬼主播妈嘹,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绍妨!你這毒婦竟也來了润脸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤他去,失蹤者是張志新(化名)和其女友劉穎毙驯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灾测,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爆价,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了行施。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片允坚。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蛾号,靈堂內(nèi)的尸體忽然破棺而出稠项,到底是詐尸還是另有隱情,我是刑警寧澤鲜结,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布展运,位于F島的核電站活逆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拗胜。R本人自食惡果不足惜蔗候,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望埂软。 院中可真熱鬧锈遥,春花似錦、人聲如沸勘畔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炫七。三九已至爬立,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間万哪,已是汗流浹背侠驯。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奕巍,地道東北人吟策。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像伍绳,于是被迫代替她去往敵國和親踊挠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,734評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理冲杀,服務(wù)發(fā)現(xiàn)效床,斷路器,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 人生的風(fēng)險(xiǎn),有財(cái)務(wù)風(fēng)險(xiǎn)旺芽、愛情風(fēng)險(xiǎn)沪猴、職業(yè)選擇風(fēng)險(xiǎn)、財(cái)富風(fēng)險(xiǎn)采章。 健康風(fēng)險(xiǎn)运嗜,是否高質(zhì)量的活著。 愛情風(fēng)險(xiǎn)悯舟,是否能品嘗愛情...
    自由的凝視閱讀 313評(píng)論 0 1
  • 沒談戀愛的時(shí)候抵怎,不知道什么感覺 寒假一天晚上和發(fā)小擠在一張床上奋救,床不大岭参,她比我瘦個(gè)十幾斤,身材修長(zhǎng)尝艘,眉目清秀演侯。兩個(gè)...
    無花海閱讀 177評(píng)論 0 1
  • 回南天捻脖,家里的地板拖了之后很久都不干,從早晾到晚的衣服摸到手里還是潤(rùn)的中鼠,梯道里又出現(xiàn)了回南天的水漬可婶,墻壁甚至地面都...
    低調(diào)的小明同學(xué)閱讀 841評(píng)論 0 1