如何評價DCloud?

DCloud的文檔風格和產品成效讓人感覺誠意滿滿,不知道是否能長期使用?


2016/04/15 互聯網運維與開發者峰會 會場續更,軟廣遍地,歡迎私信,歡迎噴…

PS:希望深扒DCloud的同學可以留言點贊。

現場情況:7牛的彭哥(前台拿話筒的黑衣人…)在說Docker…科普階段…無語無聊中…

附圖:

說說正題:用DCloud開發APP有木有問題?

答:沒有。因為我公司只用HTML5做小體量app。(小,指app體量在20w以下)大體量app還是原生開發。一是客戶要求,不差錢。二是我們也不想做小白鼠。

這是很多人私信問的,特地放在這裡。

然後,初略說說大多數人認為html5比不了原生開發這個問題。答案得分情況,我只是初略扒一扒…

注意!注意!注意! 軟廣預警!

http://weixin.qq.com/r/VUgYAF7EpAPbrRpj9x1H (二維碼自動識別)

對!上面是我的微信公眾號!答案在歷史消息中!打開微信掃一掃關注!

BUT!並非強制,答案(簡答)在下方:

附高清數據圖:

最後,我公司做的快遞櫃項目(html5 做的)上線了。android已經更新了3版,iOS還在審核【龜速… 】

app就不打廣告了…如果需要下載看看熱鬧,可以在我的微信公眾號里輸入「HTML5 APP」,將會得到下載鏈接。

over…贊多繼續更,歡迎噴…

怎麼還沒到50贊???

哎…

========16-04-15 V2.0.1========

2016/02/03 長文更新,高能預警,軟廣遍地,歡迎噴...

0 前言

目前,使用HTML5開發web app或者Hybrid App已經非常常見,大公司(大眾點評、天貓)、小公司(創業團隊)也在用。但是,學習資料還是比較空缺的。這個指南是筆者個人總結,難免有誤,歡迎指正!

目前,做HTML5的App工具和平台也有很多,我從這4個平台挑選了一個。之前寫過3個系列的短文,分析了我為什麼選擇DCloud這個平台。詳情戳下面:

系列一:跨平台APP----對Native/Hybrid/Web APP三種開發模式的分析(系列一)

系列二:跨平台APP----對Cordova,APPCan,DCloud,APICloud四大平台的分析(系列二)

系列三:跨平台APP----使用DCloud公司產品跨平台開發(系列三)

使用DCloud平台開發過一款APP,感覺上App的性能、功能、用戶體驗等方面都不錯,能給個80分(滿分100)。所以,對於D廠的東西還算熟悉,特意在這裡班門弄斧,歡迎交流指正。

1 DCloud平台介紹

圖1 DCloud產品結構

DCloud公司旗下有4款產品:HBuilder、5+ Runtime、MUI、流應用。

此外,該公司做了一套開源的廠商API——HTML5 Plus(H5 +)標準。該標準,是對HTML5標準的擴展和增強,彌補HTML5的能力和性能不足的問題。依照H5+標準,D廠實現了5+ Runtime,同時將其封裝在了HTML5+ SDK中。

HTML5+ Runtime是基於webview的增強runtime,擴展了大量的JS API,打通原生API和JS API的橋樑。也可以理解為一個強化的瀏覽器引擎。所以,能在現有原生項目中使用HTML5+ SDK替換原有的webview,以獲得更強的web增強表現。

在手機設備中,webview的性能好壞決定了HTML5的性能優劣。DCloud對原生的webview進行封裝,同時擴展其功能。從時間和市場的角度來說,Android4.4以下的版本會逐步退出歷史舞台。但是,HTML5+ SDK解決了用HTML5開發的APP在 Android4.4以下版本運行時的性能問題, 而且支持Android2.2以上版本(也支持iOS4.3以上版本)。

HBuilder是一款不錯的開發工具,縱觀,iOS開發的Xcode,Android開發的ADT、Studio,WP開發的VS,個人感覺HTML5開發App的這款編輯器,還勉強能拿的出手。可以下載試玩,免環境安裝,即可使用,內置Demo和教程。

MUI和流應用我就不分析了。MUI是一套前端框架,類似於JQuery Mobile、React Native的東西。流應用是一種推廣模式,本質上還是HTML5+ APP。

