如果你關(guān)心競(jìng)品對(duì)比,這里有幾份詳盡對(duì)比:
uni-app收費(fèi)嗎?
uni-app 是免費(fèi)并且屬于Apache2.0開(kāi)源協(xié)議的產(chǎn)品。DCloud官方承諾永遠(yuǎn)不會(huì)變更開(kāi)源協(xié)議。無(wú)論HBuilderX、uni-app、App,面向中國(guó)人永久免費(fèi)。大家可以放心使用。
DCloud的盈利方式在幫助開(kāi)發(fā)者進(jìn)行推廣和流量變現(xiàn)上,而不在開(kāi)發(fā)工具收費(fèi)上。
跨端會(huì)造成功能受限制嗎?
uni-app在跨平臺(tái)的過(guò)程中,不犧牲平臺(tái)特色,不限制平臺(tái)的能力使用。
應(yīng)用開(kāi)發(fā)中,90%的常規(guī)開(kāi)發(fā),比如界面組件、聯(lián)網(wǎng)等api,uni-app封裝為可跨多端的API。
各個(gè)端的特色功能,uni-app引入條件編譯??梢詢?yōu)雅的在一個(gè)項(xiàng)目里調(diào)用不同平臺(tái)的特色能力。比如push,微信小程序里不支持,但可以在App里使用,還有很多原生sdk,在App時(shí)難免涉及,這些都可以正常的在uni-app框架下使用。
下圖是uni-app產(chǎn)品功能框架圖,uni-app在保持uni規(guī)范跨平臺(tái)的前提下,還可實(shí)現(xiàn)每個(gè)平臺(tái)特有的平臺(tái)能力(如微信小程序平臺(tái),可繼續(xù)調(diào)用微信卡劵等微信特有業(yè)務(wù)API)。
在做小程序時(shí),小程序所有的api都可以使用;而輸出到App時(shí),原生渲染引擎、原生sdk集成和混寫都支持,使得原生的所有api都可以使用。
同時(shí)注意,條件編譯不同于代碼里if邏輯判斷。條件編譯塊里的代碼或指定的文件,只有在特定平臺(tái)才會(huì)被編譯進(jìn)去,不會(huì)把不能用的其他平臺(tái)代碼混在一個(gè)包里。如果大量使用if判斷,會(huì)增大體積和影響性能,而條件編譯則沒(méi)有這些問(wèn)題,減少包體積,減少互相的干擾。
uni-app的手機(jī)端用戶體驗(yàn)如何?
使用uni-app開(kāi)發(fā)的微信小程序,因?yàn)橹悄艿奶幚淼臄?shù)據(jù)的diff,比大多人手寫的原生小程序的性能還好。詳細(xì)數(shù)據(jù)評(píng)測(cè)參考:https://juejin.im/post/5ca1736af265da30ae314248
uni-app打包成App后,支持webview渲染和weex原生渲染這2種引擎,可以任由開(kāi)發(fā)者切換使用。
由于有豐富的插件市場(chǎng),以及支持所有小程序SDK在App端的使用,使得uni-app擁有更龐大的應(yīng)用生態(tài)。
只開(kāi)發(fā)小程序,需要uni-app嗎?
是的,單獨(dú)開(kāi)發(fā)小程序,也應(yīng)該使用uni-app。它比其他小程序框架或原生小程序開(kāi)發(fā)更有優(yōu)勢(shì)。原因如下:
只開(kāi)發(fā)App,需要uni-app嗎?
uni-app是更好的跨平臺(tái)開(kāi)發(fā)框架,開(kāi)發(fā)一次iOS、Android都有了。體驗(yàn)好、開(kāi)發(fā)效率高。
uni-app在App端,基于能力層/渲染層分離的架構(gòu)設(shè)計(jì)(見(jiàn)下圖),渲染層是webview和weex二選一,能力調(diào)用都是共同的plus api,比如藍(lán)牙、掃碼等能力;也就是weex被內(nèi)置到uni-app中,并且被強(qiáng)化了。
過(guò)去weex有個(gè)很大的問(wèn)題是api太少,開(kāi)發(fā)時(shí)必須iOS、Android原生和前端3撥團(tuán)隊(duì)協(xié)作開(kāi)發(fā),實(shí)際上react native也如此,因?yàn)樗麄兊暮诵闹皇歉咝阅茕秩酒鳌?/p>
plus api的結(jié)合解決了這個(gè)問(wèn)題,大多數(shù)App的開(kāi)發(fā)不再需要原生介入了,從而把跨平臺(tái)開(kāi)發(fā)省成本這個(gè)核心目的落地了。
uni-app在App側(cè)可以使用豐富的小程序sdk,如網(wǎng)易云信、環(huán)信、七牛等眾多sdk廠商均原廠維護(hù)其小程序sdk版本,而這些sdk均可直接用于uni-app并發(fā)布為iOS、Android的App。
uni-app的插件市場(chǎng)里有非常多的ui庫(kù)、組件、模板,可以大幅提升開(kāi)發(fā)效率。
相比純?cè)_(kāi)發(fā),uni-app體驗(yàn)可商用,也不會(huì)限制功能調(diào)用,但開(kāi)發(fā)效率和開(kāi)發(fā)成本更優(yōu)于原生開(kāi)發(fā)。
如果你已經(jīng)有了原生App,那么可以局部使用uni-app,內(nèi)嵌SDK,讓工程逐步跨平臺(tái)化。
uni-app是多端寫在一個(gè)項(xiàng)目統(tǒng)一升級(jí)維護(hù),還是每個(gè)端不同的項(xiàng)目,只復(fù)用部分代碼
uni-app是多端寫在一個(gè)基礎(chǔ)項(xiàng)目下,差異使用條件編譯來(lái)管理。
這有個(gè)巨大的好處是一套工程代碼,升級(jí)時(shí)可多端同時(shí)更新。
如果把不同端的項(xiàng)目分開(kāi),那么維護(hù)升級(jí)時(shí)非常麻煩,無(wú)法方便同步升級(jí)。
所以u(píng)ni-app開(kāi)發(fā)微信小程序時(shí),不止編碼,包括域名校驗(yàn)等配置均在HBuilderX里完成,不需要在微信開(kāi)發(fā)者工具里二次調(diào)整。
uni-app 學(xué)習(xí)成本高嗎?基于什么技術(shù)棧?
uni-app簡(jiǎn)單來(lái)說(shuō)是 vue的語(yǔ)法 + 小程序的api。
它遵循Vue.js語(yǔ)法規(guī)范,組件和API遵循微信小程序命名,這些都屬于通用技術(shù)棧,學(xué)習(xí)它們是前端必備技能,uni-app沒(méi)有太多額外學(xué)習(xí)成本。
有一定 Vue.js 和微信小程序開(kāi)發(fā)經(jīng)驗(yàn)的開(kāi)發(fā)者可快速上手 uni-app 。
沒(méi)學(xué)過(guò)vue的同學(xué),也不用掌握vue的全部,只需了解vue基礎(chǔ)語(yǔ)法、虛擬dom、數(shù)據(jù)綁定、組件、vuex,其他如路由、loader 不用學(xué),cli、node.js、webpack也不需要學(xué)。
官方有入門培訓(xùn)視頻,且還有眾多培訓(xùn)渠道加入uni-app生態(tài),可參考培訓(xùn)教程資源匯總。
uni-app 開(kāi)發(fā)體驗(yàn)如何?支持現(xiàn)代前端開(kāi)發(fā)流程嗎?
uni-app 積極擁抱社區(qū)現(xiàn)有的現(xiàn)代開(kāi)發(fā)流程,包括但不限于:
uni-app 生態(tài)開(kāi)放性如何?能否直接利用現(xiàn)有前端社區(qū)資源?
uni-app 提供了開(kāi)放性的生態(tài):
需要注意的是,uni-app 采用Vue.js方案,限制了dom操作,因此所有基于dom的前端庫(kù)都無(wú)法直接使用;所幸的是目前基于微信小程序的庫(kù)已經(jīng)非常多了,這個(gè)生態(tài)也很完善,所有微信小程序的庫(kù)在uni-app 里都能用,不止是在微信里能用,在App下也能用。
uni-app 支持的手機(jī)版本最低到多少?
Android4.4、iOS8是官方會(huì)保障兼容的。 要知道Android4.4已經(jīng)是2013年發(fā)布的手機(jī)了,正常用戶不會(huì)還在用這么久遠(yuǎn)的手機(jī)。
uni-app成熟度高嗎?
uni-app是目前最成熟的多端開(kāi)發(fā)框架,已迭代幾十個(gè)版本,擁有幾十個(gè)開(kāi)發(fā)者交流群,幾十萬(wàn)應(yīng)用案例。
阿里小程序IDE官方內(nèi)嵌uni-app,uni-app沒(méi)有讓阿里巴巴失望,也不會(huì)讓你失望。詳見(jiàn):https://ask.dcloud.net.cn/article/36485
uni-app的社區(qū)活躍嗎?
加入uni-app的群就知道,幾十個(gè)QQ/微信群每天數(shù)萬(wàn)條聊天記錄,非?;钴S。論壇里每天數(shù)百個(gè)帖子。
插件市場(chǎng)內(nèi)容也非常豐富,各種輪子方便可用。https://ext.dcloud.net.cn/,并且很多輪子的uni-app版,性能功能都強(qiáng)于微信小程序版。
基于uni-app的三方培訓(xùn)也很多。騰訊課堂官方親自為uni-app制作了課程。
uni-app 有哪些已上線的成功案例?
開(kāi)發(fā)者分享的案例參考uni-app 應(yīng)用案例
DCloud是家什么公司,是否可信賴
DCloud從2013年開(kāi)始做HBuilder,目前380萬(wàn)前端開(kāi)發(fā)者在使用DCloud的開(kāi)發(fā)工具,HBuilder百度指數(shù)與sublime、webstorm等全球知名工具相同。是中國(guó)唯一一家成功的開(kāi)發(fā)工具廠商。
DCloud是明星創(chuàng)業(yè)公司,融資已經(jīng)過(guò)了B2輪,且均為知名VC或戰(zhàn)略投資人。
DCloud是HTML5中國(guó)產(chǎn)業(yè)聯(lián)盟的發(fā)起單位和秘書單位。該聯(lián)盟隸屬于工信部信通院標(biāo)準(zhǔn)所。
DCloud產(chǎn)品中使用的HTML5Plus規(guī)范,為聯(lián)盟的標(biāo)準(zhǔn)規(guī)范而非私有api。
DCloud的產(chǎn)品技術(shù)一直引領(lǐng)業(yè)內(nèi),2015年就上線業(yè)內(nèi)第一個(gè)"小程序":DCloud流應(yīng)用。隨后DCloud廣泛推動(dòng)業(yè)內(nèi)各大公司上線"小程序",普及該技術(shù)廣泛應(yīng)用。
數(shù)年來(lái)只有其他公司侵權(quán)DCloud,這些作惡公司已被法院判決給DCloud賠款道歉,DCloud從未有劣跡,誠(chéng)信立足于行業(yè)。
阿里小程序IDE官方內(nèi)嵌uni-app,uni-app沒(méi)有讓阿里巴巴失望,也不會(huì)讓你失望。詳見(jiàn):https://ask.dcloud.net.cn/article/36485
App打包必須上傳DCloud云端嗎?代碼會(huì)泄露嗎?
代碼可以云打包,也可以離線打包。
即使使用云打包,DCloud也不會(huì)保留開(kāi)發(fā)者的代碼,云端打包完成后程序不會(huì)持久化存儲(chǔ)相關(guān)文件,DCloud不愿也不敢沾惹這方面的麻煩。
之所以提供云打包,是方便不熟悉原生的前端工程師直接生成App安裝包。包括讓沒(méi)有mac電腦的工程師也可以打出iOS的包。
DCloud提供哪些技術(shù)支持?碰到框架bug影響業(yè)務(wù)怎么辦?
uni-app 是DCloud全力打造的重點(diǎn)產(chǎn)品,不是非專業(yè)公司的KPI項(xiàng)目。不會(huì)因?yàn)槟承┴?fù)責(zé)人的流動(dòng)導(dǎo)致框架爛尾。 uni-app 的github上的dev分支是日更的,可隨時(shí)修復(fù)bug。并且作為開(kāi)源產(chǎn)品,開(kāi)發(fā)者也可以修改源碼。 uni-app 的app引擎,支持原生擴(kuò)展,只要你會(huì)原生擴(kuò)展,就不怕app引擎有限制,大不了自己補(bǔ)一個(gè)原生插件進(jìn)去。 uni-app 開(kāi)發(fā)小程序,無(wú)需依賴微信等平臺(tái)升級(jí)。它們升級(jí)后,uni-app是可以直接使用的,不需要等待uni-app升級(jí)才能使用微信的新功能。
開(kāi)發(fā)者碰到問(wèn)題,可以通過(guò)如下途徑進(jìn)行反饋交流:
另外,如果您確實(shí)需要商業(yè)化的保障才安心,也可以申請(qǐng)付費(fèi)技術(shù)支持。
大型互聯(lián)網(wǎng)公司發(fā)布的開(kāi)源框架,是不是更有影響力?
大型互聯(lián)網(wǎng)公司在自用某個(gè)項(xiàng)目時(shí),解決了某個(gè)問(wèn)題,把它摘出來(lái)開(kāi)源,這個(gè)是眾多大公司開(kāi)源項(xiàng)目的來(lái)源和初衷。
而之所以把內(nèi)部自用的框架開(kāi)源出來(lái),基本是為了在技術(shù)圈塑造形象和威望。對(duì)團(tuán)隊(duì)而言,有助于招聘;對(duì)負(fù)責(zé)人個(gè)人而言,有助于晉升和提升名氣。
這類開(kāi)源項(xiàng)目被戲稱為KPI項(xiàng)目,往往逃不開(kāi)4個(gè)魔咒:
而DCloud這家公司就是為開(kāi)發(fā)者而生的,優(yōu)秀的人才和資源全部是為開(kāi)發(fā)者服務(wù)的,產(chǎn)品立項(xiàng)之初廣泛調(diào)研不同開(kāi)發(fā)者的需求,產(chǎn)品發(fā)布后持續(xù)迭代,讓開(kāi)發(fā)者們使用的更便利。
更多建議: