推薦:一個iOS開發(fā)者的經(jīng)驗分享

2013-12-27    藍藍設計的小編

轉載藍藍設計(   www.bouu.cn  )是一家專注而深入的界面設計公司,為期望卓越的國內(nèi)外企業(yè)提供有效的   BS界面設計 、 cs界面設計 、  ipad界面設計   、  包裝設計 、  圖標定制 、  用戶體驗 、交互設計、   網(wǎng)站建設 平面設計服務

來源:http://www.uisdc.com/100-things-you-should-know-about-design

如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中,   請點這里 

一個iOS開發(fā)者的經(jīng)驗分享

一年以前,我(曹舒旻Kevin Cao)還在做各種Flash網(wǎng)站,而現(xiàn)在卻是擁有一間小工作室的iOS獨立開發(fā)者。從互動廣告行業(yè)轉型到移動互聯(lián)網(wǎng),也許也是正在閱讀本文的你心中的一點小念頭。即便你仍然打算奮斗在互動廣告行業(yè),對移動互聯(lián)網(wǎng)帶來的沖擊也不可能置身事外。

移動互聯(lián)網(wǎng),正在真真切切的改變我們每一個人的生活,對你我正在從事的事業(yè),都不能例外。那么,如何順勢而為,讓我們能夠在新的時代背景下游刃有余呢。

首 先你應當成為移動互聯(lián)網(wǎng)的應用達人:擁有一款移動設備,并成為重度用戶。你得比你的客戶或目標受眾更加了解這種新的媒介。你要學會觀察和分析這些移動設備 產(chǎn)品設計背后的精髓,包括但不局限于:用戶手持設備的使用習慣;屏幕尺寸限制對設計的影響;多點觸摸的操作方式;單窗口應用和多任務的設計方法等。此外還 有GPS定位,陀螺儀等特有硬件模塊的玩法。

然后你還應當看看Apple的人機交互設計指南,了解那些細節(jié)到有些龜毛的設計建議背后的理念。這也保證你在發(fā)想創(chuàng)意的時候不至于偏差得太過離譜。

此刻你一定已經(jīng)有了一個不錯的想法(或者靠譜的Brief)?,F(xiàn)在到了我們盡情發(fā)揮創(chuàng)意和設計才華的時刻。 流行如“下拉刷新”的操作可不是一開始就寫在設計指南里的,而是由與我們一樣的創(chuàng)作者想出來的絕妙創(chuàng)意。這絕對是重度用戶才能發(fā)想出來的直覺式設計的最佳范例。還有Instapaper客戶端的傾仰翻頁,以及前段時間非常流行的Clear式輕掃和捏合操作,也都代表了交互設計的頂尖水平。 雖然在這個領域不乏一些專業(yè)的UI設計公司,還有各種互聯(lián)網(wǎng)企業(yè)的UED正規(guī)軍。但是在如何把移動應用設計得有愛或有范的問題上,我們互動這行的設計師也不甘示弱。我們看看私密照片分享應用Path 2.0中 的創(chuàng)新折疊菜單。吸引了不少眼球吧。而我們拿它回過頭來對比閃客們N年以前就已經(jīng)實現(xiàn)的各種動態(tài)菜單,其效果不也顯得黯然失色嗎。用戶在iOS應用上已經(jīng) 看了好幾年標準界面的產(chǎn)物,難免開始產(chǎn)生審美疲勞?,F(xiàn)在進入了重視用戶體驗的時代,互動從業(yè)者們在視覺表現(xiàn)和交互效果上的經(jīng)驗積累在此是一大優(yōu)勢。相比其 他行業(yè)的轉型者們,我們更容易創(chuàng)作出令人驚艷的作品。

但是這里也要提醒大家,我 們的這種優(yōu)勢有時候也是一種制約。視覺效果是一把雙刃劍,我們不能簡單把之前為互聯(lián)網(wǎng)做設計的經(jīng)驗生搬硬套到移動平臺上。我就見過為了展示些好玩的動畫效 果,卻把用戶真正需求的東西放在流程的后面的錯誤做法。移動設備還受到屏幕和電量的限制,在具體設計中我們應當把這些小亮點放在真正需要它們的地方,而把 能夠提升用戶體驗的設計放在第一位。

講完了設計層面,我再來談談技術層面。在互動廣告從業(yè)的前端技術人員大都來自HTML或Flash領 域,在面臨移動時代的轉型時,遇到最實際的是一個難以抉擇的問題:要重頭開始學習原生開發(fā)技術(Objective-C之于iOS,Java之于 Android)還是延續(xù)現(xiàn)在的知識體系。這個問題沒有標準答案,而是需要與自己的職業(yè)定位結合來分析。

我們現(xiàn)在面對的是一個碎片化的平 臺,原先用Flash技術覆蓋大部分前端需求的好日子一去不復返。最有希望的明日之星HTML5目前還受限于瀏覽器普及度和性能制約,尚不足以支撐原先在 Flash技術上能夠達到的高度。而運用原生語言針對不同平臺進行定制開發(fā)的結果是成本和周期的成倍增長。Agency在這種達成目標與成本控制的博弈 下,只能根據(jù)各種內(nèi)外因素自行權衡。大一點的項目能夠繼續(xù)鋪全平臺,而預算小的只能舍棄其一。