2 總結

利用DCloud平台,APP的性能良好。動態效果都將被增強瀏覽器引擎處理,通過增強的引擎,可以在低端機上流暢的運行各種動態效果,比如側滑菜單、下拉刷新、長列表滾動等。

話說使用該APP開發,還能一次推出6個端的發布:HTML5 瀏覽器、iOS ipa包、Android apk包、微信APP、百度直達號、流應用。

========16-02-02 V2.0.0========

2016/02/01 更新…

先附上界面!等著贊~

========16-02-01 V1.0.1========

公司用DCloud平台做了一個和快遞相關的項目,前端沒有用object-c和java,而是用H5(或者說HTML5 +)做的跨iOS和Android的手機APP。

目前看來,還可以~跟我深入研究過DCloud有關!

挖個坑!贊數多,就接著寫!

——HTML5研發工程師

——千行時線科技有限公司

========分割符 V1.0.0========


之前Hbuilder的忠實用戶,我們用HB做了我們的產品1.0-1.5,我們CTO一個人+CEO半個人,前後端全負責。

首先,用H5開發簡單的app沒問題,HB的編輯器,調試都非常棒,唯一美中不足是D廠的技術客服響應不太高。DCloud比他們競品APICloud,感覺D廠技術更牛逼一點,A廠更善於營銷和整合。

不過,產品開發到1.5版本,我們果斷換成原生了。原因么,我們的app功能越來越複雜,導致渲染速度越來越慢,不是HB不好,應該是H5的問題了。

感謝D廠開發的HB,繼續加油。

做MVP的首選。


dcloud有文檔嗎? dcloud有誠意嗎?

抱歉,沒有從任何一個方面可以看到它的誠意

官方一個自問自答的社區,當你發個問題幾天都沒有人回復的時候,你就知道你有多絕望了

不知道題主所謂的「誠意滿滿」是從哪裡來的自信?哪裡來的優越感?

PS:Hbuilder編輯器還不錯,不過也僅此而已了


之前安裝過D廠的 HBuilder。其實打開他們首頁的一瞬間我是嚇尿的。

不管是官網還是編輯器,感覺整體非常缺乏氣質,有一種山寨廠的感覺。現在在線的已經不是我當時看到的首頁了,稍微好了一些。

首頁包括移動demo裡面中英混雜、專有名詞的文本規範也做得非常不小心,簡直能讓人腦補出趕代碼已經累得要命、草草了事的工程師在凌晨三點摳著腳弄完首頁、demo之類的雜事。

HBuilder 這個 IDE 吧,我不太能理解「默認 solarized」「吐槽按鈕」等設計.....

看著那個「吐槽」按鈕我在想等等是不是會冒出彈幕?

(雖然 JetBrains 也喜歡強加一個不大眾的配色給用戶。爽么?開心么?)

除了設計之外,在細節上也給我一種事情做得不太乾淨的感覺。在 Mac 上裝完直接往 home folder 推了一個「HBuilder Project」之類的完蛋玩意兒,卸載完好像也還在,一股 Android 應用亂寫SD卡根目錄的遺風。

快給找個設計師好嗎?要很注意是有主見、有訓練、有點品味的那種,給他權力,讓他重做。不只是 demo、官網這些有的沒的,整個編輯器的設計、體驗都還有很大提升空間。

同樣是服務開發者的服務,看一眼 http://fir.im、LeanCloud、QingCloud 等等就應該知道工具的設計漂亮一點意義有多大。

吐完了)

距離上次我看到這家廠已經是好幾個月了,首頁改了(整體還是雜亂、缺設計)、多了 5+ Runtime(尚未體驗、不好說)、流應用(以及和360的合作和「快碼」、「秒開」的概念,這個非常重要)等,感覺還是有實在的增長的,看起來確實是那種「有在做事情」的 start-up。有機會還是很想深入了解、體驗一下的。

他們的「火鍋」demo好像是新的樣板應用,之前沒有看過。稍微試用了一下,不能說非常滿意。這裡提幾個點,好的壞的都有:

1. 首屏新手引導/功能介紹在 iPhone 上性能不錯,原生水準,有下功夫

2. iOS 系統許可權請求時機不合理。不知道是不是 native.js SDK 設計的問題,讓開發者只能在一開始請求。總之這種行為給了我一種「似乎用他們的 SDK 只能這樣做了啊」的預感.....

