日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

实时Javascript开发框架Clouda、Meteor、Firebase对比

發(fā)布時間:2023/12/18 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实时Javascript开发框架Clouda、Meteor、Firebase对比 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是實時Javascript開發(fā)框架?

自從2009年Node.js橫空出世以來,吸引了無數(shù)程序猿們的眼球:前端后端都用一樣的語言來做開發(fā)是多么和諧完美的一件事兒,前端工程師們再也不用找寫后端的大爺們配合調(diào)代碼了。Node.js的強勢是無須質(zhì)疑的,基于Chrome的V8引擎、超低學(xué)習(xí)門檻、事件驅(qū)動、Socket.io、良好的模塊管理工具,給Node.js帶來了無限的想象空間。

實時開發(fā)框架里面的Realtime的意思是,前端和后端的數(shù)據(jù)交換是實時的,也就意味著一旦服務(wù)器在有了最新的數(shù)據(jù)時,前端會實時得到數(shù)據(jù)并呈現(xiàn)在用戶面前。據(jù)測試,這一速度可以達(dá)到10ms這一個級別。10ms什么概念?App上一次接收到數(shù)據(jù)都還沒來得及展示到用戶的屏幕上,由此帶來的用戶體驗革命可想而知:-)。

這巨大的突破來源于Node.js 的架構(gòu)與 Django, Rails 等傳統(tǒng)的 Framework的本質(zhì)的不同,它不需要放在 Nginx / Apache 后,利用 WSGI、 CGI 之類的接口一板一眼的 [接受Request] -> [運行程序邏輯] -> [生成并返回Response],而是跟前端的直接對話。這是一個巨大的變化,之前一些無法想象的功能都有可能實現(xiàn)了。比如 https://github.com/Miserlou/DirtyShare 可以用瀏覽器實現(xiàn) P2P 的文件傳輸。正因為Node.js 可以更精細(xì)的控制 Request 和Response 的時間和內(nèi)容,WebSocket 似乎天生就是為 Node.js 而生的,而配合 http://socket.io 這個神奇的庫之后,在Realtime WebApp 這個領(lǐng)域,Node.js 已經(jīng)沒有對手了。[1]

?

介紹完實時JS開發(fā)框架的概念,該上干貨了,歡迎圍觀Clouda、Meteor、Firebase的大PK,圍觀之前請自備Node.js及MongoDB基礎(chǔ)知識:


共同優(yōu)點:

1.? 前后端統(tǒng)一,只用Javascript一門語言,抹平云端界限,一份代碼處處運行。

2.? 實時數(shù)據(jù)同步,所有數(shù)據(jù)實時推送的基礎(chǔ)設(shè)置,每個終端都無延遲同步響應(yīng)。

3.? 前端隨動反饋,面向數(shù)據(jù)的編程模型,數(shù)據(jù)實時推送后,界面會自動更新。

4.? 省流量,省掉了通過Ajax請求建立和關(guān)閉連接時的暫用的額外流量。

5.? 跨平臺,iOS、Android、PC端一應(yīng)俱全。

6.? 代碼簡潔,輕輕松松幾分鐘內(nèi)實現(xiàn)一個聊天室或TodoList的跨平臺應(yīng)用。

不算缺點的缺點:

1.? 沒有Web UI,得自行解決UI問題。

2.? 前后端混合編程可能剛開始有點難以理解。

?

Clouda (開發(fā)框架):http://cloudajs.org/

優(yōu)點:

1.? 專為移動,全面兼容手機、平板、PC。

2.? 高兼容性,標(biāo)配數(shù)據(jù)同步工具,兼容已有服務(wù);同時兼容Backbone等開源框架。

3.? SEO能力,原廠匹配主流搜索引擎,每個APP場景都可以被搜索引擎爬蟲抓取。(度娘的良心!)。

4.? 中文框架,簡單語法搭配豐富教程與文檔,保證快速上手,還配有5分鐘教程。

5.? 多種渲染模式,支持客戶端和服務(wù)端渲染,節(jié)省服務(wù)端或客戶端的運算資源。

6.? MVC結(jié)構(gòu),便于代碼管理及擴(kuò)展開發(fā)。

缺點:

1.? 新框架,學(xué)習(xí)資料偏少。

2.? 目錄結(jié)構(gòu)略微復(fù)雜,上手難度高。

3.? 完善度不高,部分代碼難以理解。


Meteor (開發(fā)框架):http://www.meteor.com

優(yōu)點:

1.? 結(jié)構(gòu)簡單,上手較容易(非MVC框架)。

2.? 實時代碼更新,在服務(wù)器代碼更新后,客戶端無須用戶干預(yù),實時更新。

3.? 延遲同步機制,用戶提交的數(shù)據(jù)實時反饋在屏幕上,如果因為網(wǎng)絡(luò)原因數(shù)據(jù)提交失敗,數(shù)據(jù)會在網(wǎng)絡(luò)重新連接后上傳。

4.? 便捷發(fā)布,打包后的程序中會包含所有依賴項,讓代碼可以在任意裝有Node.js的機器運行。

5.? 互通性,支持通過DDP協(xié)議連接到NativeAPP、數(shù)據(jù)庫甚至是Arduinos。

6.? 兼容性,可以輕松的兼容其他模板框架、測試框架、Dom操作框架等。

?

Firebase (數(shù)據(jù)服務(wù)):https://www.firebase.com/

優(yōu)點:

1.??????Api簡單,使用起來非常的方便,可大大減少代碼量。

2.??????可通過網(wǎng)頁對數(shù)據(jù)進(jìn)行管理,很方便。

3.??????支持SSL、權(quán)限認(rèn)證、數(shù)據(jù)安全機制。

缺點:

1. 數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫存儲方式不一致(由于想支持REST方式讀取數(shù)據(jù))

2. 不能部署自己的數(shù)據(jù)庫(很多項目都需要自己維護(hù)數(shù)據(jù)庫的)

3. 目前數(shù)據(jù)操作能力較弱(有很多需求(稍微復(fù)雜點的查詢)目前Firebase很難支持)

4. 數(shù)據(jù)分析功能很弱,只能查看流量和當(dāng)前在線人數(shù)(獨立數(shù)據(jù)庫的話,這部分很容易做的更強大)[2]

?

總的來說,Cloudajs具備較大的本土化資源優(yōu)勢、支持SEO,Meteor的功能更強勁,Firebase更傾向于數(shù)據(jù)服務(wù)而非開發(fā)框架。

?

引用:

[1] http://www.zhihu.com/question/19653241

[2] http://cnodejs.org/topic/51f0edf7f4963ade0e082c19

總結(jié)

以上是生活随笔為你收集整理的实时Javascript开发框架Clouda、Meteor、Firebase对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。