用原生js+node實(shí)現(xiàn)基于WebSocket的聊天應(yīng)用

簡言 (YouChat)

基于webSocket的web通信應(yīng)用(兼容移動端),后臺使用node+express搭建基礎(chǔ)http服務(wù),使用socket.io搭建通訊層的ws服務(wù)。實(shí)現(xiàn)了全部成員的群聊、針對某一成員的私聊以及新消息提示等一些常用功能。前端用原生js編寫實(shí)現(xiàn)了發(fā)送表情以及發(fā)送本地圖片功能,還用到了 manifest 相關(guān)的一些概念,可以通過桌面直接進(jìn)入。

Git倉庫

https://github.com/cp0725/YouChat

啟動流程

cd/YouChat

npm install

node server.js

本地訪問地址 http://127.0.0.1:8686/YouChat

(沒顧上做動態(tài)編譯 webpack 是構(gòu)建命令每次修改代碼都要運(yùn)行一次)

登錄頁

群聊以及私聊功能

發(fā)送表情包發(fā)送本地圖片

移動端UI展現(xiàn)

h5 Notification 的表現(xiàn)效果




另外要說兩個(gè)知識點(diǎn)是 manifest 和 Notification

manifest
manifest是PWA用到的一個(gè)技術(shù)點(diǎn),關(guān)于PWA早就想學(xué)習(xí)一下了,直到最近才看了官方的文檔,我們用link標(biāo)簽在頁面頭部引入一個(gè)manifest配置文件,在manifest配置文件里可以配置頁面圖標(biāo)、啟動動畫、應(yīng)用名稱等一些屬性,然后通過瀏覽器把應(yīng)用發(fā)送到桌面下次就可以直接從桌面進(jìn)入,表現(xiàn)的效果接近原生的app,因?yàn)殡[藏了瀏覽器的一些工具欄等操作區(qū)。交互性能上也要好很多,下面是相關(guān)的表現(xiàn)UI。

桌面圖標(biāo)

啟動動畫

主要功能

manifest只是PWA相關(guān)技術(shù)棧的一個(gè)技術(shù)點(diǎn),PWA還涉及到離線加載等很多的東西,本應(yīng)用就只是用manifest配置了一下展現(xiàn)UI。

Notification
Notification是H5的api作用是基于瀏覽器來觸發(fā)消息通知而不是頁面,也就是說把頁面最小化或者切換到別的tab頁,Notification的通知消息還是可以正常觸發(fā)。但是有一個(gè)限制在Chrome里必須是https協(xié)議,而safari則不對協(xié)議做限制,UI表現(xiàn)在上面已經(jīng)給出來了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,172評論 3 119
  • 呢稱:上將修禪 時(shí)間:風(fēng)雨過后的夜晚 坐標(biāo):此刻在彭城(徐州)廣場 27載,官至上將! 簡介:經(jīng)歷了人生的風(fēng)雨,讀...
    上將修禪閱讀 318評論 0 1
  • 上完課出來,雨還在下。到也比較小了,所以打算撐開傘走走。 夜晚是朦朧的薄紗,雨天的夜晚更是,在金黃的路燈下,還有一...
    夏目彩虹閱讀 427評論 2 1
  • 逝者如斯夫,不舍晝夜! 奔流的河水是那樣的匆忙,白天黑夜不停的流。 老婆,我知道!我們的婚姻也是如此,一轉(zhuǎn)眼三...
    我愛文學(xué)的力量閱讀 151評論 0 0
  • 〇、寫在前面 最近經(jīng)過朋友的介紹,來到北京的龍脊中醫(yī)正骨。每一次的治療過程都是和身體的一次對話。其實(shí)也是一個(gè)自我修...
    易仁小生在進(jìn)化閱讀 1,297評論 1 1

友情鏈接更多精彩內(nèi)容