iOS vs. Android, Miu Ptt開發者的心得分享

鄉民詢問了app比較性的問題
Miu Ptt的作者 hysteresis 提出了他的看法與經驗分享
內文如下


作者: hysteresis (magnet) 看板: Android
標題: Re: [請益] 請問iOS v.s. Android
時間: Tue Feb 28 18:06:51 2012

從一個app開發者的角度我也說一下意見。不願看長文的話 - 我的意見是大部分android app
怕是再看得見的未來都無法追平ios app的體驗

我曾在iphone板發文說過硬體的進步不應該受到軟體的約束,所以雖然4"的螢幕會導致
用戶沒法單手觸碰到螢幕的角落,但是一個app能否單手操作是由app開發者來決定
不能因噎廢食而限制了硬體的發展

結果被噓的很慘

即使這樣,我還是堅持我的觀點 - 是軟體開發者的責任來讓用戶由好的體驗
直到後來我收到了一頁又一頁的android用戶的意見反饋

那時我腦海里的第一反應是,老婆,我好像淌了趟混水...

我的第一個觀點是過多種類的硬體限制了軟體的最優化

twitterific的作者說過,一個好的app,就是 keep polishing, polishing and ...
用戶體驗是很玄的東西,雖然是因人而異,
但通用的標準是讓用戶獲得的結果符合他的預期,自然且不突兀

從一個開發者的角度去琢磨用戶的預期,其實就是開發者對 人本身 和對 人性 的理解

所謂人本身,包括握機的方式,男生和女生的拇指的長度差,手指關節自然的角度
通過對我們自己的瞭解,就能判斷出最合適的按鈕的位置,使用甚麼手勢

所謂人性,包括用戶對每個動作的結果的預期,用戶對每個UI元件的理解
通過顏色或者動畫的效果對用戶的每個操作給與反饋就是一個很好的例子

通過對我們周遭的人的抽樣我們是可以得到很多的數據的,
我就有一份自己總結的iPhone和iPad里的拇指操作的熱區死角的統計文檔。
其他的app開發對這個問題做的研究更為透徹,淘寶UED team甚至把iPhone的螢幕
劃分為4x4的格子,對每個格子的誤操作率都是有很詳細的統計數據

但是這些數據在 android 開發上完全沒用,因為對於3.2" - 5.3"的跨度
即使存在對每種尺寸的螢幕的統計數據,
在app開發的時候如何統一的使用以達到最優化也近乎是一項不可能的任務
很多用5.3"手機的用戶已經是雙手操作了,怎麼能指望一個app能優化多樣操作方式呢?

這些都還是大部分app開發接觸的sdk表層,在硬體層面android和iOS相比還有先天的問題
我一直很奇怪我自己的程式,在iPhone和DHD上的點靠近頂部的tableview / listview
的單元的時候,DHD上的誤操作明顯比iPhone上的多,甚至在DHD上的cell高度還是大的
後來我寫了個程式專門去測試我的拇指的觸控和我的預期
在拇指快按斷了之後我發現統計上 iPhone 對拇指的形狀的辨識比 DHD 好 - 區域相關
對app開發者而言,我們從系統獲得的是一個接觸點,但螢幕實際接觸的是一個皮膚面
如何通過對人體的認識把面轉化成用戶期望的接觸點,是需要硬體方面更多研究的

所以雖然很殘酷,但是我相信各位android用戶的手機里的app
絕大部分都是 可用 而不是 好用
因為你永遠不知道開發者針對哪些尺寸做了優化,而你的手機可能就是那個被遺忘的

我的第二個觀點是android還遠不是一個成熟的系統,限制了app的開發

所謂成熟的系統,就是開發者能在寫程式的時候寫的代碼能獲得他期望的結果

在做iOS app的時候,我做最多的事情是思考app要做成甚麼樣子,怎麼實現這些功能
除了蘋果明確在sdk里不提供的功能外,雖然蘋果有很多限制,但是絕大部分還是可做的
某種程度來說,蘋果的很多限制,其實是為一些有創造性思維的開發者提供商機...

扯遠了

而我在開發android app的時候做的最多的事情是 - 找出why this call doesn't work
為了修bug,我幾乎把android的源代碼都仔細看了一遍才明白為甚麼會出問題
這不是一個android開發者應該幹的事情吧我想

對比iOS和android的開發說明文檔,差距是非常明顯,蘋果會明確的告訴你每個函數
的具體作用,有各種可能的問題的說明,還會在class reference旁配開發案例
android的開發文檔,你永遠不會知道某些屬性的預設值是甚麼,具體怎麼使用?麻煩
你另開一個瀏覽器窗口去搜吧...最要命的是文檔也缺乏有甚麼是特別需要注意的

