從小白到發(fā)布第一個(gè)iOS應(yīng)用我學(xué)到了什么?

我近期剛剛向App Store發(fā)布了我的第一個(gè)iOS應(yīng)用程序【準(zhǔn)確說(shuō)是2019年5月23日】(很開(kāi)心_??),在這個(gè)過(guò)程中,我學(xué)到了一些東西抢腐,哦姑曙,不,是很多東西迈倍,也許有些人可能會(huì)覺(jué)得有用伤靠,所以今天給大家分享一下。

等等,是個(gè)什么應(yīng)用程序宴合?

我就姑且認(rèn)為看到這里大家心里會(huì)有這個(gè)疑問(wèn)吧焕梅?鑒于此,我還是簡(jiǎn)單的向大家介紹一下我的第一個(gè)應(yīng)用程序吧卦洽!

它叫【點(diǎn)點(diǎn)紀(jì)念】贞言,是一個(gè)免費(fèi)的生日、紀(jì)念日阀蒂、倒計(jì)時(shí)等重要日子記錄和提醒的應(yīng)用程序该窗,這也是這篇文章會(huì)詳細(xì)說(shuō)到的,我個(gè)人是怎樣一步一步開(kāi)發(fā)完成這個(gè)產(chǎn)品的蚤霞。

【點(diǎn)點(diǎn)紀(jì)念】目前只用iOS版酗失,它極簡(jiǎn)、易用且安全昧绣,數(shù)據(jù)都在用戶(hù)本地规肴,我不搜集任何用戶(hù)的數(shù)據(jù)信息。

象征性的給個(gè)下載地址吧:

https://itunes.apple.com/cn/app/id1464903574?mt=8

好了夜畴,閑話(huà)不多說(shuō)拖刃,進(jìn)入正題!

開(kāi)發(fā)一款像樣的應(yīng)用程序需要很多時(shí)間

當(dāng)然開(kāi)發(fā)一個(gè)應(yīng)用程序需要很多時(shí)間咯斩启,這好像是眾所周知的道理序调。但是,當(dāng)你是唯一一個(gè)為此而工作的人兔簇,特別是你還是一個(gè)全日制的996上班族发绢,這就需要更長(zhǎng)的時(shí)間。當(dāng)我第一次有制作這個(gè)應(yīng)用程序的想法時(shí)垄琐,我想這應(yīng)該不會(huì)超過(guò)兩個(gè)周末的時(shí)間我就可以搞定边酒,當(dāng)然這件事情確實(shí)很容易在我設(shè)想的那個(gè)時(shí)間段內(nèi)完成的。

然而狸窘,雖然我是做開(kāi)發(fā)的(主攻:后端)墩朦,但是我從來(lái)沒(méi)做過(guò)iOS的開(kāi)發(fā),更何況我是想自己來(lái)編寫(xiě)所有的東西(盡量不使用第三方庫(kù))翻擒。畢竟氓涣,這也是一次學(xué)習(xí)經(jīng)歷,我想盡可能多地了解iOS陋气、Cocoa Touch和Swift劳吠。

所以它花了我四個(gè)周末的時(shí)間,比我原先想象的要長(zhǎng)巩趁,我低估了制作一個(gè)姑且讓我自己覺(jué)得還不錯(cuò)的應(yīng)用程序需要花費(fèi)的時(shí)間痒玩。

我首先明確一個(gè)目標(biāo),一旦我的應(yīng)用程序在App Store發(fā)布了,那么我必須負(fù)責(zé)維護(hù)這個(gè)應(yīng)用程序蠢古,確保該應(yīng)用程序保持維護(hù)和正常運(yùn)行奴曙。因此,當(dāng)你有一個(gè)超級(jí)酷的想法的時(shí)候草讶,確保你愿意在接下來(lái)的一兩年內(nèi)投入其中并保持這個(gè)狀態(tài)洽糟。

The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.

— Tom Cargill, Bell Labs

其中的挑戰(zhàn)就是有一些像我這樣的新人(我說(shuō)的是iOS開(kāi)發(fā),畢竟后端開(kāi)發(fā)是我吃飯的手藝)并不完全掌握的東西(比如:iOS開(kāi)發(fā)流程到涂、Cocoa Touch和Swift)脊框。