這里我分享一下自己的經(jīng)歷。去年我初次開發(fā)一款移動應用的時候,首先選擇了JavaScript+PhoneGap的技術方案。為了模擬原生的UI,在網(wǎng)上搜索對比了不少框架(Zepto.js,JQMobile,Sencha Touch等)。最后選用Sencha Touch,一周之內(nèi)就把應用做出來了。但是在開發(fā)過程中,我漸漸覺得用JavaScript做嚴謹?shù)拿嫦驅ο箝_發(fā)比較別扭。別誤會,我就是從學習腳本語言來入門編程的,對這類語言只有好感。我認為只有jQuery這 種Write Less, Do More的思路才能玩出腳本語言靈活輕便的精髓,而用腳本去搞面向對象再來開發(fā)常規(guī)UI的軟件,還不如直接上原生的面向對象來得爽快。再加上后來遇到了難 以解決的Mobile Safari內(nèi)存限制問題,最終我還是決定轉向用Objective-C開發(fā)。但必須說的是掌握一款JavaScript移動開發(fā)框架也是很有好處的,至 少能夠很快的驗證產(chǎn)品的想法。

另外還有一個朋友與我分享的案例。他用AIR開發(fā)一款看美劇的應用。首先嘗試用Flex自帶的Mobile組件,不出意外的各種卡頓。于是換用純ActionScript來做,由于缺乏基本組件支持只能基于AsWing來 改。據(jù)說他已經(jīng)盡量的優(yōu)化效能,還是沒辦法完全達到原生組件的效率,在表格滾動的時候感覺特別明顯。這說明雖然語言遷移沒花費多少成本,但是在用AIR技 術做移動開發(fā),在具體操作上,還是有不少的坑要開發(fā)者自己來填。更別提每次上真機調(diào)試時候的各種不便了。雖然現(xiàn)在已經(jīng)有基于StarlingUI控件(GPU加速)和更加方便的USB調(diào)試,但是我認為Adobe在移動平臺上的作為還是慢了。

接 下來談談iOS原生開發(fā),很多人對其望而生畏都是被Objective-C怪異的語法給嚇到了。就我個人的經(jīng)驗,消除這種恐懼最直接的辦法就是找一段代碼 到Xcode中照著打一遍。通過Xcode的代碼輔助功能幫助你理解Objective-C語句的結構(當你親眼看到Xcode生動的匹配提示,你就會明 白我的意思)。

一旦你熟悉了那些怪異的方括號語法以后,其他的就迎刃而解了。Objective-C 2.0以后對屬性存取引入了點語法,也縮小了與其他語言在書寫上的差異性。為此一些老派的Objective-C程序員還表示抗議呢。實際上大多數(shù)人在學 會了Objective-C后,都會認同這個語言的優(yōu)雅設計。

基本語言入門了以后,我們就可以嘗試在CocoaTouch框 架上做些小例子。在網(wǎng)上的各種教程中的是一套斯坦福的iPhone開發(fā)公開課教程。目前的是對應iOS5的2011版。授課的老頭功底深厚, 講得很好。如果你是現(xiàn)在才剛接觸iOS開發(fā)的,建議直接學習iOS5以上的版本, 新增的一些高級語言特性會讓你的開發(fā)轉型難度更小一些。 老版本的教程就不要看了,以免在概念還沒形成的階段造成混淆。進展到下一階段以后還是免不了要和內(nèi)存引用計數(shù)機制等相對比較晦澀難懂的知識點打交道,但在 那之前學到的知識至少能夠支持你寫出一款不錯的應用了。

在此之后的修行就看個人了,伴隨開發(fā)生涯最好的資料還是Apple的官方文檔。基本的視圖控制器開發(fā)指南,事件處理機制等應該熟讀N遍。像我比較關注表現(xiàn)層的繪圖和動畫技術,就要看Quartz 2DCore Animation指南。其他的不同框架只要知道是派什么用途的就好,具體知識要靠在項目實戰(zhàn)中逐步掌握。全部通關一次至少也要1到2年后了。對游戲比較感興趣的就要去學習Cocos2D框架,據(jù)說和Flash還是挺接近的。

隨著技術研究的進一步深入,其實我們遇到的挑戰(zhàn)會更大。選擇了原生語言開發(fā)就意味著與眾多傳統(tǒng)編程領域轉型而來的程序員競爭,而且原生語言開發(fā)進階就不得不接觸越來越多的處于底層的技術。但是反過來看,如果沒有挑戰(zhàn),不就沒意思了,不是嗎。

以上觀點純屬個人之談,希望對大家有所幫助,如有不妥之處歡迎留言指正。

原文地址:http://kevincao.com/2012/04/guide-to-ios/

分享本文至:

日歷

鏈接

個人資料

藍藍設計的小編 http://www.bouu.cn

存檔