摘要:和都是輔助小程序開發(fā)的開源庫,本文對兩者做個對比。微信的這種限制決定了小程序一般只是用于實現(xiàn)核心功能,不會用作復(fù)雜功能。在筆者了解的很多小程序,甚至大都是用原生開發(fā)的。
grace和wepy都是輔助小程序開發(fā)的開源庫,本文對兩者做個對比。
注:本文是作者本人的一些拙見,純粹的技術(shù)討論,不想引起技術(shù)信仰之爭,歡迎積極、正向的討論及建議。
如果你還不了解Grace, 請參考:微信小程序開發(fā)神器-Grace
Github: https://github.com/wendux/grace
自小程序發(fā)布后,現(xiàn)在最著名的小程序開發(fā)框架就是wepy, 它借助一系列工具,通過預(yù)編譯的手段實現(xiàn)了和Vue接近的開發(fā)風(fēng)格,可以認(rèn)為wepy更就是小程序的 vue(但還有一些不同,如布局模板),首先,必須承認(rèn)wepy是一個好的框架,如果你是Vue開發(fā)者,如果要開發(fā)一些大的小程序項目,wepy應(yīng)該是你的不二之選。但是我們換個角度,考慮下面兩個問題:
小程序開發(fā)者來源來自前端開發(fā)者
目前來看,如果是一名前端,那么很可能用過Angular/React/Vue中的一個,首先,如果你沒有用過Vue, 那么要使用wepy的學(xué)習(xí)成本接近于學(xué)習(xí)Vue的成本,這是第一點,學(xué)習(xí)成本會大一些。其次對于對Angular/React有強(qiáng)烈信仰的開發(fā)者來說,他們可能會問一聲,小程序就小程序,為什么非得弄成Vue. 在web開發(fā)時正宗的Vue都不用,會為了開發(fā)小程序再去學(xué)習(xí)一下wepy?
非前端開發(fā)者
在小程序發(fā)布后,想必大多數(shù)程序員都想嘗嘗,而并非只是前端程序員,對于這部分開發(fā)者來說,大都會采用小程序原生開發(fā),他們基本不肯能再去學(xué)習(xí)一個像Vue同等規(guī)模的前端框架。
總結(jié)一下,站在開發(fā)者的角度,wepy 采用了類Vue的開發(fā)風(fēng)格,即是優(yōu)勢,也是劣勢。優(yōu)勢是可以讓數(shù)量可觀的Vue開發(fā)者輕松過渡,但缺點是提高了其它開發(fā)者的使用門檻。所以,一個輕巧易上手的幫助工具就很有必要,而grace就是這樣的一個工具。
小程序定位小程序的定位本身就是“觸手可得,用完即走”, 解決想干個啥都得下個APP的歷史現(xiàn)象。有了小程序后,不用裝太多APP,只有在第一次用的時候花費少量流量下載即可。可以看到,小程序第一次使用時還是要下載,為了減少下載等待時間,節(jié)省用戶流量,小程序?qū)Τ绦虬拇笮≡O(shè)置了上線4M, 這也為什么小程序中“小”的含義。 微信的這種限制決定了小程序一般只是用于實現(xiàn)核心功能,不會用作復(fù)雜功能。這也就決定了,在大多數(shù)小程序開發(fā)時,我們需要的并不是什么強(qiáng)拽炫酷吊炸天的大框架,而是一些簡單的幫助工具,而grace的定位就是一個精巧的幫助工具。在筆者了解的很多小程序,甚至大都是用原生開發(fā)的。
下面總結(jié)一下主要區(qū)別:
定位不同;grace的定位是一個精巧、易用的小程序開發(fā)輔助庫,而wepy是一個功能全面的類vue框架.
grace使用簡單易上手,wepy對不了解Vue的開發(fā)者有不小的學(xué)習(xí)成本,并且開發(fā)環(huán)境依賴多,配置比較復(fù)雜。
grace更貼近于原生,wepy更貼近于web.
?
下面我們看看Grace都有哪些功能:
Grace可以干什么我們看看grace的特點:
輕量、小巧、上手簡單
支持和Vue一樣優(yōu)雅的數(shù)據(jù)響應(yīng)式
支持?jǐn)?shù)據(jù)自動更新、更改緩存、批量更新
強(qiáng)大的網(wǎng)絡(luò)功能
支持全局事件總線
支持跨頁面?zhèn)髦?/p>
支持mixins
主打是精巧,可以看到目前核心功能主要涉及三個方面:數(shù)據(jù)、網(wǎng)絡(luò)、事件。
數(shù)據(jù)小程序是數(shù)據(jù)與頁面渲染分離的,所以在開發(fā)中會有大量的setData 操作,grace為了簡化這大量的顯式數(shù)據(jù)更新,實現(xiàn)了和Vue一致的數(shù)據(jù)響應(yīng)式-可以通過賦值直接更新數(shù)據(jù)。與此同時,為了避免頻繁setData 帶來的性能消耗,grace不僅支持手動批量刷新而且grace可以自動跟蹤頁面前后臺切換,如果頁面切換到后臺,則不會再去調(diào)用setData ,而是將變動先緩存,等到頁面切換到前臺,才會統(tǒng)一刷新,有效避免不必要的性能消耗。
網(wǎng)絡(luò)大多數(shù)小程序都需會和后臺通過http進(jìn)行通信,為此,grace提供了強(qiáng)大、靈活、良好的Promise API,同時支持全局請求配置、請求/響應(yīng)攔截器等。更重要的是,Promise風(fēng)格的API可以支持ES7的async/await。
事件小程序原生在跨頁面通信方面比較弱,為此,grace提供了一個全局事件總線,你可以在任何頁面通過注冊/觸發(fā)事件來進(jìn)行通信。 不僅如此, grace還在事件總線的基礎(chǔ)上,實現(xiàn)了更友好的頁面數(shù)據(jù)回傳的回調(diào)。
除了這些,grace還支持 mixins,提供了一種擴(kuò)展新功能的方式,它可以在全局給頁面添加一些功能,開發(fā)者可以自己發(fā)揮。
Grace今后的發(fā)展筆者覺得小程序的量級一般都不會太大,為了避免過度設(shè)計,grace會一直保持精巧而易用的原則,不會添加太多使用頻率比較小的功能。如果大家有什么好建議,或者希望grace添加什么新功能,都可以在github提issue.
最后,貼出Github地址,如果覺得對你有用,歡迎star, 如果有什么建議,歡迎issue。
Grace項目地址:https://github.com/wendux/grace
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93269.html
摘要:一個精巧易用的微信小程序開發(fā)輔助庫特點輕量小巧上手簡單支持和一樣優(yōu)雅的數(shù)據(jù)響應(yīng)式支持?jǐn)?shù)據(jù)自動更新更改緩存批量更新強(qiáng)大的網(wǎng)絡(luò)功能支持全局事件總線支持跨頁面?zhèn)髦抵С质纠こ淘谠创a目錄下用微信小程序開發(fā)工具打開即可。 Grace 一個精巧、易用的微信小程序開發(fā)輔助庫 Github: https://github.com/wendux/grace 特點 輕量、小巧、上手簡單 支持和Vue一樣...
摘要:上一篇小程序開發(fā)第一篇注冊獲取同步企業(yè)項目數(shù)據(jù)微信小程序開發(fā)者工具下載小程序開發(fā)者工具使用小程序原生開發(fā)直接使用小程序開發(fā)者工具打開項目即可小程序框架開發(fā)首選官方提供類開發(fā)框架,備選。 上一篇:小程序開發(fā) 第一篇:注冊、獲取unionid同步企業(yè)項目數(shù)據(jù) 1.微信小程序開發(fā)者工具 下載:小程序開發(fā)者工具 使用: 小程序原生開發(fā):直接使用小程序開發(fā)者工具打開項目即可 小程序框架開發(fā):...
摘要:所以在小程序出現(xiàn)之后,一股框架之風(fēng)也很快的出現(xiàn),微信小程序剛推出之后,就出現(xiàn)了兩個比較出名的小程序開發(fā)框架,。 原文地址:https://ant-move.github.io/we... 這里說的去除小程序框架其實并不嚴(yán)謹(jǐn),因為小程序本身也算是一個框架,而且是一個功能更加完善的框架系統(tǒng)。在前端的概念中,我們一般說一個框架是指一個用來幫助開發(fā)者構(gòu)建用戶界面的框架,而小程序框架本身不僅僅包...
閱讀 1833·2021-11-23 09:51
閱讀 954·2021-10-08 10:05
閱讀 3439·2021-09-26 09:55
閱讀 1046·2021-09-22 15:21
閱讀 1641·2021-09-09 09:33
閱讀 1288·2019-08-30 15:56
閱讀 1292·2019-08-30 15:55
閱讀 974·2019-08-30 13:19