<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦一個滴滴開源的跨端整體解決方案!

          共 1705字,需瀏覽 4分鐘

           ·

          2020-07-30 19:28

          熱文推薦:



          Chameleon/k??mi?l??n/,簡寫CML,中文名卡梅龍;中文意思變色龍,意味著就像變色龍一樣能適應不同環(huán)境的跨端整體解決方案。

          CML 即 多端

          支持平臺:web、微信小程序、支付寶小程序、百度小程序、android(weex)、ios(weex)、qq 小程序、字節(jié)跳動小程序、快應用、持續(xù)更新中

          一端所見即多端所見——多端高度一致,無需關(guān)注各端文檔。

          基于多態(tài)協(xié)議不影響各端差異化靈活性


          背景

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

          設計理念

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

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


          跨端目標

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


          多端高度一致

          深入到編程語言維度保障一致性,包括框架、生命周期、內(nèi)置組件、事件通信、路由、界面布局、界面單位、組件作用域、組件通信等高度統(tǒng)一

          豐富的組件

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

          豐富的 API

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

          自由定制 API 和組件

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

          基于強大的多態(tài)協(xié)議,充分隔離各端差異化實現(xiàn),輕松維護一套代碼實現(xiàn)跨多端

          智能規(guī)范校驗

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

          漸進式跨端

          既想一套代碼運行多端,又不用大刀闊斧的重構(gòu)項目?不僅可以用 cml 開發(fā)頁面,也可以將多端重用組件用 cml 開發(fā),直接在原有項目里面調(diào)用。

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

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

          項目地址

          官方網(wǎng)站:https://cmljs.org/
          github地址:https://github.com/chameleon-team


          如有收獲,歡迎分享?

          「點贊「評論?

          看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人

          ? 開發(fā)者全社區(qū)?

          5T技術(shù)資源大放送!包括但不限于:Android,Python,Java,大數(shù)據(jù),人工智能,AI等等。關(guān)注公眾號后回復「2T」,即可免費獲取!
          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  女同性恋一区二区 | 黄色一级片免费看 | 91AV极品视觉盛宴 | 国产精品国产毛片 | 青娱乐超碰在线 |