3. 試玩 HTML5 應用我總是會找些「不像原生」的點。總體來說他們各種動畫、跳轉、狀態欄配合之類的做得都還不錯。

看或者是鑒別 HTML5 或 hybrid應用的時候一定要注意看狀態欄以及與 iOS UISwitch 對應的組件。原生的 UISwitch 用 HTML5 實現難度其實是巨高的,非原生很容易就被看出來了;我覺得最好是要能實現到用戶能接受的水平或者就直接替代掉。

我本來想舉個例子,剛發現那個應用已經下架了,可惜。

偶爾還是有些無法接受的設計問題

比如說載入浮層上的文案「網頁載入中。。。」「網路連接超時!」

沒錯,三個句號。一個感嘆號。會講中文不一定就會寫好這些七七八八的小提示,要注意啊。

就說「用戶須知」這個頁面,裡面字體與段落設計馬上掉一個層次,和外面的總體設計不是一個樣子。

比如在訂單頁面下拉載入的時候與「沒有訂單」的提示圖標竟然撞在了一起。明顯的「亂堆元素」設計模式。

我能不能(也)吐槽一下知乎問題的文案?

倒不是說我就很討厭大家上知乎問關於自己公司的問題來做 PR(要是我我也這麼做啊),只是感覺一個匿名用戶問來問去蠻菜的。

說實話如果有 CEO 願意上知乎坦蕩蕩地、真誠地、或者只是半開玩笑地問「如何評價 {{ourProduct}}」也蠻喜聞樂見的。不是嗎?


已經使用H5+,mui開發了近一年了,也封裝過自己的框架,基於這個做出來的產品也有數十個。這種開發方案是沒問題的,而且在已有的Hybrid方案中,應該接近最優方案了。(個人這裡稍微吐槽下APICloud,那玩意不是給程序員用的,是給小白用到...)

樓上的 @谷震平 就回答的挺全面的。用Dcloud的H5+方案進行跨平台開發,幾乎可以自由發揮,很靠程序員自己的功力。

比如如果你自己封裝一套框架,那麼直接就可以用於: 普通瀏覽器+Android APP + iOS APP +微信 +流應用 + 自己公司的混合開發(原生webview+h5+原生拓展API,類似於5+) 等。十分的方便,非常適合批量生產項目或者新聞類的APP。

關於性能方面,基於目前大量的項目經驗來看,對於一些新聞閱讀類,信息展示類的應用,完全不必考慮這個問題(因為用一些優化方案,完全可以解決,Android下都可以流暢無比-比如Header+Body頁面的這種優化方案)。

主要需要考慮性能的是一些交互性很強的APP,或者各種動畫的APP。但是這類APP一般是不採用H5+來開發的,像我們這種APP是採用 「原生Wevview+h5 +原生拓展API」實現的。(相當於是自己去實現h5+...)這時候,前面說的的自己封裝的跨平台框架就可以派上用場了。

總的來說,如果你選用了H5+方案,然後自己封裝一套跨平台框架,那麼最終可以達到的效果就是一套代碼,多個平台:

H5+ 的Android,iOS APP。自己公司的混合開發: Android,iOS APP。普通瀏覽器,微信

PS:以上僅是個人見解,不喜勿噴...


首次有用戶肯定我們文檔的,真是難得!

目前很多產品已經開源,完全可以放心使用;不知你有什麼擔心?


Hbuilder不錯,用來寫網頁很好。其它就是坑了,文檔少,社區不活躍,有問題只能自己摸索。


用過。編輯器還不錯,雖然樣式不怎麼美觀,但調試還是比較方便的。mui和h5+不怎麼好用,mui使用場景很有限,而且bug很多。h5+性能和兼容性都有問題,之前在論壇提到的拍照閃退的問題現在好像還沒有解決,已經提了快一年了。


我怎麼覺得他們的技術客服和文檔都滿滿地傲嬌呢……

講正經地,這個公司還是挺有想法的,產品功能上也如他們所說,確實可以做到一份code發布多端產品,代碼熱更新也很有亮點,最大的不足在於性能,webview的大坑擺在那,雖然他們已經做了很多優化,但比起原生的應用來說還是差挺多的,他們自己的一些插件(如slides)也有性能問題。


