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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

支付宝前端团队详解基于Node.jsWeb框架Chair

發(fā)布時間:2023/12/16 HTML 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 支付宝前端团队详解基于Node.jsWeb框架Chair 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Chair是支付寶前端團(tuán)隊推出的,基于Node.js的Web框架,適用于大部分的Web應(yīng)用。

本文簡要介紹Chair的設(shè)計思想、功能架構(gòu)和開發(fā)狀況。

一、Chair的由來和設(shè)計思想

歷史上,支付寶前端項目都是直接基于Java后端開發(fā)的。這種架構(gòu)下,前端工程師做出網(wǎng)頁模板(基于velocity模板引擎的vm文件),交給后端的Java引擎渲染。支付寶采用的Java引擎是名為Sofa的MVC框架。

對于前端工程師來說,這種架構(gòu)有很多不方便的地方。首先,需要了解后端的實現(xiàn),并且依賴開發(fā)環(huán)境中的dev服務(wù)器進(jìn)行調(diào)試開發(fā);其次,開發(fā)細(xì)節(jié)需要與后端的Java工程師溝通,交流成本相當(dāng)大;最后,難以發(fā)起技術(shù)創(chuàng)新,因為只要涉及后端的調(diào)整,推動起來非常困難。在前端技術(shù)日新月異的今天,這已經(jīng)越來越成為前端工程師心中的痛。

Chair框架就是在這種背景下誕生的,我們希望通過加入一個Node層,加速前端開發(fā),提升研發(fā)效率,提高網(wǎng)站整體性能和系統(tǒng)的可維護(hù)性。

作為Sofa的替代,Chair直接與底層的Java服務(wù)通信,而客戶端瀏覽器則與Chair通信,這樣就不使用Sofa了。前端工程師因此可以完全不碰Java,使用熟悉的JavaScript語言,同時在瀏覽器和服務(wù)器兩端進(jìn)行快速迭代。

事實上,Chair這個名字就是來自跟Sofa的對比,因為兩者都能坐人,但是椅子(Chair)比沙發(fā)(Sofa)輕多了。支付寶已經(jīng)有了沙發(fā),我們想再為它添一把椅子。

Chair為前端開發(fā),帶來了很多便利。

  • 提高了研發(fā)效率,前端工程師直接可以改動服務(wù)器,避免了與Java后端不必要的溝通成本。
  • 更清晰的職責(zé)劃分,前端針對表現(xiàn)層(View)開發(fā),后端針對業(yè)務(wù)和數(shù)據(jù)(Controller和Model)開發(fā)。
  • 更好的?程化,前端自己就能完成單元測試、集成測試和自動發(fā)布。
  • 節(jié)省人工,同樣的組件(比如模板和路由)只需要寫一次,不用再為瀏覽器和服務(wù)器各寫一遍了。
  • 預(yù)期的性能提升,Node作為服務(wù)器端時,有很強的HTTP請求處理能力。

目前,Chair已經(jīng)投入了生產(chǎn)環(huán)境,與Sofa各自支持著不同的支付寶Web應(yīng)用。預(yù)計不遠(yuǎn)的將來,會出現(xiàn)更多基于Chair的Web應(yīng)用。

二、Chair的結(jié)構(gòu)

Chair的基礎(chǔ)代碼,是基于Koa框架的再開發(fā),使用的語言是下一代JavaScript——ECMAScript 6,模板引擎是Nunjucks,但也可選用其他引擎。同時兼容Velocity模板,現(xiàn)有絕?部分模板?件?需修改也能正常渲染。