建立第一個(gè)自己的應(yīng)用界面很有趣

在我開(kāi)始開(kāi)發(fā)這個(gè)應(yīng)用程序之前,我沒(méi)有任何創(chuàng)建iOS界面(也叫視圖)的經(jīng)驗(yàn)践啄。 所以浇雹,我花了很多時(shí)間去了解和學(xué)習(xí)Apple為我們提供的UIKit內(nèi)置的所有視圖。遇到問(wèn)題時(shí)屿讽,一般情況下昭灵,我會(huì)選擇去官方論壇查看一些關(guān)于視圖的在線(xiàn)帖子和一些StackOverflow上的相關(guān)問(wèn)題。 從那里伐谈,我快速學(xué)會(huì)了如何制作我想要構(gòu)建的頁(yè)面烂完,然后在接下來(lái)的一個(gè)周末左右的時(shí)間里我完成了初始版本全部頁(yè)面的構(gòu)建。

總而言之诵棵,我學(xué)到了大量有趣的東西抠蚣,可以使用自定義UIView來(lái)完成,它幫助我思考如何以不同的方式創(chuàng)建我的應(yīng)用程序履澳。如果您從未構(gòu)建自定義視圖嘶窄,你也可以嘗試一下。

我不擅長(zhǎng)設(shè)計(jì)

是的距贷,我不擅長(zhǎng)柄冲,所以我會(huì)盡可能多的按照自己感覺(jué)不錯(cuò)的風(fēng)格自定義頁(yè)面,以此達(dá)到效果忠蝗,整個(gè)應(yīng)用界面基本都是按照自己感覺(jué)好的狀態(tài)構(gòu)建的【求輕拍】现横,大家有建議或有興趣加入【點(diǎn)點(diǎn)紀(jì)念】把你的設(shè)計(jì)想法付諸實(shí)踐的,可以聯(lián)系我阁最;不過(guò)請(qǐng)相信戒祠,我的設(shè)計(jì)水平也會(huì)越來(lái)越好的,畢竟速种,我也是很上進(jìn)的姜盈!

Hey Siri, 提醒我有時(shí)間多看看設(shè)計(jì)相關(guān)的課程。

計(jì)劃哟旗,計(jì)劃,計(jì)劃

這可能是我在這個(gè)項(xiàng)目上學(xué)到的很重要的事。我是iOS開(kāi)發(fā)的新手并且是邊學(xué)邊做闸餐,所以我沒(méi)有完全計(jì)劃好一切饱亮,我的意思是,我知道我想要建造什么但不是很清楚要建造成什么樣舍沙。也沒(méi)有一個(gè)產(chǎn)品經(jīng)理和我商量近上。所以我在開(kāi)發(fā)這個(gè)應(yīng)用程序時(shí)犯了一個(gè)很大的錯(cuò)誤,就是在我想做卻又還沒(méi)有任何計(jì)劃的時(shí)候就開(kāi)始了開(kāi)發(fā)拂铡,以至于手忙腳亂壹无,有點(diǎn)太趕了。

計(jì)劃至關(guān)重要感帅,因?yàn)樗梢詭椭3謱?zhuān)注斗锭,同時(shí)也可以阻止你的激情減退。顯然失球,萬(wàn)事萬(wàn)物會(huì)發(fā)生變化岖是,計(jì)劃也一樣(畢竟古人云:計(jì)劃趕不上變化),但也要盡量嘗試在開(kāi)始之前做一份計(jì)劃实苞,哪怕只是自己的一個(gè)Side Project〔虺牛現(xiàn)在有很多在線(xiàn)工具可以幫助我們很輕松的就實(shí)現(xiàn)前期的一個(gè)簡(jiǎn)單計(jì)劃了,比如我很喜歡使用的一個(gè)工具叫:Trello黔牵。

逼著自己完成計(jì)劃

