日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

《開源精選》是我們分享Github、Gitee等開源社區(qū)中優(yōu)質(zhì)項目的欄目,包括技術(shù)、學(xué)習(xí)、實(shí)用與各種有趣的內(nèi)容。本期推薦的是一個跨端開發(fā)框架,支持 Android 和 IOS 應(yīng)用——Hummer。

 


 

Hummer 是一套高性能高可用的跨端開發(fā)框架,一套代碼可以同時支持開發(fā) Android 和 iOS 應(yīng)用。現(xiàn)已經(jīng)支持 Vue/React/TypeScript/JAVAScript 四種語法,面向大前端開發(fā)人員,總有一款適合你。

技術(shù)優(yōu)勢

正如 Hummer(蜂鳥)的名字一樣,具有小巧輕盈的體態(tài),迅猛強(qiáng)健的翅膀,以及色彩艷麗的外表。

 

  • 超輕量: 小于 1M 的編譯產(chǎn)物,能以極低的包體積成本接入到 App 中,打造極致輕量優(yōu)勢;
  • 易上手: Hummer API + Tenon Reactive Framework,兼顧客戶端和前端的開發(fā)體驗,造就極低的學(xué)習(xí)門檻;
  • 高可用: 已在滴滴內(nèi)部多個業(yè)務(wù)中得到完整驗證,整體 Crash 率低于 0.01%;
  • 高性能: 基于原生組件和模塊,可以最大化利用原生渲染的性能優(yōu)勢以及平臺能力;
  • 跨平臺: 一套代碼可以編譯并運(yùn)行于 iOS 和 Android 平臺,使用 Tenon 可以快速兼容基于 Vue 開發(fā)的 Web 應(yīng)用;
  • 動態(tài)化: 利用 JavaScript 解釋執(zhí)行的特性,可以快速部署動態(tài)頁面,配合 Hummer Nest 平臺可以實(shí)現(xiàn)云端發(fā)布;

 

架構(gòu)設(shè)計

Hummer 整體的架構(gòu)設(shè)計,和業(yè)界其他基于JS引擎的跨端框架基本一致。利用JS引擎(Android 端用的是 QuickJS,iOS 端用的是 JavaScriptCore),作為JS和客戶端之間的橋梁,JS代碼通過 JS引擎 調(diào)用到原生的組件和方法,同時利用Flex布局引擎來渲染頁面。

Hummer & Tenon:

Hummer 通過 Hummer Core 把兩大引擎聯(lián)系在一起,同時對外暴露一套 Hummer API,來為JS側(cè)提供 Hummer 內(nèi)置的視圖組件和功能組件。從這個架構(gòu)設(shè)計可以看出,我們拋棄了業(yè)界其他動態(tài)化跨端框架普遍使用的DSL層和VDOM層,因此原生 Hummer 不具備前端開發(fā)常用的響應(yīng)式編程的能力,但同時換來的是接近原生開發(fā)的體驗和性能。當(dāng)然 Hummer 也是支持響應(yīng)式編程的開發(fā)方式的,我們以原生 Hummer 為基礎(chǔ),在此之上開發(fā)了一套基于MVVM架構(gòu)的開發(fā)框架 —— Tenon,通過 Tenon,可以把使用 Vue.js 編寫的代碼,轉(zhuǎn)換成原生 Hummer 的代碼。因此,Hummer 實(shí)際上同時支持兩種開發(fā)模式:

 

  • 偏原生開發(fā)習(xí)慣的原生 Hummer 開發(fā)模式;
  • 偏前端開發(fā)習(xí)慣的 MVVM 開發(fā)模式;

 

并且可以在同一個項目中進(jìn)行混合開發(fā),能很好地整合客戶端和前端的開發(fā)資源,使所有人同時參與同一個項目的開發(fā)工作,并盡量保留原先的開發(fā)習(xí)慣。

DevTools:

Hummer 通過內(nèi)置的各種開發(fā)者工具幫助開發(fā)者更加方便地通過 Hummer 來開發(fā)應(yīng)用,比如內(nèi)置的CLI腳手架工具,可以方便地創(chuàng)建項目和打包項目,配合 SDK 內(nèi)置的 Debugger 工具和 VSCode 插件,可以使開發(fā)者方便地進(jìn)行源代碼調(diào)試,從而提升整體的開發(fā)體驗。

Hummer Nest:

Hummer Nest 是一套用于自動化打包和發(fā)布 Hummer 應(yīng)用的一站式開發(fā)管理平臺,可以有效提升 Hummer 在業(yè)務(wù)開發(fā)過程中的持續(xù)交付能力。Hummer Nest 還提供了對業(yè)務(wù)和技術(shù)相關(guān)的關(guān)鍵數(shù)據(jù)的監(jiān)控和報警策略,協(xié)助開發(fā)者開發(fā)出更加高質(zhì)量的應(yīng)用。


 


簡單演示

簡單感受一下分別使用 Hummer API 和 Tenon 開發(fā)的 HelloWorld 頁面對應(yīng)的代碼,以及分別在 Android 和 iOS 設(shè)備上運(yùn)行的最終效果。

代碼

運(yùn)行效果

使用 Hummer

安裝 Hummer CLI:

npm install @hummer/cli -g

新建項目:

hummer init // 輸出以下內(nèi)容,選擇其中一種模塊工程 ? Which template do you want init? template-vue // Tenon-Vue 模板工程,通過 Vue 框架來做業(yè)務(wù)開發(fā) template-react // Tenon-React 模板工程,通過 React 框架來做業(yè)務(wù)開發(fā) ? template-ts // Hummer 模板工程,通過 TS 或 JS 來做業(yè)務(wù)開發(fā) template-library // 組件庫模板工程,用于創(chuàng)建 Hummer 或 Tenon 的組件庫 template-android // Android 原生模板工程 template-ios // iOS 原生模板工程 // 接著輸出以下內(nèi)容,這里可以輸入項目名稱,按回車可直接使用默認(rèn)值 ? Project Name (template-ts) // 接著輸出以下內(nèi)容,這里可以輸入項目描述,按回車可直接使用默認(rèn)值 ? Description (Hummer Project) // 接著輸出以下內(nèi)容,這里可以輸入項目作者,按回車可直接使用默認(rèn)值 ? Author (XiaoFeng )

編譯打包:

hummer build

Android 集成示例

添加 Hummer SDK 依賴:

dependencies { implementation 'io.github.didi.hummer:hummer:0.4.2' //版本號需自行替換成當(dāng)前的最新發(fā)布版本 }

初始化 Hummer SDK:

@Override public void onCreate() { super.onCreate(); Hummer.init(this); }

實(shí)現(xiàn) Hummer 容器:

public class HummerSinglePageActivity extends HummerActivity { @Override protected NavPage getPageInfo() { // URL來源一:通過Intent傳入 // return super.getPageInfo(); // URL來源二:assets文件路徑 // return new NavPage("HelloWorld.js"); // URL來源三:手機(jī)設(shè)備文件路徑 // return new NavPage("/sdcard/HelloWorld.js"); // URL來源四:網(wǎng)絡(luò)url return new NavPage("http://x.x.x.x:8000/index.js"); } }

案例


 


 

開源協(xié)議:Apache2.0

開源地址:https://github.com/didi/Hummer

分享到:
標(biāo)簽:框架
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定