我的app第一個版本用戶反饋一個webview上的分段按鈕功能不起作用
我的測試結果是debug版是沒有問題的,但是release版確實不起作用
就這樣掙扎了一週,我都要去看java編譯器源代碼的時候,
我終於在某個不知名的keyword搜尋下找到了罪魁禍首
是 proguard 把 javascriptInterface 的方法名全精簡了導致js無法和app溝通
解決問題的那一刻我很囧,開發者的時間真不值錢麼
既然proguard在sdk9里已經是標準配備了,google就不能在webview文檔里警告一下麼?

android系統的問題遠不只這些,源代碼看得越深入,越覺得這個系統的缺陷很多
雖然我相信很多java開發者對資源對記憶體的管理是 I Don't Care的
但是作為一個資源本身少的可憐的手機系統,處處留有資源使用和記憶體洩露的地雷
無論如何都看不出是我心中那個超級崇拜的google的作品
也許是我對google其他的產品代碼沒有研究的的緣故吧

到點吃飯了,就說這麼多吧,開放大家繼續吵架。只是基於上面兩點,我確實無法承諾
我的android app能給android用戶和iOS一樣的體驗,雖然我努力改寫了很多android
的元件...

原文轉自批踢踢實業坊
sickfoot wrote:
鄉民詢問了app比較...(恕刪)

謝謝分享!
所以小弟也搞不清楚為何note的miui Ptt 經常第二次就連不上了,還得換成bbs reader才正常。
所以就被換掉了,4s開心使用中
支持作者您了
即使付費用也ok喔
開發者日漸傾向iOS:Android遭拋棄?整體減少一半?
iOS 開發和 Android 開發心得

iOS 開發和 Android 開發心得
Posted on 2011 年 10 月 22 日 by Terry Tse

(Credit: Flurry)

根據 Flurry 一個行動軟體分析網站提供的資料 2011 第一季和第二季,iOS 和 Android 上架軟體比例上的差別
很明顯的看出 Android 在比例上有一定程度的下滑
而 iPhone 及 iPad 的開發比例都持續的升高
很多有興趣的開發者也可以在網路上也找到兩平台開發的比較
似乎是比較推崇在 Android 上開發,然而真的是這樣嗎?
就天秤同時開發兩平台的經驗,以同時是開發者及使用者身份
提供一些個人的看法,純粹是個人意見,不喜勿入


開發難易度
這得分開發的前置條件和實際開發的作業兩階段
通常在網路上找得到的資料,比較多是 Android 比較容易開發
但文章時間通常是在早期,且大多都是才剛要進入開發領域的開發者比較時所撰
其實開發上就不是這麼回事了,我只能說錯得離譜

Android 開發條件
開發語言: Java
常用開發工具: Eclipse
作業系統: 不拘 (Windows, MacOSX, Linex)
加入開發者身份: 終身 25 美金
實機測試: 無條件
軟體上架審核: 無 (幾乎)
軟體上架時間: 快速
iOS 開發條件
開發語言: Objective-C, Cocoa
開發工具: XCode
作業系統: MacOSX
加入開發者身份: 每年 99 美金
實機測試: 必須是開發者身份
軟體上架審核: 必要
軟體上架時間: 最快一周左右,審核不通過得重新排隊送審
Android 只要會 Java, 加上 Eclipse 開發工具即可,作業系統不拘
通常台灣開發者對 Java 比 Objective-C 熟悉得多
手上的 Windows 平台電腦又可直接使用,無須購買 MacOSX 才能開發 iOS 平台
Android 又無須送審可直接上架,條件當然容易的多
況且加入開發者身份只要終身 25 元美金,而 iOS 每年得繳 99 美金才能在實機測試
對考慮開發 app 的人來說,每年 99 美金的限制都不知道能不能回本
加上必須重新學習開發語言及購買 MacOSX 電腦
當然對認為 Android 開發條件比較容易達成,似乎是比較值得切入?

開發工具的支援度
但開始開發之後,就不是這麼回事了
首先是開發工具的支持程度
XCode 下載安裝之後,包含 iOS SDK 及 Simulator 也一併安裝完成
開啟、新增專案後直接可以編輯測試了
而 Android 開發者必須自行下載 ADT 及做一連串的設定等動作
畢竟 Eclipse 不是 Android 的專屬開發工具,對各方面支援程度就沒像 XCode 來的方便
就像這次的 iOS5 新增語法及編輯器,在下載的新版 XCode 即可支援它
包含所有 iOS3, iOS4 版本的語法也一併向下支援