這是我在開(kāi)發(fā)這個(gè)應(yīng)用時(shí)經(jīng)常遇到的問(wèn)題聪轿。我很容易想要放棄我已經(jīng)開(kāi)發(fā)了一段時(shí)間的東西,然后轉(zhuǎn)向更有趣的東西猾浦。有一個(gè)周末陆错,我沒(méi)有完成任何開(kāi)發(fā)工作,并決定做其他事情跃巡。當(dāng)然危号,保持勞逸結(jié)合是很重要的,但是要選擇放棄就不應(yīng)該了素邪。

所以外莲,逼著自己完成計(jì)劃也是很有意義的,但這并不意味著你需要花一天時(shí)間重構(gòu)你的整個(gè)代碼庫(kù)如果僅僅只是因?yàn)槟銓?duì)你的代碼內(nèi)部某些命名的方式感到不滿(mǎn)意(我就這樣做了??)兔朦;而有意義是你應(yīng)該將你在Trello板上計(jì)劃的新功能加上偷线、或修復(fù)你之前發(fā)現(xiàn)的BUG。

作為開(kāi)發(fā)人員沽甥,很容易看到自己的代碼不滿(mǎn)意而想要讓它變得更好声邦,但實(shí)際上我并不認(rèn)為你會(huì)對(duì)你編寫(xiě)的代碼100%的滿(mǎn)意,總會(huì)有一種更好方式讓它更好 摆舟。而最終用戶(hù)不會(huì)知道這其中的差異亥曹,所以起初來(lái)說(shuō)它是次要的邓了,這個(gè)優(yōu)化過(guò)程應(yīng)該放在應(yīng)用發(fā)布后的更新和重構(gòu)中去進(jìn)行。

你不會(huì)比用戶(hù)更清楚你應(yīng)用的不足

說(shuō)真的媳瞪,如果你有機(jī)會(huì)在你決定將應(yīng)用上線(xiàn)之前交到用戶(hù)手中去做一次小范圍的使用體驗(yàn)骗炉,那是最好不過(guò)的了!作為開(kāi)發(fā)人員蛇受,我們有時(shí)會(huì)關(guān)注開(kāi)發(fā)和設(shè)計(jì)的較小方面句葵。你開(kāi)發(fā)的應(yīng)用可能在你自己看來(lái)都沒(méi)問(wèn)題,但是當(dāng)拿到用戶(hù)的手上時(shí)兢仰,就暴露出了很多問(wèn)題乍丈;某些功能體驗(yàn)不佳,某些系統(tǒng)版本下崩潰等等各種問(wèn)題把将;這時(shí)轻专,你不可能寫(xiě)一大堆測(cè)試去將所有細(xì)節(jié)都測(cè)試到位,畢竟你是一個(gè)人在戰(zhàn)斗秸弛!

如果你身邊沒(méi)有很多可以幫你測(cè)試應(yīng)用程序的親朋好友铭若,你就可以嘗試將你的應(yīng)用發(fā)布到Xcode Flight Test并在某些社交媒體平臺(tái)上發(fā)布測(cè)試邀請(qǐng)鏈接,請(qǐng)大家?guī)椭氵M(jìn)行應(yīng)用測(cè)試递览。對(duì)于【點(diǎn)點(diǎn)紀(jì)念】叼屠,我邀請(qǐng)了超過(guò)20個(gè)人做了體驗(yàn)測(cè)試,雖然不是每個(gè)人都給了我反饋绞铃,但是镜雨,我也收到了很多很有價(jià)值的反饋意見(jiàn),這幫助了我將【點(diǎn)點(diǎn)紀(jì)念】做的更好儿捧。

記准晕搿:千萬(wàn)不要害怕批評(píng)。

最后的想法

在【點(diǎn)點(diǎn)紀(jì)念】上的投入很有趣菲盾,盡管有時(shí)也非常困難和令人沮喪颓影、盡管現(xiàn)在的應(yīng)用還不完善,但總體來(lái)說(shuō)這是一次很好的體驗(yàn)懒鉴。 我學(xué)到了很多東西诡挂,希望其他人現(xiàn)在可以享受我創(chuàng)作的東西。如果你是軟件開(kāi)發(fā)的新手临谱,那么靜下來(lái)花幾天時(shí)間嘗試學(xué)習(xí)開(kāi)發(fā)一些東西璃俗。

