使用 PhoneGap 技術的跨平台應用中,在用戶體驗方面做得最好的是哪一款?理由是什麼?


瀉藥.

PhoneGap 我只是在剛開始做移動應用時有使用過. 那時候因為需要選擇採用原生技術還是 HTML5 實現, 所以關注了一下 PhoneGap 與 Titanium. 不過很可惜, 當時我關注 PhoneGap 時, 國內外都極少有成型的 APP 可以考察.

後來為了節約成本爭取時間, 我們還是選擇了用 HTML5 搭建首個移動 APP, 具體框架就選擇了 PhoneGap(注意: 事實證明 APP 還是要使用原生技術構建才靠譜, 特別是考慮到成本與維護時間. PhoneGap 並不是為了節約成本存在的, 他是為了獲得平台兼容性. 即一次編碼, 多平台共用. 好孩子們表學我).

後來在我們的產品即將發布時, 看到了豆瓣出的一款 APP: &<豆瓣音樂人&>. 這個 APP 也是採用 PhoneGap. 我試用了一下, 相當好, 可以說是國內我見到的採用 HTML5 + JS + CSS3 完成度最高的一款 APP.

不過後來豆瓣音樂人也用 Java 重新寫了一遍, 走上了原生技術的道路.

所以單純回答題主的問題, 我見過的 PhoneGap 應用中, 體驗最好的是哪款? 那無疑是 豆瓣音樂人.

現在再稍微發散一下, 順便回答題主的第二個問題: 為什麼?

其實無論 PhoneGap 還是 Titanium, 他們滿足的需求都是 平台兼容性. 即對於小團隊來說, 在一開始沒必要招聘專業的 OC 或 Java 程序員為每個平台打造原生 APP.
因為用 PhoneGap 或 Titanium 寫出來的 APP, 可以相當方便的編譯成 .app 或 .apk, 不用修改代碼就能在各平台跑起來.


所以這才是他們的市場和立足點, 並不是說 PhoneGap 可以代替原生技術. 事實上他們根本就不是說的同一件事兒.


當你認清這個事實, 還是選擇 PhoneGap, 那麼要注意:


1. 交互與視覺先行. 這點太重要. 要知道 PhoneGap 實際上是構建出一個包在外殼裡的 HTML 網頁. 而無論 iOS 還是 Android, 其瀏覽器性能, 特別是對 JS 的解析相比桌面還是差了很多. 所以必須在交互上決定 APP 的操作流程是符合 HTML 而非原生技術. 很多原生 APP 能實現的交互效果, 或視覺布局在 HTML 中不能做的.

2. 善用 HTML 特性. 什麼意思? 大家都知道提交一款應用的等待有多坑爹(當然啦, 說的就是 APP Stroe). 所以我們在升級, 維護時會盡量小心不出差錯導致重複提交. 有些小的功能點也只能堆在一起等大版本發布.
但如果是用 HTML 打造的 APP, 實際上無論內容還是功能, 都可以做到 "實時發布". 比如我們的移動應用之前就出過一個登錄 Bug, 會導致用戶登錄閃退. 修復容易, 但重新提交至少又是 7 天. 這個時候我們通過修改請求, 在後台直接返回 JS 解決了這個 bug. (沒錯, 就是 JS 注入~ 哈哈)

說了這麼多, 如果大家能夠找到早期版本的豆瓣音樂人(在 Google 上搜索還能找到), 就會發現這款 APP 無論是交互還是視覺(幾乎都以最自然的 list 來組織和展現內容), 都充分考慮到了移動瀏覽器性能問題, 取得了極好的平衡點. 所以我才如此推薦這款應用.


豆瓣音樂人難用死了。


PhoneGap 和 Titanium 不是一個同類產品,它們的定位就完全不同.
Titanium定位於做一個使用JS開發跨平台原生APP的解決方案(包括底層設備和UI).
PhoneGap定位於一個設備中間介,可使用JS調用手機底層設備(不包括UI).

而Sencha touch, jquery mobile 等才是UI.

PhoneGap 在性能上確實會比原生慢,但我覺得真正帶來體驗差的是在UI層.
如果選擇做 web app PhoneGap 無疑是比較好的調用手機底層設備的解決方案


樓上的同學試試 iTunes 的 App Store 中的「數字拼圖」 ,流暢度一點也不差的phonegap應用


目前看到過最好的是dailycost。


推薦閱讀:

當你瀏覽問題時,滾動條滑到底端時自動載入下一頁問題和點「更多」刷問題這兩種體驗,你更喜歡哪個?
為什麼往往是一些非核心功能會給用戶帶來超出期望的用戶體驗感受?
為什麼有那麼多人把搜索引擎當網址導航使用?
線下活動使用哪些幻燈片翻頁控制工具可靠性最高?
一個讓人放鬆的牙科診所應該是什麼樣的?

TAG:移動應用 | 用戶體驗 | iOS開發 | Android開發 | 用戶體驗設計 | 跨平台 | PhoneGap |