一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

重磅!滴滴開源跨平臺統(tǒng)一MVVM框架Chameleon

 黃爸爸好 2019-01-30
作者|Conan(Chameleon 框架負責(zé)人)
編輯|覃云
近日,滴滴在 GitHub 上開源了跨端解決方案 Chameleon,簡寫 CML,中文名卡梅龍;中文意思變色龍,意味著就像變色龍一樣能適應(yīng)不同環(huán)境的跨端整體解決方案,具有易用、開發(fā)快、高性能等特點。下文將詳細介紹 Chameleon 項目的研發(fā)背景和性能特點。
背 景 

研發(fā)同學(xué)在端內(nèi)既追求 h5 的靈活性,也要追求性能趨近于原生。 面對入口擴張,主端、獨立端、微信小程序、支付寶小程序、百度小程序、Android 廠商聯(lián)盟快應(yīng)用,單一功能在各平臺都要重復(fù)實現(xiàn),開發(fā)和維護成本成倍增加。迫切需要維護一套代碼可以構(gòu)建多入口的解決方案,歷經(jīng)近 20 個月打磨,滴滴跨端解決方案 Chameleon 終于發(fā)布,真正專注于讓一套代碼運行多端。

設(shè)計理念

軟件架構(gòu)設(shè)計里面最基礎(chǔ)的概念“拆分”和“合并”,拆分的意義是“分而治之”,將復(fù)雜問題拆分成單一問題解決,比如后端業(yè)務(wù)系統(tǒng)的”微服務(wù)化“設(shè)計;“合并”的意義是將同樣的業(yè)務(wù)需求抽象收斂到一塊,達成高效率高質(zhì)量的目的,例如后端業(yè)務(wù)系統(tǒng)中的“中臺服務(wù)”設(shè)計。

而 Chameleon 屬于后者,通過定義統(tǒng)一的語言框架 + 統(tǒng)一多態(tài)協(xié)議,從多端(對應(yīng)多個獨立服務(wù))業(yè)務(wù)中抽離出自成體系、連續(xù)性強、可維護強的“前端中臺服務(wù)”。

跨端目標(biāo)

雖然不同各端環(huán)境千變?nèi)f化,但萬變不離其宗的是 MVVM 架構(gòu)思想,Chameleon 目標(biāo)是讓 MVVM 跨端環(huán)境大統(tǒng)一。

學(xué)習(xí)全景圖

開發(fā)語言

從事過網(wǎng)頁編程的人知道,網(wǎng)頁編程采用的是 HTML + CSS + JS 這樣的組合,同樣道理,chameleon 中采用的是 CML + CMSS + JS。

JS 語法用于處理頁面的邏輯層,與普通網(wǎng)頁編程相比,本項目目標(biāo)定義標(biāo)準(zhǔn) MVVM 框架,擁有完整的生命周期,watch,computed,數(shù)據(jù)雙向綁定等優(yōu)秀的特性,能夠快速提高開發(fā)速度、降低維護成本。

CML(Chameleon Markup Language)用于描述頁面的結(jié)構(gòu),我們知道 HTML 是有一套標(biāo)準(zhǔn)的語義化標(biāo)簽,例如文本是<span> 按鈕是<button>。CML 同樣具有一套標(biāo)準(zhǔn)的標(biāo)簽,我們將標(biāo)簽定義為組件,CML 為用戶提供了一系列組件。同時 CML 中還支持模板語法,例如條件渲染、列表渲染,數(shù)據(jù)綁定等等。同時,CML 支持使用類 VUE 語法,讓你更快入手。

CMSS(Chameleon Style Sheets) 用于描述 CML 頁面結(jié)構(gòu)的樣式語言,其具有大部分 CSS 的特性,并且還可以支持各種 css 的預(yù)處語言 less stylus。

通過以上對于開發(fā)語言的介紹,相信你看到只要是有過網(wǎng)頁編程知識的人都可以快速的上手 chameleon 的開發(fā)。

豐富的組件

在用 CML 寫頁面時,chameleon 提供了豐富的組件供開發(fā)者使用,內(nèi)置的有 button switch radio checkbox 等組件,擴展的有 c-picker c-dialog c-loading 等等,覆蓋了開發(fā)工作中常用的組件。

詳情請查看:

https://cml./doc/component/component.html

豐富的 API

為了方便開發(fā)者的高效開發(fā),chameleon 提供了豐富的 API 庫,發(fā)布為 npm 包 chameleon-api,里面包括了網(wǎng)絡(luò)請求、數(shù)據(jù)存儲、地理位置、系統(tǒng)信息、動畫等方法。

詳情請查看:

https://cml./doc/api/api.html

自由定制 API 和組件

基于強大的多態(tài)協(xié)議,可自由擴展任意 API 和組件,不強依賴框架的更新。各端原始項目中已積累大量組件,也能直接引入到跨端項目中使用。

