Titanium、PhoneGap、jQueryMobile、Sencha誰能談談實際使用經驗?

都是在手機平台上使用html開發應用的東西


jQueryMobile 目前在移動設備上的表現不是很好,不建議使用。
推薦 sencha touch+PhoneGap的組合,目前是實現web app最靠譜的方案。

有了PhoneGap,你可以把web app和本地app一樣放到app store裡面去賣,並且節省了跨平台開發的資源。

目前使用sencha開發的web app的體驗距離本地應用還是有一定差別,特別是在android平台上(android的webkit內核不如ios給力),穩定性和效率都存在一定缺陷


1,phoneGap是比較底層的庫,對表現層沒有支持,所以用phoneGap開發需要再加上jQuery或XUI,YUI這類UI層的東西;phoneGap主要的好處是學習成本不算高,缺點是速度慢,內存容易溢出。

2,jQuery 主要優勢是微軟支持,有牌咂,學習資料多,熱度高。缺點是學習成本高,默認模板很難看,想做個性化修改特別麻煩,而且速度也因為兼容太多瀏覽器(連ie也兼容,這對移動應用多累贅啊)比較慢。基本上如果你的技術方案是phoneGap+jQuery,最好不要做超過5頁的產品設計,而且盡量不要做拍照,文字輸入等互動功能。
3,sencha主要的優勢其實是雲端服務支持,但對國內的人來說就享受不到了。
4,titanium是我們遇到的國外的html5工具效率最好的一個,因為他們把不少html和css代碼預編譯成了javascript,這點在開發Julia時我們也借鑒了。缺點是學習曲線比較高,當然如果你是js熟手就容易很多。
5,Julia,我們自己做的開發工具,本周末我們會開放Julia的0.9版本,同時源碼會放到github上。優點是運行速度快,學習曲線低,而且會在國內做開源社區。缺點是我們剛開始各方面資源都還不完備,而且大多數人不太相信中國人能做出能用的東西來。歡迎對我們有興趣的朋友來Julia的討論組http://www.miankong.cc/julia/


現在用PhoneGap+jQueryMobile開發一個新聞類web app。jQueryMobile很容易上手,適合快速開發,sencha Touch學習成本要大些。


  1. PhoneGap(with jQTouch):可用API比較少,但可選UI樣式比較多。
  2. Titanium Mobile:更多依靠JavaScript,因此開發意味比設計意味更重。相比來說,可用API更多一些。值得一提的是,需要使用它自己的桌面應用來編譯和打包app。
  3. Sencha Touch:是一個HTML5, CSS3,和JavaScript結合的Web App開發框架,更多用來開發Web App而不是提交到Appstore的源生應用,但能在Webkit瀏覽器里支持多種手勢操作

參考:The Web Designer"s Guide to iOS Apps: Create iPhone, iPod touch, and iPad apps with Web Standards (HTML5, CSS3, and JavaScript)
http://www.amazon.com/Web-Designers-Guide-iOS-Apps/dp/0321732987


剛做完一個PhoneGap的項目。PhoneGap最主要是個應用構建框架,基於這個框架,可以結合其他Javascript Library。曾經對比過jQueryMobile, sencha touch, jqmobi等若干js庫的在PhoneGap下的實際UI執行效率, jqmobi效率高不少,jQueryMobile最慢,不過JQueryMobile和Sencha勝在更完善的控制項庫。

另外,也曾經用Titanium開發過項目,畢竟是一個還在發展的平台,debug的時候經常被一些莫名的錯誤搞得焦頭爛額。


sencha touch 2使用過幾個月了,開發了一個較複雜的app,並結合phonegap打包成native app,在三星的galaxy tab 10.1 平台上測試過,性能無法滿足需求。 sencha touch及phonegap在andorid平台上的性能目前還是一個問題,需要時間去解決,開始考慮切換到titanium了。


app上線兩年了,最後選擇是sencha+cordova+crosswalk
sencha 在ios上表現不錯,避免一些複雜的動畫,和原生沒差別。部分細節的複雜動畫,用GSAP製作,iphone5以上非常流暢,老的ipad和iphone4會卡。android的css動畫卡頓是webView本身的問題,用crosswalk打包後提高很多,可以接受,但是無法達到蘋果的流暢水平。
js方面已經優化了內存,仍然會出現內存不釋放,一直太高,但是沒有影響使用。
sencha需要比較高的js水平,而且很多具體問題需要解決
app store 上不了,只好註冊企業用戶
sencha touch貌似已經停止開發,呵呵。後面可能要用extjs6


titanium進步很快,不斷在完善,值得作為一個平台考慮,另外我們也直接使用html5內置,用jquerymobile,性能還是不錯的。

手機app在架構上需要考慮成熟,其實還是比較複雜的,有很多工作在伺服器端。


我使用過Titanium,jQueryMobile和PhoneGap。各有千秋,看你的產品第一要務是支持最多平台,還是最強功能。Titanium在功能支持上有優勢。其它兩個可以結合使用,支持的平台較多。我的建議是從產品需求出發來使用最能體現產品需求的框架。不要從純技術層面考慮。


用過sencha將近半年,用過titanium將近2年。

sencha其實還是一個single page的web app。
titanium是做了個中間層,讓js可以調用手機原生api。

對比一下優缺點:
1、sencha的特點就是可以用h5啊,布局簡單,特效方便。但是android下卡啊。(當然,也可能是我代碼寫的不好。)
2、ti的特點就是,比sencha快一些,同樣能做到一套代碼運行在多個平台。缺點就是坑比較多(我是從3.1開始用的,那時候還是比較坑的),需要原生功底,要自己寫一些module。


我們也用Titanium 開發產品,跨平台好。產品地址:
http://fans365.cn/2011/


用過SENCHA TOUCH, SENCHA TOUCH結合PHONEGAP在ANDROID上的性能很差,在IOS上性能好很多。另外SENCHA TOUCH學習曲線比JQUERY高很多,相對不太靈活。


我就想知道。做出來的頁面在微信內置瀏覽器來跑有沒有問題。


以上基本用過,基本都不理想。國內的http://appcan.cn也是一個選擇。不考慮成本下,更傾向於原生態Ui開發,性能和Ui都有所保障。


我現在主要研究的就是phonegap框架,對比Titanium,Phonegap兼容更多的平台,但是「兼容越多,性能相比較而言就會降低」。
關於Titanium和Phonegap的比較,你可以看看這篇文章:

http://surgeworksmobile.com/iphone/mobile-apps-cross-platform-development-challenge-phonegap-vs-titanium-vs-rhodes

jQueryMobile、Sencha是實現移動應用的前端呈現,sencha官方的說法是「提供移動平台的解決方案」,實現的效果很接近Native App了,但是這個庫很大,如果是要做Web App的話還是可以用一用的,但是做Mobile Web App,性能也是一個都很大的問題。


Sencha Touch2 最近發現在android4.03下 有不少問題,比方tab控制項


剛用 Titanium 開過了一個 B2C 的 iPhone App,用上手到開發完畢半個月左右,對於有 Js 經驗的同學來說,還是很容易上手的。官方的例子也比較多。個人推薦一下。

補充:有很多同學私信問我 App 址,這裡貼出來了
http://nanrenwa.com/iphone


用過jqm做過個項目, 談談感受, 第一點就是上手快, 看看手冊基本就差不多了,第二點是本身的ui,說實話, 真的不怎麼樣, 但是有許多擴展可以滿足不同ui風格的需求, 不用自己動手從零開始。 最後就是使用的體驗了, jqm支持後台載入需要的頁面, 但是雖然就是這樣, 還是受限於網速


不建議使用jQMobile,推薦下V5,GitHub地址:https://github.com/V5Framework/V5


其實phonegap相比native最牛逼的點在於。。。css和html可以調用伺服器的。。那就可以隨時修改內容了。。。。不用等7天。。。再配合著css和js的開發速度。。對於初創公司來說恐怕這個才是phonegap最大優勢


推薦閱讀:

各種手機電池醫生應用是否存在電池充電值造假的情況?
你在 Android 上最常使用哪些應用?
移動互聯網有哪些殺手級應用?
剛剛做了一款 iPad 遊戲軟體,應該如何定價?(幼兒教育遊戲)
你常用那些手機拍照應用?

TAG:移動應用 | JavaScript | 網頁應用 | InternetExplorer6 | Web開發框架 | SenchaTouch | PhoneGap |