使用 go 和 web 技术构建桌面应用程序(go使用h5开发桌面应用程序)-ag凯发k8国际

《开源精选》是我们分享github、gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个使用 go 和 web 技术构建桌面应用程序的项目——wails。

wails 是一个框架,可以使用 go 和 web 技术帮助编写桌面应用程序。对于前端,使用 webview 库. 不过它使用平台的本机渲染引擎(当前 linux 和 mac 使用 webkit,windows 使用 mshtml)。 前端使用 html / javascript / css 编码,后端是纯 go 语言。 通过绑定机制,可以将 go 代码作为返回 promise 的功能公开给前端。 该项目编译为单个可执行文件,将所有资源捆绑到其中。 在 windows 和 macos 上,可以将二进制文件捆绑到特定于平台的程序包中进行分发。

注意:渲染引擎是 webview,不是捆绑的 web 浏览器,因此某些“浏览器 api”将对您的应用程序不可用,例如 localstorage。 大多数应用程序不需要使用它们,如果您仍然想这样做,可以使用 go 来完成大多数事情。

  • 后端使用标准 go
  • 使用任意前端技术构建 ui 界面
  • 快速为您的 go 应用生成 vue、vuetify、react 前端代码
  • 通过简单的绑定命令将 go 方法暴露到前端
  • 使用原生渲染引擎 – 无嵌入式浏览器
  • 共享事件系统
  • 原生文件系统对话框
  • 强大的命令行工具
  • 跨多个平台
  • wails

wails 被设计成尽可能缩小 web 技术和 go 之间的差异。前端是 webview 组件, 并且您可以使用自己喜欢的任何常见 javascript 框架来开发前端代码,并且可以与里面的 go 代码进行交互。 这是通过共享的 ipc 机制来实现的。

  • ipc 概述

ipc 机制可以在 2 个运行时中运行,一个运行在 javascript 中,另一个运行在 go 中。 它们都提供了一个简单的接口,从而减轻了开发人员直接处理 ipc 机制的负担。

运行时共享开发人员可以与之交互的公共组件:绑定和事件。

  • 绑定

wails 应用程序提供了一种方法,可让您将公开的 go 代码(绑定)到前端。 使用此方法,可以将任意函数或公开的结构方法绑定。 在启动时,wails 将分析绑定的函数/方法并自动在 javascript 中提供等效函数。 使您可以直接从 javascript 调用绑定的 go 代码。

javascript 包装函数,处理了调用 go 代码的所有复杂性。 您只需使用 javascript 调用该函数并接收一个 promise。 绑定 go 代码功能,处理了绑定的所有复杂性。 如果对 go 代码的调用成功完成,则结果将传递到 resolve 函数。 如果返回错误,则将其传递给 reject 函数。

  • 事件

wails 提供了一个统一的事件系统,类似于 javascript 的原生事件系统。 这意味着从 go 或 javascript 发送的任何事件都可以由任何一方接收。 数据可以随任何事件一起传递。 这样,您就可以做一些简单的事情,例如让后台进程在 go 中运行,并通知前端去更新页面。

  • 安装命令

安装过程非常简单,只需运行以下命令:

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

安装后,“wails update”命令可用于后续更新。

要获得最新功能的最新 pre-release 可以在后面附加 -pre 标签: wails update -pre.

要完成安装设置,请运行 安装命令 wails setup 并且填写对你的名字和邮箱。

  • 生成新项目

使用初始化命令 wails init 生成一个新项目,选择默认选项。

  • 构建

切换到项目目录 cd my-project 并且使用构建命令构建命令 wails build 构建你的项目。

如果一切顺利,则应该在本地目录中有一个已编译的程序。如果使用 windows,请使用./my-project 来运行它或双击 myproject.exe

wombat

surge

molly 钱包

portfall

restoric

optimus 截图编辑器

—end—

开源协议:mit

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

ag凯发k8国际的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月19日 下午6:47
下一篇 2024年5月19日 下午6:58

相关推荐

  •   眼着2016年又快过去了,每到年底按说都应该是丰收喜悦的时候,但受前阵粮价下跌、农产品滞销等不利情况影响,大家的心气儿总是提不起来。很多朋友觉得农业赚钱难,一些转型农业的朋友,…

    科研百科 2022年5月22日
    336
  • 于康震:扎实推进畜牧业供给侧结构性改革

       6月28日,全国畜牧业现代化推进会议在湖南长沙召开。农业部副部长于康震在会上强调,要深入贯彻落实新发展理念,以大力推进畜牧业供给侧结构性改革为主线,协调推进保供给、…

    科研百科 2022年5月18日
    319
  • 经费保障制度

    经费保障制度 经费保障制度是任何组织或政府确保其正常运行和有效执行任务的重要手段。对于企业来说,经费保障制度是其发展的基石;对于政府来说,经费保障制度是其治理的基础。本文将探讨经费…

    科研百科 2024年5月30日
    20
  • 华为云软件开发生产线codearts是一站式、全流程、安全可信的云原生devsecops云平台,集华为30年研发实践、前沿研发理念、先进研发工具为一体,覆盖需求、开发、测试、部署等…

    科研百科 2024年5月19日
    40
  • 家里萌娃一天天长大,每天放学或周末都会开启遛娃模式,只为孩子多多运动健康成长。偶尔几次找不到萌娃,会急得我鸡飞狗跳,那时我就知道儿童手表是非买不可了。 儿童手表的意义不在于平时带不…

    2022年7月22日
    316
  • 科技支撑发展现代畜牧业

      本报讯(记者何雪)近日,记者来到贺州温氏养猪公司羊头种猪场,只见采用物流网智能技术的猪舍里,温度、湿度和氨气浓度实行自动检测和自动调节,存栏的1万头母猪舒适地在猪圈里悠闲踱步、…

    科研百科 2022年6月8日
    264
  •    2月27日11时04分讯(通讯员 陈亚强)近年来,黔江区以促进农民增收为重点,大力发展特色畜牧养殖业,确立了“示范带动、扩大规模、争创名牌”…

    科研百科 2022年5月20日
    263
  •   近年来,青海省泽库县借助全国草地生态畜牧业示范县建设的有利时机,大力推进“以草定畜、草蓄平衡”的生态畜牧业战略,各类畜牧业专业合作社如雨后春笋般蓬勃发展…

    科研百科 2022年5月12日
    395
  • 山西定制科研项目 山西省科技计划项目 近年来,山西省政府高度重视科技创新,积极推动科技计划项目的发展。其中,“山西定制科研项目”作为山西省科技计划项目之一,旨在为山西省内的企业提供…

    科研百科 2024年3月30日
    39
  • 2015年宜宾高县畜牧水产业同比增长17.7%

      本网讯(记者 朱孝超)近日,记者在县畜牧水产局了解到,2015年,我县农民人均畜牧业、水产业经营性净收入预计2738元,增加412元,增长17.7%。tem   畜牧业方面:全…

    科研百科 2022年5月30日
    330
网站地图