中文字幕 日本 在线 高清,久久精品国产99精品国,超碰人人香蕉,一区二区三区无码高清视频

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

《開源精選》是我們分享Github、Gitee等開源社區(qū)中優(yōu)質(zhì)項(xiàng)目的欄目,包括技術(shù)、學(xué)習(xí)、實(shí)用與各種有趣的內(nèi)容。本期推薦的是一個(gè)使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序的項(xiàng)目——WAILS。

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

Wails 是一個(gè)框架,可以使用 Go 和 Web 技術(shù)幫助編寫桌面應(yīng)用程序。對(duì)于前端,使用 Webview 庫(kù). 不過它使用平臺(tái)的本機(jī)渲染引擎(當(dāng)前 Linux 和 Mac 使用 Webkit,Windows 使用 MSHTML)。 前端使用 HTML / Javascript / CSS 編碼,后端是純 Go 語(yǔ)言。 通過綁定機(jī)制,可以將 Go 代碼作為返回 Promise 的功能公開給前端。 該項(xiàng)目編譯為單個(gè)可執(zhí)行文件,將所有資源捆綁到其中。 在 Windows 和 MacOS 上,可以將二進(jìn)制文件捆綁到特定于平臺(tái)的程序包中進(jìn)行分發(fā)。

注意:渲染引擎是 WebView,不是捆綁的 Web 瀏覽器,因此某些“瀏覽器 API”將對(duì)您的應(yīng)用程序不可用,例如 localstorage。 大多數(shù)應(yīng)用程序不需要使用它們,如果您仍然想這樣做,可以使用 Go 來(lái)完成大多數(shù)事情。

功能

  • 后端使用標(biāo)準(zhǔn) Go
  • 使用任意前端技術(shù)構(gòu)建 UI 界面
  • 快速為您的 Go 應(yīng)用生成 Vue、Vuetify、React 前端代碼
  • 通過簡(jiǎn)單的綁定命令將 Go 方法暴露到前端
  • 使用原生渲染引擎 – 無(wú)嵌入式瀏覽器
  • 共享事件系統(tǒng)
  • 原生文件系統(tǒng)對(duì)話框
  • 強(qiáng)大的命令行工具
  • 跨多個(gè)平臺(tái)

概述

  • Wails

Wails 被設(shè)計(jì)成盡可能縮小 web 技術(shù)和 Go 之間的差異。前端是 Webview 組件, 并且您可以使用自己喜歡的任何常見 Javascript 框架來(lái)開發(fā)前端代碼,并且可以與里面的 Go 代碼進(jìn)行交互。 這是通過共享的 IPC 機(jī)制來(lái)實(shí)現(xiàn)的。

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

  • IPC 概述

IPC 機(jī)制可以在 2 個(gè)運(yùn)行時(shí)中運(yùn)行,一個(gè)運(yùn)行在 Javascript 中,另一個(gè)運(yùn)行在 Go 中。 它們都提供了一個(gè)簡(jiǎn)單的接口,從而減輕了開發(fā)人員直接處理 IPC 機(jī)制的負(fù)擔(dān)。

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

運(yùn)行時(shí)共享開發(fā)人員可以與之交互的公共組件:綁定和事件。

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

  • 綁定

Wails 應(yīng)用程序提供了一種方法,可讓您將公開的 Go 代碼(綁定)到前端。 使用此方法,可以將任意函數(shù)或公開的結(jié)構(gòu)方法綁定。 在啟動(dòng)時(shí),Wails 將分析綁定的函數(shù)/方法并自動(dòng)在 Javascript 中提供等效函數(shù)。 使您可以直接從 Javascript 調(diào)用綁定的 Go 代碼。

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

JavaScript 包裝函數(shù),處理了調(diào)用 Go 代碼的所有復(fù)雜性。 您只需使用 Javascript 調(diào)用該函數(shù)并接收一個(gè) Promise。 綁定 Go 代碼功能,處理了綁定的所有復(fù)雜性。 如果對(duì) Go 代碼的調(diào)用成功完成,則結(jié)果將傳遞到 resolve 函數(shù)。 如果返回錯(cuò)誤,則將其傳遞給 reject 函數(shù)。

  • 事件

Wails 提供了一個(gè)統(tǒng)一的事件系統(tǒng),類似于 Javascript 的原生事件系統(tǒng)。 這意味著從 Go 或 Javascript 發(fā)送的任何事件都可以由任何一方接收。 數(shù)據(jù)可以隨任何事件一起傳遞。 這樣,您就可以做一些簡(jiǎn)單的事情,例如讓后臺(tái)進(jìn)程在 Go 中運(yùn)行,并通知前端去更新頁(yè)面。

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

安裝

  • 安裝命令

安裝過程非常簡(jiǎn)單,只需運(yùn)行以下命令:

go get -u github.com/wailsapp/wails/cmd/wails

安裝后,“wails update”命令可用于后續(xù)更新。

要獲得最新功能的最新 pre-release 可以在后面附加 -pre 標(biāo)簽: wails update -pre.

要完成安裝設(shè)置,請(qǐng)運(yùn)行 安裝命令 wails setup 并且填寫對(duì)你的名字和郵箱。

  • 生成新項(xiàng)目

使用初始化命令 wails init 生成一個(gè)新項(xiàng)目,選擇默認(rèn)選項(xiàng)。

  • 構(gòu)建

切換到項(xiàng)目目錄 cd my-project 并且使用構(gòu)建命令構(gòu)建命令 wails build 構(gòu)建你的項(xiàng)目。

如果一切順利,則應(yīng)該在本地目錄中有一個(gè)已編譯的程序。如果使用 Windows,請(qǐng)使用./my-project 來(lái)運(yùn)行它或雙擊 myproject.exe 。

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

項(xiàng)目展示

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

WOMBAT

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

SURGE

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

MOLLY 錢包

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

PORTFALL

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

RESTORIC

使用 Go 和 Web 技術(shù)構(gòu)建桌面應(yīng)用程序(go使用h5開發(fā)桌面應(yīng)用程序)

OPTIMUS 截圖編輯器

—END—

開源協(xié)議:MIT

開源地址:https://github.com/wailsapp/wails

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年5月1日 下午3:11
下一篇 2024年5月1日 下午3:23

相關(guān)推薦