整個框架從瀏覽器到服務(wù)器,一共分成五層:

  • 路由層(routers):適配不同路徑的HTTP請求
  • 中間件層(middlewares):加工HTTP請求
  • 控制器層(controllers):部署業(yè)務(wù)邏輯
  • 服務(wù)層(services):提供內(nèi)部的統(tǒng)一API,供不同業(yè)務(wù)調(diào)用
  • 代理層(proxy):負(fù)責(zé)與Java服務(wù)通信,提供統(tǒng)一格式的數(shù)據(jù)
  • 除了模板引擎以外,Chair還部署了一些功能組件,比如mock(數(shù)據(jù)模擬)和logger(日志器)。

    Chair根據(jù)業(yè)務(wù)實際需求和現(xiàn)有架構(gòu)高度定制。雖然從結(jié)構(gòu)上看,Chair可以提供完整的后端功能,但目前主要用于模板渲染和路由。真正的業(yè)務(wù)邏輯和數(shù)據(jù)處理,還是要交給后端的Java服務(wù)。

    ?

    三、性能提升

    Node的加入,為很多功能提供了很大的性能改進(jìn)。根據(jù)壓測的結(jié)果,使用Chair(下圖的web)比使用原來的方案(下圖的portal),響應(yīng)時間和系統(tǒng)負(fù)載能力至少提高一倍以上。

    四、Chair的開發(fā)進(jìn)度

    12月上旬,Chair發(fā)布了0.5版。除了修正Bug,這一版主要添加了以下功能。

    • 支持 cookie session, 不依賴 tair
    • 支持連接 MySQL數(shù)據(jù)庫
    • 支持mvc stat 和 rpc stat 日志統(tǒng)計
    • 支持統(tǒng)一導(dǎo)航 uninav 模板
    • 頁面數(shù)據(jù)模擬 pagemock

    目前,Chair正處于密集開發(fā)之中,預(yù)計明年上半年發(fā)布1.0.0版。

    該文章來自阿里巴巴技術(shù)協(xié)會(ATA)精選集

    作者:兔哥

    總結(jié)

    以上是生活随笔為你收集整理的支付宝前端团队详解基于Node.jsWeb框架Chair的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 自宅警备员在线观看 | 欧美怡春院| 亚洲天堂一区二区在线 | 亚洲国产无 | 婷婷去俺也去 | www.黄色av | 午夜福利电影一区二区 | 在线免费福利视频 | 美女扒开腿让男人捅 | 女人脱下裤子让男人捅 | 男女互操 | 国产精品亚洲欧美 | 欧美日韩性生活 | 欧美美女一区 | 日韩aaaaaa| 综合热久久 | 成人国产精品久久久网站 | 精品人妻无码一区二区三区蜜桃一 | 亚洲国产二区 | 欧美一级免费片 | 亚洲精品日韩av | 国产社区在线 | 亚洲一区二区三区视频在线 | 大陆一级黄色片 | 日本一级片免费看 | 女人17片毛片60分钟 | 影音先锋男人的天堂 | 亚洲毛茸茸 | 日韩精品第1页 | 污污网址在线观看 | 91久久久久久久久久久 | 去毛片 | 97视频总站 | 伊人成人在线 | 老女人性生活视频 | 精品国产一二三 | 国产精品女同 | 91红桃视频 | 秒拍福利视频 | 狠狠躁18三区二区一区 | 落日余晖图片 | 拔插拔插华人 | 国产精品色悠悠 | 九一爱爱| 老司机深夜福利在线观看 | 秋霞无码一区二区 | 成人mv在线观看 | 天天操天天干天天 | 日本国产亚洲 | 亚洲 欧美 日韩 国产综合 在线 | 不卡中文字幕 | 久久免费黄色网址 | 茄子av| 国语久久 | 日韩av一区在线 | 亚洲熟妇无码久久精品 | 91视频直接看 | aaa亚洲| 欧美日韩激情视频在线观看 | 91夫妻视频 | 国产的av| 午夜三级在线观看 | 91精品国产色综合久久不卡蜜臀 | 欧美性猛交乱大交 | 成人看的视频 | 成人依依 | 激情网站免费 | 黄色片a级 | 国产精品jizz在线观看软件 | 天堂在线资源库 | 寂寞少妇让水电工爽hd | 91蜜桃视频在线观看 | 久久婷婷五月国产色综合激情 | 国产成人在线视频播放 | 天天做天天干 | 久操网站| 亚洲精品丝袜 | 亚洲av鲁丝一区二区三区 | 国产一精品一aⅴ一免费 | 超碰在线综合 | 成人激情视频在线 | 国产九九久久 | √资源天堂中文在线视频 | 免费的三级网站 | 欧美在线视频一区二区三区 | 老司机成人在线 | 男女做激情爱呻吟口述全过程 | 丁香免费视频 | 97成人人妻一区二区三区 | 欧美成人天堂 | 欧美日韩操 | 婷婷五月在线视频 | 亚洲国产日韩在线一区 | 91口爆一区二区三区在线 | 日韩每日更新 | 97视频一区二区三区 | 欧洲精品无码一区二区 | 成人av电影免费观看 | 姑娘第5集高清在线观看 |