當年在學校,破解了一個一個電商網站用來創業。然後移動端沒有搞到源碼,就去分析那個廠家的apk,然後了解到使用APPcloud的。大概跟著教程做了幾個demo用來做比賽去了。兩年後,也就是現在,為了做一個支持熱發代碼的app,調研方案的時候查apicloud的資料,然後了解到dcloud,看評價dcloud比appcloud高一個檔次。看dcloud甚至在官網貼apicloud抄dcoud的報道。看一些文章說dcloud在市場上有江湖地位。然後看是研究dcloud,研究越深發現坑越多。實在受不了了開始進行dcloud的逆向工程工作,解開之後真的發現,這代碼質量真是高啊。到處幾百行的大方法,if-else嵌套七八層,各種try-catch(Exception),各種e.printStackTrace(),各種異常發生不處理(丟掉用戶響應),各種object傳參數(或者object數組傳遞參數)一個強類型語言活生生給用成了弱類型語言,還有那個什麼事件派發器(coreEvent,FeatureEvent,WindowEvent)真是什麼垃圾設計啊,事件循環是用來實現mq模型,用來組件解耦的好么。完全耦合的代碼加一個事件機制,有其形無其意。對了,事件處理邏輯是一個個的的,怕是上千行的switch,完全沒有事件驅動的組件可拆卸的能力。還有,json處理全是手動拼裝參數,媽稍微來點兒json保留字母就掛了好么。還有就是,一大堆靜態變數,而且還是靜態變數直接訪問,一看就是不會抽象封裝的。到處重複邏輯,用點兒guava或者commons-lang3不行啊,媽的一個函數十幾行guava轉換成一行就行了,我還得很費勁理解這十幾行代碼的意思。

結論,dcloud是一堆培訓機構的人磊起來的代碼,各種地方透露出不專業的感覺。代碼質量吧,大學生外包水平,絕對沒有經歷過c10k流量的項目壓力(ps,逆向的是Android pdr工程還有各個feature實現的代碼,在dcloud肯定屬於核心邏輯,也就是Android的運行基座代碼)dcloud本身可能是一個比較好的想法,但是料定他根本駕馭不住,至少現在這個代碼質量,用來做一些忽悠客戶的不會有真實用戶的app還行,做線上app的話,各位慎重,畢竟還是玩具


  1. 沒有文檔,沒有文檔,沒有文檔,沒有javadoc
  2. 自帶了一個support-v4庫,我不知道為什麼要以jar包的形式把這個庫放在lib里,非常容易發生dex打包衝突
  3. 目前單獨以module的形式導入dcloud均失敗,網頁載入不響應,同樣的結構單獨做一個project就可以實現
  4. 架構上沒有Cordova清晰
  5. 沒有底層調用,所有的原生交互都要自己實現

真心不推薦使用。


目前為止,看 OS平台以WebView方式集成HTML5+SDK方法 鏈接簡單配置了一下的 XCode 工程 (因為我要用他們的第三方插件功能),但是配置這個工程我費了半天勁,你按照官方的文檔基本上是配置不出來的(是的,很多關鍵點沒有說明白,導致編譯過了但本地HTML無法載入,有興趣的可以看看文檔下面的評論)。出了問題怎麼辦,你需要在全站搜索出現相同問題的人員。倒確實是有人在幫忙回復用戶的配置問題。但是把官方文檔說清楚很難嗎。再吐槽一下 HBuilder 的編輯器,每次開的時候轉圈轉半天。

----

我覺得這種解決方案對不太懂iOS原生開發的小夥伴是個不錯的解決方案,還有就是不那麼重視用戶體驗的app可以用用。如果想重視用戶體驗同時又想跨平台,還是用 FB 的 React native 吧。類似的解決方案我只用過 DCloud 別的沒用過,我覺得 DCloud 還可以做的更好。加油吧!乾巴爹!


推薦閱讀:

O2O究竟是什麼?
在美國二維碼掃描應用多麼?
windows phone 或者說win10 mobile如果壯大會提升手機界的體驗嗎?
知識星球(原小密圈)適合做內容沉澱嗎?
獵豹手機瀏覽器,你怎麼看?

TAG:移動互聯網 | 移動應用 | HTML5 | 原生應用 | DCloud |