www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]開發(fā)一個(gè)iOS應(yīng)用沒(méi)有那么容易

讓我們開門見山吧:做一個(gè)iPhone應(yīng)用需要花多少錢?

就是這個(gè)最常見的問(wèn)題,我的很多朋友(大多是些西裝革履的商務(wù)人士),還有我那些個(gè)對(duì)技術(shù)一知半解的客戶們,他們都問(wèn)過(guò)我這個(gè)的問(wèn)題。通常,我會(huì)先給出一個(gè)大致的報(bào)價(jià),這個(gè)報(bào)價(jià)并沒(méi)有細(xì)致到需要簽合同確認(rèn)每一個(gè)功能點(diǎn)的地步。即便是這樣,每當(dāng)?shù)奈覉?bào)價(jià)一出口,對(duì)方都毫無(wú)例外的給驚著了(當(dāng)然不是因?yàn)楸阋?。

說(shuō)實(shí)話,我沒(méi)有獅子大開口??纯碨tackOverflow上這個(gè)著名的帖子吧,討論的是開發(fā)Twitterific這樣一款應(yīng)用需要多少錢,后來(lái)討論范圍擴(kuò)展到開發(fā)一個(gè)iOS應(yīng)用的合理費(fèi)用范圍。雖然這個(gè)帖子是在2008年發(fā)布的,而帖子的最佳答案是由一名來(lái)自Twitteriffic的開發(fā)人員于2010年回答的,但是時(shí)至今日,帖子里面討論的數(shù)字仍然是很靠譜的,而且我預(yù)計(jì)到2012年底依然有效。而我的報(bào)價(jià)和這個(gè)帖子里面的數(shù)字比起來(lái),簡(jiǎn)直是小巫見大巫了。

現(xiàn)在的趨勢(shì)是,什么公司什么業(yè)務(wù)都想搞個(gè)iOS客戶端,并且這種趨勢(shì)在2012年看似依然火爆。所以我想起來(lái)寫這篇博文,我想說(shuō)一下開發(fā)一個(gè)iOS應(yīng)用會(huì)碰到的各種細(xì)節(jié)問(wèn)題和橫生的變數(shù),借此解釋為什么iOS應(yīng)用開發(fā)成本這么貴。如果你在考慮搞一個(gè)iOS應(yīng)用,而你本身是搞業(yè)務(wù)而不是做技術(shù)的,如果你目前正在招標(biāo)或者僅僅是想了解一下,那我這篇博會(huì)對(duì)你有幫助。當(dāng)然,我說(shuō)的東西并不局限于iOS應(yīng)用開發(fā),對(duì)Android、Windows Phone或者是Blackberry(如果RIM還能活的話)等移動(dòng)應(yīng)用平臺(tái)基本上也是適用的。

開發(fā)之前需要仔細(xì)考慮的

別做拍腦瓜的決策,在開工之前你需要考慮的比你想象的要多。我通常會(huì)幫助或者指導(dǎo)客戶把以下幾個(gè)要素都過(guò)一遍:

一:和客戶談他們的移動(dòng)應(yīng)用,最讓我吃驚的是他們從來(lái)沒(méi)有想過(guò)支撐一個(gè)iPhone應(yīng)用運(yùn)行,背后需要涉及到的方方面面。他們想象中的iPhone是獨(dú)立存在于這個(gè)宇宙的,是如此的簡(jiǎn)單,以至于他們要我很快就給出一個(gè)項(xiàng)目預(yù)算報(bào)價(jià),而不用討論諸多細(xì)節(jié)。我問(wèn)他們:“你們是否考慮過(guò)后臺(tái)服務(wù)器的事情?你們的應(yīng)用需要和后端服務(wù)器做數(shù)據(jù)通訊?” 什么,聽不懂?好吧,我用地球人的語(yǔ)言再把這個(gè)問(wèn)題講 一遍:“你們的應(yīng)用不是需要用戶注冊(cè)嘛,你們考慮過(guò)把用戶的數(shù)據(jù)存放在哪里了嗎?我們需要一個(gè)地方去保存這些以后會(huì)用到的數(shù)據(jù)。” 第一次碰到這樣的客戶時(shí),哥簡(jiǎn)直就怒了。后來(lái)我發(fā)現(xiàn)這不是客戶的錯(cuò):我是搞編程的,CS架構(gòu)對(duì)我來(lái)說(shuō)就像吃飯睡覺一樣是不假思索的東西,而我的客戶盡是些高富帥,他們懂個(gè)毛CS架構(gòu)!

所以,如果你不大懂技術(shù),那請(qǐng)仔細(xì)聽我說(shuō):如果你想做的移動(dòng)應(yīng)用需要用戶注冊(cè)和登錄,或者你想隨時(shí)控制移動(dòng)應(yīng)用的一些輸出,甚至是你僅僅是需要一個(gè)用戶反饋意見調(diào)查表這么簡(jiǎn)單的功能,那么,你得搞一臺(tái)后端服務(wù)器。