智能規(guī)范校驗

代碼規(guī)范校驗,當(dāng)出現(xiàn)不符合規(guī)范要求的代碼時,編輯器會展示智能提示,不用挨個調(diào)試各端代碼,同時命令行啟動窗口也會提示代碼的錯誤位置。

詳情請查看:

https://cml./doc/framework/linter.html

漸進式跨端

很多人已經(jīng)開發(fā)小程序了,又不愿意大多闊斧重新改造,也希望使用 CML?當(dāng)然可以,2 種方式使用 CML:


先進前端開發(fā)體驗

Chameleon 不僅僅是跨端解決方案?;趦?yōu)秀的前端打包工具 Webpack,吸收了業(yè)內(nèi)多年來積累的最有用的工程化設(shè)計,提供了前端基礎(chǔ)開發(fā)腳手架命令工具,幫助端開發(fā)者從開發(fā)、聯(lián)調(diào)、測試、上線等全流程高效的完成業(yè)務(wù)開發(fā)。

 框架

Chameleon 不僅僅是跨端解決方案,讓開發(fā)者高效、低成本開發(fā)多端原生應(yīng)用?;趦?yōu)秀的前端打包工具 Webpack,吸收了業(yè)內(nèi)多年來積累的最有用的工程化設(shè)計,提供了前端基礎(chǔ)開發(fā)腳手架命令工具,幫助端開發(fā)者從開發(fā)、聯(lián)調(diào)、測試、上線等全流程高效的完成業(yè)務(wù)開發(fā)。

框架提供了自己的視圖層描述語言 CML 和 CMSS,以及基于 JavaScript 的邏輯層框架,并在視圖層與邏輯層間提供了數(shù)據(jù)傳輸和事件系統(tǒng),讓開發(fā)者能夠?qū)W⒂跀?shù)據(jù)與邏輯。

 腳手架工具

基于 node 開發(fā)的腳手架工具,提供簡潔的命令,進行初始化與構(gòu)建項目。

 目錄結(jié)構(gòu)

提供規(guī)范化的項目結(jié)構(gòu),適合于企業(yè)級大型應(yīng)用的開發(fā),CML 單文件組件的開發(fā)模式更有利于提高開發(fā)效率與優(yōu)化文件組織結(jié)構(gòu)。

 視圖層與邏輯層

視圖層由 CML 與 CMSS 編寫,邏輯層由 JS 編寫,chameleon 的核心是一個標(biāo)準(zhǔn)響應(yīng)式數(shù)據(jù)驅(qū)動視圖更新的 MVVM 框架。

 多態(tài)協(xié)議

提供了跨端時各端底層組件與接口統(tǒng)一的解決方案,使開發(fā)者可以自由擴展原生 api 與組件。

 規(guī)范校驗

為了提高開發(fā)的效率與代碼的可維護性,chameleon 提供了全面的代碼規(guī)范與校驗,幫助開發(fā)者能夠得到更好的開發(fā)體驗。

后續(xù)規(guī)劃

有關(guān)安裝、使用過程以及常見問題解答,請查看以下鏈接:


  • FAQ:https://cml./doc/framework/faq.html

  • GitHub:https://github.com/didi/chameleon

  • chameleon 官網(wǎng):cml./

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产成人精品久久二区二区| 日本午夜精品视频在线观看| 精品亚洲av一区二区三区| 精品少妇人妻av一区二区蜜桃| 欧美美女视频在线免费看| 成人日韩在线播放视频| 精品香蕉国产一区二区三区| 99在线视频精品免费播放| 日韩欧美第一页在线观看| 国产一级精品色特级色国产| 欧美日韩最近中国黄片| 亚洲欧美一二区日韩高清在线 | 精品一区二区三区三级视频| 爱草草在线观看免费视频| 日本东京热加勒比一区二区| 91精品日本在线视频| 国产伦精品一一区二区三区高清版 | 久久精品少妇内射毛片| 国产对白老熟女正在播放| 国产一区欧美一区二区| 手机在线观看亚洲中文字幕| 伊人久久五月天综合网| 91精品视频免费播放| 国产永久免费高清在线精品| 九九视频通过这里有精品| 好吊视频一区二区在线| 国产精品白丝久久av| 国产一区二区三区香蕉av| 东京热一二三区在线免| 亚洲国产欧美精品久久| 婷婷色网视频在线播放| 亚洲免费视频中文字幕在线观看 | 成人午夜激情在线免费观看| 亚洲香艳网久久五月婷婷| 国产目拍亚洲精品区一区| 欧美多人疯狂性战派对| 中文字幕人妻日本一区二区| 久久热这里只有精品视频| 搡老熟女老女人一区二区| 久久99一本色道亚洲精品| 日韩中文字幕视频在线高清版|