軟體界面設計
再來是 UI 的設計,這是最大的問題
XCode4 之後很巧妙的把 code 及 UI 整合在同一套開發工具裡
(其實就類似 Visual Studio C# 一樣的作法)
最重要的是,它 UI 設計界面長什麼樣子,其實上在 simulator 或實機上就是長那個樣子
這對開發者是很重要的一環
因為它以圖型界面來設計 app 非常的方便且友善
也可以解釋為什麼 iOS 上軟體普遍比 Android 軟體精美的原因
反觀在 Android 上呢
也許原本的立意是不錯,以 xml 來開發視覺界面
並以 sizer 來自動調整元件大小來符合不同解析度的螢幕 (類似 QT, WxWidget 的作法)
但也因為如此,造成以單調的元件操作的軟體會很好用,系統可自己調整元件位置大小
但遇到以圖型界面為主的軟體,卻是綁手綁腳的
雖然 Android 界定三種 layout 大小來讓開發者實作圖片的 layout
但界竟面對 Android 大大小小不同的解析度
並無法有效解決不同解析度上圖型界面 layout 位置的偏差,頂多是減少問題而已
導致同一套軟體在不同機型上,不是圖片的位置會跑掉
就是必須縮放圖片來滿足不同解析度,造成圖片顯示的失真
甚至是造成無法相容的問題,以致於開發者必須在相容性上下很多工夫
以滿足上百機不同硬體機型的需求
其它的問題不說了,如 debug 的困難及不穩定性,檔名只能以小寫,程式碼分類 group 等問題

軟體獲利的問題
除了佛心之外,開發軟體上架,無非是要獲利
而開發者的開發的時間畢竟是固定的,有排擠效應
總是得擇一平台做為優先開發的對象
至於哪個平台獲利較好,其實 google 一下就有很多的答案
根據 All Things的報導
Android 原先創辦人 Rich Miner 也提出 App 開發商應先開發 iPhone 程式
之後再移植到 Android 上
對照 Flurry 的統計
事實上整個行動 app 的開發者也是向 iOS 靠攏了
誠如之前 Jobs 提到 Android 版本分裂的問題,如 ZDNet 的文章

Jobs:「我們的看法是,開放與封閉之爭只是一種煙幕彈的說法,重點是哪一種對用戶最有利。我們認為Android實在是太、太、太分裂了,且問題只會越來越嚴重,因此相較於Google的策略,我們認為我們的作法更有優勢,因為整合的終究會勝過分裂的,沒有一次例外。」

也許當時很多人並不認為如此,尤其是 Android 的開發者而言
但時至今日,這些數據其實都顯示著 Android 確實有軟體發展上的疑慮

平台的選擇
以上講那麼多,但天秤並不一味的推薦 iOS 平台
還是得看開發軟體的特性而定
依天秤的經驗,簡單的來說
iOS 使用者很重視視覺元素,只要你軟體外觀夠精美 (先不考慮內容的話)
絕對可以在 iOS 平台上佔一席之地,絕對會吸引 iOS 用戶掏錢購買
但前題是美術人員必須夠強
否則上架後只是會在茫茫軟體海中消失,完全沒被注意到
連免費的廣告都收不到錢
如果是獨立開發者或是小品軟體的話,尤其是賺廣告的免費軟體來說
Android 是不錯的平台,軟體無須太精美
當然漂亮一點更好,只是得考慮 size 不可以太大,否則塞爆使用者手機容量也不行
無法像 iOS 軟體那樣盡其華麗之能事 (雖然近期的 Android 手機有解決容量的問題)
但是功能性強的收費軟體就自求多福了
畢竟 Android 破解太容易,使用者比不上 iOS 使用者那麼願意付費
只有 Free 是唯一的道路


sickfoot wrote:
鄉民詢問了app比較...(恕刪)



很棒的文章

謝謝分享!!長知識了

原來在開發上面有那麼多限制!
轉貼的內容我看的都懂. 問題是沒有程式開發經驗, 甚至沒有實際開發
Android & iOS APP經驗的人, 是不可能暸解其中的問題的....

如Miu Ptt作者所說, 愈研究Android程式開發, 愈覺得這個系統問題很多.
我自己的心得是, Android是一群geeks(科技怪胎,技術宅)搞出來的東西.

這篇文大概會被不懂又愛叫的安粉(Apple Fans叫果粉, 所以Android Fans叫安粉)
砲翻了吧....
與失敗為伍者,天天靠盃都是別人的錯。 與成功為伍者,天天跟失敗切磋直到不再出錯。
我自己也是程式設計師之一
看到這些文章真是心有戚戚焉..

軟體工程師花時間在應付不同機種跟版本是一件非常痛苦的事情
尤其是UI的調整, 那根本是要人命!!!!
https://jin.tw
android app 最大的問題還不是開發難度高,而是使用者普遍不願意付費.

tyf000 wrote:
....而是使用者普遍不願意付費....(恕刪)


是在台灣沒有辦法付費,很多軟體我也很想買呀,但是要購買難度很高。
tyf000 wrote:
android app 最大的問題還不是開發難度高,而是使用者普遍不願意付費.

這我是不知道其他的A粉願不願意去付費購買,畢竟之前用Android系統也才一年多就換了 iPhone 4,
事實上,當時我的用戶體驗不是太好,所以也沒花過一塊錢在Android Market上買過付費的app;
反而到了蘋果的陣營 ,沒多久就花了些錢去買我覺得不錯的app...

我相信大部分的人會選擇把錢花在所謂的"精品"上面,而蘋果塑造出來的形象就是"3C界精品",不是嗎?
關閉廣告
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 7)

今日熱門文章 網友點擊推薦!