二:好了,現(xiàn)在你知道你需要一臺(tái)后端服務(wù)器。同時(shí)你還需要想辦法讓你的iOS應(yīng)用和你的服務(wù)器能夠?qū)υ?,就是相互間接收數(shù)據(jù)什么的。不,這個(gè)問(wèn)題不是簡(jiǎn)答靠什么標(biāo)準(zhǔn)的即插即用的東東就能解決的,不是你們想象的那樣!所有的東西都需要定制化開發(fā),這就好比發(fā)明一門語(yǔ)言:你希望你的服務(wù)器和你的應(yīng)用之間能夠通過(guò)一種語(yǔ)言溝通,但是你不希望其他人聽得懂這門語(yǔ)言。

用行話說(shuō)這就是制定服務(wù)器端API接口,或簡(jiǎn)稱API。這些API應(yīng)該在開發(fā)iPhone客戶端之前就到位了。為什么?因?yàn)槟惚仨毾纫?guī)定好一門語(yǔ)言的單詞和語(yǔ)法,然后才能用這門語(yǔ)言說(shuō)話吧!?好了,這就帶出了第三點(diǎn)—如何開發(fā)這些API。

三:API的成功定制是項(xiàng)目成功的一半(反之亦然),所以千萬(wàn)不要掉以輕心。你要考慮你的業(yè)務(wù)數(shù)據(jù)模型、業(yè)務(wù)流程、調(diào)用業(yè)務(wù)需要提供的參數(shù)、特定事件發(fā)生時(shí)數(shù)據(jù)間該如何互動(dòng)等等。簡(jiǎn)單來(lái)說(shuō),我們要做的就是開發(fā)一個(gè)網(wǎng)站,上門跑著你的業(yè)務(wù)流程,只不過(guò)這個(gè)網(wǎng)站的所有運(yùn)行結(jié)果都不是通過(guò)網(wǎng)頁(yè)形式展現(xiàn)出來(lái),而是呈現(xiàn)在一行行的文本和數(shù)字中。舉個(gè)例子:一個(gè)登錄成功的反饋?lái)?yè)面僅僅包含YES一個(gè)單詞。

iPhone應(yīng)用需要訪問(wèn)這些預(yù)先定義好的接口,并且按預(yù)定義格式提供必要的輸入(比如用戶名和密碼),然后要對(duì)服務(wù)器端的反饋(YES或者NO)做出解析處理。所以,沒(méi)有什么移動(dòng)應(yīng)用能夠自動(dòng)的含有用戶注冊(cè)和登錄功能。

服務(wù)器端開發(fā)需要考慮的問(wèn)題太多了:選擇服務(wù)器,選擇用什么語(yǔ)言開發(fā),主機(jī)放在哪里才能增加訪問(wèn)速度,等等,這里我就不展開了。如果這一切對(duì)你來(lái)說(shuō)很陌生,那么你最好去問(wèn)問(wèn)團(tuán)隊(duì)里的技術(shù)負(fù)責(zé)人,或者干脆讓開發(fā)人員做決策。

四: 所以,關(guān)于服務(wù)器端API,你或者讓自己的技術(shù)團(tuán)隊(duì)把它開發(fā)好,再將完善的API文檔交給iPhone應(yīng)用開發(fā)人員;或者你支付iPhone應(yīng)用開發(fā)人員額外的報(bào)酬來(lái)搞定這些。你找的iPhone應(yīng)用開發(fā)人員可能會(huì)服務(wù)器端開發(fā)也可能不會(huì)。如果他會(huì)的話,我建議最好讓他也同時(shí)負(fù)責(zé)服務(wù)器端開發(fā),因?yàn)樗钋宄Phone應(yīng)用中需要哪些服務(wù)器端API。

如果你的服務(wù)器端API已經(jīng)存在了,那么除了向iPhone應(yīng)用開發(fā)人員提供相關(guān)文檔之外,你還要考慮讓他能夠便捷的同服務(wù)器開發(fā)團(tuán)隊(duì)溝通,因?yàn)榇蠖鄶?shù)情況下,iPhone應(yīng)用需要在已有API基礎(chǔ)上增加一些新的接口。

現(xiàn)在我們來(lái)看看iPhone應(yīng)用開發(fā)本身

扯了大半天,我們終于開始談iPhone應(yīng)用開發(fā)本身了。一般來(lái)說(shuō),iOS平臺(tái)上做所有事情都不能隨心所欲。你最好在開發(fā)人員寫代碼之前把所有的需求都確認(rèn)好好。這和開發(fā)網(wǎng)站不一樣,按照實(shí)現(xiàn)簽訂的合同開發(fā)iOS應(yīng)用,開發(fā)過(guò)程中對(duì)需求變更的容納度可能很低:

用戶界面:無(wú)論你打算采用iOS標(biāo)準(zhǔn)界面還是自定義元素,在開發(fā)開始前一定要確認(rèn)清楚,因?yàn)閼?yīng)用的程序架構(gòu)是根據(jù)界面和用戶使用流程來(lái)設(shè)計(jì)的。一個(gè)很好的例子就是在界面底部使用了iOS標(biāo)準(zhǔn)的標(biāo)簽欄(Tab Bar),此后如果你想讓標(biāo)簽欄里面的圖標(biāo)變成彩色的,這個(gè)代碼改動(dòng)量可沒(méi)你想象的那么小!

代碼之間的耦合:如果是開發(fā)網(wǎng)站,你可以隨意的添加一個(gè)頁(yè)面或者一處鏈接。做iOS應(yīng)用就沒(méi)有那么簡(jiǎn)單了,很多東西一開始都要設(shè)計(jì)好,后期的一處改動(dòng)會(huì)牽連很多東西,具體原因是你無(wú)法理解的。iOS應(yīng)用的代碼寫好之后,再改動(dòng)行不行?行!但必須小心。 這就像設(shè)計(jì)電路板一樣, 如果你不小心把那根線搭錯(cuò)了,整塊電路板就會(huì)不工作。有人說(shuō)架構(gòu)優(yōu)良的程序可以有很高的延展性,那純屬紙上談兵。在About屏幕上添加一個(gè)電子郵件按鈕可能只需要幾行代碼的工作量,而添加一個(gè)轉(zhuǎn)發(fā)到新浪微薄的按鈕(譯者注:原文是添加一個(gè)Facebook Like)就完全不是那么簡(jiǎn)單的事兒了!

讓一個(gè)iPhone應(yīng)用同時(shí)也支持iPad:如果要評(píng)選最坑爹“需求變更”,那么這個(gè)絕對(duì)是當(dāng)之無(wú)愧的。理由很簡(jiǎn)單:支持iPad根本不是T M D什么附加功能!iPad應(yīng)用基本上都比iPhone應(yīng)用來(lái)得要復(fù)雜,界面設(shè)計(jì)和用戶體驗(yàn)也大不一樣。我問(wèn)你,制造一輛電動(dòng)自行車,然后把它改裝成一部燒汽油的摩托車,這能是一回事兒?jiǎn)??電動(dòng)自行車跟摩托車看起來(lái)是很像,但是制造它們完全是兩碼事。

拿廣受歡迎的Facebook官方應(yīng)用來(lái)說(shuō),它的iPhone和iPad版本看似相似,實(shí)際用戶操作流程完全不同。不僅僅是界面上的不同會(huì)帶來(lái)額外的工作,對(duì)后臺(tái)服務(wù)器API的需求也可能不一樣。拿我熟悉的一個(gè)應(yīng)用Denso來(lái)說(shuō)(我熟悉它因?yàn)檫@是我開發(fā)的),它的iPad版本比iPhone多了幾個(gè)功能,這些都需要額外的服務(wù)器端API來(lái)支持。記住,iPhone和iPad應(yīng)用的用戶體驗(yàn)需求是完全不一樣的。

準(zhǔn)備好開始了嗎?

希望此文能夠幫助你和你的團(tuán)隊(duì)了解移動(dòng)應(yīng)用開發(fā)幕后的方方面面。除非你們要做一個(gè)像計(jì)算器那么簡(jiǎn)單的單機(jī)應(yīng)用,否則你們很難用極低的成本搞定。綜上所述,如果你覺得外包成本太高,那你只好招人自己開發(fā)。

當(dāng)然,如果你決定了要外包移動(dòng)應(yīng)用開發(fā),那么我還要提醒一點(diǎn):公司政治。如果你是在一家大公司或者有著嚴(yán)格制度的機(jī)構(gòu)里面干活,那么幫助合同開發(fā)者搞定那些個(gè)規(guī)章制度上的繁文縟節(jié),對(duì)你來(lái)說(shuō)是非常重要的一項(xiàng)工作,必要的時(shí)候甚至可以做一些政策上的變通。 我同幾個(gè)大型企業(yè)客戶接觸過(guò),當(dāng)我要求看他們的服務(wù)器端數(shù)據(jù)接口的時(shí)候,他們流露出很不安的表情。我想這或許是因?yàn)樗麄兪苤朴诠疽?guī)定而不能透露信息,這無(wú)可厚非;或者他們還沒(méi)有想好這種情況下該如何操作;或者他們的品牌制度蛋疼到需要在移動(dòng)應(yīng)用的每個(gè)屏幕上都擺著公司logo!最終我沒(méi)有和這樣的企業(yè)客戶合作,因?yàn)槲覠o(wú)法想象如果有一天我需要增加一些服務(wù)器端API接口的話,和他們的規(guī)章和流程折騰,那將會(huì)是多么悲劇的事情。

PS:開發(fā)移動(dòng)應(yīng)用很耗費(fèi)時(shí)間,你最好有耐心。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