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

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

讓我們開門見山吧:做一個(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à)并沒有細(xì)致到需要簽合同確認(rèn)每一個(gè)功能點(diǎn)的地步。即便是這樣,每當(dāng)?shù)奈覉?bào)價(jià)一出口,對(duì)方都毫無(wú)例外的給驚著了(當(dāng)然不是因?yàn)楸阋?。

說(shuō)實(shí)話,我沒有獅子大開口??纯碨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)沒有想過(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)做出解析處理。所以,沒有什么移動(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)量可沒你想象的那么小!

代碼之間的耦合:如果是開發(fā)網(wǎng)站,你可以隨意的添加一個(gè)頁(yè)面或者一處鏈接。做iOS應(yīng)用就沒有那么簡(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ú)可厚非;或者他們還沒有想好這種情況下該如何操作;或者他們的品牌制度蛋疼到需要在移動(dòng)應(yīng)用的每個(gè)屏幕上都擺著公司logo!最終我沒有和這樣的企業(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)系本站刪除。
換一批
延伸閱讀

北京時(shí)間9月10日凌晨1點(diǎn),蘋果即將迎來(lái)年度重磅發(fā)布會(huì)。按照以往規(guī)律,蘋果將通過(guò)本次發(fā)布會(huì)正式推出iPhone 17 Pro系列。

關(guān)鍵字: iPhone 蘋果 智能手機(jī)

當(dāng)?shù)貢r(shí)間周一,埃隆?馬斯克旗下人工智能初創(chuàng)公司 xAI 與社交媒體平臺(tái) X(原 Twitter)聯(lián)合發(fā)起訴訟,指控蘋果與 OpenAI 非法阻礙人工智能領(lǐng)域競(jìng)爭(zhēng),核心反對(duì)蘋果將 ChatGPT 深度集成至 iOS 系統(tǒng)的...

關(guān)鍵字: 馬斯克 蘋果 OpenAI iOS ChatGPT

作為新成立的企業(yè),Proximus Global首次亮相魔力象限報(bào)告即獲“遠(yuǎn)見者”稱號(hào),彰顯了其在 CPaaS 領(lǐng)域的全球規(guī)模優(yōu)勢(shì)及完整戰(zhàn)略愿景

關(guān)鍵字: 電信 AI API

- 全球人工智能數(shù)據(jù)中心基礎(chǔ)設(shè)施領(lǐng)導(dǎo)者Zettabyte獲Lam Capital戰(zhàn)略投資 Lam Capital與Foxconn、Pegatron和Wistron攜手參與...

關(guān)鍵字: API TE AI 人工智能

近日,蘋果中國(guó)官網(wǎng)悄然更新了一則消息:Apple Store大連百年城店將于8月9日20:00正式停止?fàn)I業(yè)。這一決定引發(fā)了外界的廣泛關(guān)注,因?yàn)檫@是蘋果在中國(guó)大陸首次關(guān)閉直營(yíng)店,打破了其“只開不關(guān)”的慣例。

關(guān)鍵字: iPhone 手機(jī)

當(dāng)蘋果計(jì)劃于 2026 年末推出首款折疊 iPhone 時(shí),這個(gè)曾靠重新定義智能手機(jī)、平板電腦等品類封神的科技巨頭,正面臨前所未有的 “后發(fā)挑戰(zhàn)”。因?yàn)樘O果要進(jìn)入的折疊手機(jī)市場(chǎng),已被華為、三星深耕多年,技術(shù)與用戶習(xí)慣均已...

關(guān)鍵字: 蘋果 折疊屏 iPhone

從按下快門前就對(duì)照片進(jìn)行即時(shí)銳化,到通話過(guò)程中實(shí)時(shí)消除背景噪音,再到離線狀態(tài)下與人工智能 (AI) 助手互動(dòng),端側(cè) AI 正在重塑移動(dòng)體驗(yàn)。而 Arm 計(jì)算平臺(tái)正是實(shí)現(xiàn)這些無(wú)縫交互體驗(yàn)的強(qiáng)勁驅(qū)動(dòng)力。

關(guān)鍵字: 人工智能 iOS 安卓

當(dāng)瑞銀的最新報(bào)告將蘋果首款折疊屏 iPhone 的定價(jià)鎖定在 1800~2000 美元區(qū)間時(shí),整個(gè)行業(yè)都清晰地意識(shí)到,蘋果要在折疊屏賽道續(xù)寫 “高價(jià)傳奇”。

關(guān)鍵字: 蘋果 折疊屏 iPhone

玩美 AI API:助力中國(guó)品牌無(wú)縫對(duì)接全球市場(chǎng)的 AI美妝 與 AI圖像增強(qiáng)利器 上海 2025年7月14日 /美通社/ -- 全球領(lǐng)先的增強(qiáng)現(xiàn)實(shí)(AR)和人工智能(AI)美妝科技領(lǐng)導(dǎo)者——玩美移動(dòng)(紐交所代碼...

關(guān)鍵字: API 移動(dòng) 生成式AI 開發(fā)者

7月9日消息,據(jù)媒體報(bào)道,蘋果已推出新的應(yīng)用程序接口(API),允許用戶在第三方應(yīng)用中撥打蜂窩電話以及收發(fā)短信、彩信、RCS消息,這一功能僅向歐盟地區(qū)的iPhone用戶開放。

關(guān)鍵字: iPhone 蘋果
關(guān)閉