多實(shí)踐,不斷提高自己的技能悉默。它不一定是驚人的或偉大的城豁,但學(xué)習(xí)從來(lái)都不是壞事。如果你需要更多建議或希望參與到【點(diǎn)點(diǎn)紀(jì)念】的開(kāi)發(fā)抄课、設(shè)計(jì)唱星、翻譯中來(lái)雳旅,請(qǐng)隨時(shí)與我聯(lián)系!

最后謝謝大家间聊,【點(diǎn)點(diǎn)紀(jì)念】我會(huì)盡力一直維護(hù)下去岭辣,希望大家多多支持!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甸饱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仑濒,更是在濱河造成了極大的恐慌叹话,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墩瞳,死亡現(xiàn)場(chǎng)離奇詭異驼壶,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)喉酌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)热凹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人泪电,你說(shuō)我怎么就攤上這事般妙。” “怎么了相速?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵碟渺,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我突诬,道長(zhǎng)苫拍,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任旺隙,我火速辦了婚禮绒极,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蔬捷。我一直安慰自己垄提,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布抠刺。 她就那樣靜靜地躺著塔淤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪速妖。 梳的紋絲不亂的頭發(fā)上高蜂,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音罕容,去河邊找鬼备恤。 笑死稿饰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的露泊。 我是一名探鬼主播喉镰,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惭笑!你這毒婦竟也來(lái)了侣姆?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沉噩,失蹤者是張志新(化名)和其女友劉穎捺宗,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體川蒙,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚜厉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畜眨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昼牛。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖康聂,靈堂內(nèi)的尸體忽然破棺而出贰健,到底是詐尸還是另有隱情,我是刑警寧澤恬汁,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布霎烙,位于F島的核電站,受9級(jí)特大地震影響蕊连,放射性物質(zhì)發(fā)生泄漏悬垃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一甘苍、第九天 我趴在偏房一處隱蔽的房頂上張望尝蠕。 院中可真熱鬧,春花似錦载庭、人聲如沸看彼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)靖榕。三九已至,卻和暖如春顽铸,著一層夾襖步出監(jiān)牢的瞬間茁计,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工谓松, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留星压,地道東北人践剂。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像娜膘,于是被迫代替她去往敵國(guó)和親逊脯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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

  • 6.14 夢(mèng)見(jiàn)又回到徐匯區(qū)的房子竣贪,高中聚會(huì)歸來(lái)军洼,窗外望去大氣層破碎,天幕開(kāi)開(kāi)合合瞬息萬(wàn)變演怎,仿佛下一秒就是全滅的結(jié)局...
    而有遐心閱讀 207評(píng)論 0 1
  • 坐動(dòng)車(chē)攸攸地跑到攸攸家的大門(mén)口歉眷。 看到攸攸心里美的滋悠悠。 看不夠颤枪,親不夠,左看右看是我的攸攸最優(yōu)秀淑际。 天藍(lán)藍(lán)畏纲,氣...
    王琴_08ad閱讀 210評(píng)論 0 4
  • 不要太過(guò)憂(yōu)慮讓直覺(jué)牽引 相信命運(yùn)冥冥之中的旨意 別太信任圣人的自由言論 你可不是活在那箴言之中 追求完美即是永恒的...
    花少顏閱讀 246評(píng)論 3 2
  • 人最大的特點(diǎn)就是,喜歡看別人過(guò)得比自己慘得多春缕,以前盗胀,我最大的樂(lè)趣就是戒賭吧,看那些賭狗欠了幾十萬(wàn)锄贼,被代理追著討債票灰,...
    the歡閱讀 2,152評(píng)論 3 2
  • (一) “姐,外婆走了宅荤⌒加兀” “什么時(shí)候的事》爰” “就在前兩天惹盼,已經(jīng)下墓了,爸爸說(shuō)你還在上學(xué)惫确,所以······” ·...
    半途咖啡閱讀 441評(píng)論 9 5