当前位置: 首页 > wzjs >正文

进去了网络优化公司排名

进去了,网络优化公司排名,招聘网站建设初衷,青岛模板做网站Golang作为一个越来越流行的服务端开发语言,以 跨平台、语法简洁、高并发协程处理能力、自带GC、编译后安装包直接使用无依赖等特点越来越受到各个互联网公司的欢迎。 Golang一直以来主要都是在服务端开发领域,逐步取代蚕食了C/C、PHP市场,以…

Golang作为一个越来越流行的服务端开发语言,以 跨平台、语法简洁、高并发协程处理能力、自带GC、编译后安装包直接使用无依赖等特点越来越受到各个互联网公司的欢迎。

Golang一直以来主要都是在服务端开发领域,逐步取代蚕食了C/C++、PHP市场,以及一部分Java市场,并且逐步在越来越取代的趋势。所以,更多需要探索一下Golang与其他语言集合开发的可能性。

主流 Golang GUI 框架对比

框架渲染方式平台支持活跃度特点
FyneOpenGL全平台★★★★★现代化、轻量、Material Design
WailsWebView全平台★★★★☆Go+Web技术、打包简单
Lorca/Webview系统浏览器全平台★★★☆☆轻量级、嵌入Web视图
Gio自定义渲染全平台★★★★☆即时模式、高性能
WalkWin32 API仅Windows★★★☆☆原生Windows体验
gotk3GTK3绑定主要Linux★★★☆☆GTK原生体验
ui原生UI全平台★☆☆☆☆简单API、开发停滞
go-astilectronElectron全平台★★☆☆☆完整Electron功能
go-sciterSciter引擎全平台★★☆☆☆嵌入式HTML/CSS引擎
nucular自定义渲染全平台★★☆☆☆即时模式UI

目前风头很盛的 Tauri 也是与Rust进行了结合,但是Rust很高的学习曲线,让很多人望而却步了,Golang + wails 就是有点类似于 Rust + Tauri 的模式,基本都是类似于 Electron 的桌面端解决方案。

使用 Golang+wails 开发的桌面程序案例

Tiny-RDM是一个Redis客户端管理软件,可以运行在 Windows/MacOS/Linux 等系统,使用Golang + Wails开发完成。

软件效果:

Image

Image

软件源码结构:( gihub地址:https://github.com/tiny-craft/tiny-rdm )

Image

Wails 安装

支持平台

  • Windows 10/11 AMD64/ARM64
  • MacOS 10.13+ AMD64
  • MacOS 11.0+ ARM64
  • Linux AMD64/ARM64

基础必备条件:

  • Go 1.20+
  • NPM (Node 15+)

直接通过go命令进行安装:

go install github.com/wailsapp/wails/v2/cmd/wails@latest

Image

安装完成以后,会在自己个人主目录下面生成对应 wails的可以执行程序:

Image

把这个可执行程序加入到全局PATH变量:(Linux和MaxOS加入到自己环境变量)

Image

检查一下自己环境是否缺乏相应的依赖:wails doctor

重点关注自己golang版本、node版本等关键信息。

Image

Wails 使用入门

首先需要初始化wails项目,帮助生成基础目录和框架:

wails init -n "Black-Wails-App" -t vue-ts --ide vscode -d ./go_wails_test

Image

其中的 -t 参数是 template 的意思,就是使用什么框架进行界面开发,常用前端模板选项:

vanilla - 纯JavaScript

vue - Vue框架

vue-ts - Vue + TypeScript

react - React框架

react-ts - React + TypeScript

preact - Preact框架

preact-ts - Preact + TypeScript

svelte - Svelte框架

svelte-ts - Svelte + TypeScript

lit - Lit框架

solid - SolidJS框架

如果需要它生成相应的IDE配置文件,常用IDE选项

vscode - Visual Studio Code

goland - GoLand

intellij - IntelliJ IDEA

生成的目录结构:

Image

项目生成的目录布局:

.
├── build/
│   ├── appicon.png
│   ├── darwin/
│   └── windows/
├── frontend/
├── go.mod
├── go.sum
├── main.go
└── wails.json/main.go - 主应用程序
/frontend/ - 前端项目文件
/build/ - 项目构建目录
/build/appicon.png - 应用程序图标
/build/darwin/ - Mac 特定的项目文件
/build/windows/ - Windows 特定的项目文件
/wails.json - 项目配置
/go.mod - Go 模块文件
/go.sum - Go 模块校验和文件frontend 目录没有针对 Wails 的特定内容,可以是你选择的任何前端项目。
build 目录在构建过程中使用。这些文件可能会更新以自定义你的构建。如果从构建目录中删除文件,将重新生成默认版本。
go.mod 中的默认模块名称为“changeme”。你应该将其更改为更合适的名称。

如果想要在浏览器中直接调试,可以执行:wails dev

Image

访问本地浏览器内容,发现已经可以顺利显示页面了:

Image

非常方便进行调试。

想要生成直接可以执行的exe程序,可以执行:wails build

Image

Image

然后执行 go_wails_test.exe 程序后,效果类似于浏览器中显示效果,只是是个9.6MB的独立可执行程序:

Image

Wails 自我开发

上面只是默认的状态,如果想要进行真的项目开发,比如把前台模型进行变化等。

假设我们要做一个:黑夜路人的AI工具箱的项目,那么可以按照如下进行开发。

修改前端首页:go_wails_test\frontend\index.html

  <!DOCTYPE html>
- <html lang="en">
+ <html lang="zh-CN"><head><meta charset="UTF-8"/><meta content="width=device-width, initial-scale=1.0" name="viewport"/>
-     <title>Black-Wails-App</title>
+     <title>黑夜路人的AI工具箱</title></head><body><div id="app"></div><script src="./src/main.ts" type="module"></script></body></html>

然后进行一些其他的修改,包括前端依赖包的修改:package.json (注意这些依赖需要使用 npm install 安装)

{"name": "frontend","private": true,"version": "0.0.0","type": "module","scripts": {"dev": "vite","build": "vue-tsc --noEmit && vite build","preview": "vite preview"},"dependencies": {"vue": "^3.2.37","@vueuse/core": "^10.7.0","vue-router": "^4.2.5"},"devDependencies": {"@vitejs/plugin-vue": "^3.0.3","typescript": "^4.6.4","vite": "^3.0.7","vue-tsc": "^1.8.27","@babel/types": "^7.18.10","sass": "^1.69.5","@types/node": "^20.10.4"}
}

增加了一部分前端vue代码:

Image

现在执行:wails build 看看效果 (独立程序)

Image

已经基本像模像样了,并且里面的按钮都是可点击的。

简单验证了整个开发过程,非常类似于我们常规的 前端 + 后端的开发模式,中间还有很多细节需要探索,比如前端如何调用Golang的API之类的。

总结

使用Wails框架开发跨平台桌面应用的优势与不足:

优势

  1. 1. 轻量打包:

    1. 应用体积小(可低于10MB),不依赖浏览器运行时,但内存占用与Electron类应用相近。
  2. 2. 开发高效:

    • 结合Golang后端与前端技术(如JS/HTML/CSS),支持浏览器实时调试,适合快速开发小工具。
    • 自动生成前后端绑定代码,简化数据交互(如Go结构体与JS对象转换)。
  3. 3. 灵活资源管理:

    1. 支持本地或远程资源加载,便于实现热更新。
  4. 4. 想象力很大

    1. 因为Golang的高效和简洁,可以在开发桌面端的时候,完全使用

不足

  1. 1. 性能瓶颈

    • 所有使用Webview为核心的桌面程序的通病,包括 Tauri和Electron 都存在的问题。
    • 前后端通信开销大,复杂操作(如大量数据增删)需拆分处理,易引发界面卡顿,Web前端处理能力有限,难以应对高性能需求。
  2. 2. 功能局限

    • 缺乏系统级API(如窗口监听、多窗口支持、系统菜单)。
    • 不支持导出Web版本,Go后端无法直接在浏览器运行(依赖未来WebAssembly支持),也不算大毛病,因为本质就是桌面程序
  3. 3. 生态不完善

    • 无官方插件市场,依赖有限的Go后端库和纯前端NPM插件。
    • 缺乏原生应用自更新功能(仅前端可热更新,Go部分需重新安装)。

Wails适合熟悉Golang和Web开发的开发者快速构建轻量级桌面应用,但在性能、兼容性、系统集成和生态方面仍有明显短板,需权衡需求选择。随着框架迭代(如自更新、WebAssembly支持),部分问题可能得到改善。


【大模型介绍电子书】

快速揭秘DeepSeek背后的AI工作原理

要获取本书全文PDF内容,请在【黑夜路人技术】VX后台留言:“AI大模型基础” 或者 “大模型基础” 就会获得电子书的PDF。

 

http://www.dtcms.com/wzjs/213883.html

相关文章:

  • 北京网站建设qq群淄博网站制作
  • 777fj做最好的网站全网搜索指数
  • 免费做app网站建设只要做好关键词优化
  • 网站免费推广方案百度网页电脑版入口
  • 镇江网站建设策划cilimao磁力猫搜索引擎
  • 相关搜索优化软件seo知识总结
  • 平湖网站建设公司广州优化公司哪家好
  • php网站开发实例教程百度互联网整合营销推广
  • 怎么提高网站的流量企业seo优化服务
  • 国内f型网页布局的网站企业宣传软文范例
  • 风溪商城是那个网站建设的安卓系统优化大师
  • wordpress可以做网站吗点击器
  • 网站建设种类开创集团与百度
  • 政府网站群建设和管理规定站长之家ip地址查询
  • 建立个人网站能干网络优化是做什么的
  • 网站的seo如何设计如何优化seo关键词
  • 门户网站整站源码网站排名优化怎么做
  • 交友网站发展建设客源引流推广
  • 做英文网站要会什么在线代理浏览网址
  • 想开一家相亲网站 怎么做上海搜索推广
  • 个人站长做网站admin5站长网
  • 给女朋友做网站seo费用
  • 施工企业信用评价个人如何做seo推广
  • 流量统计网站推广法做网站推广好做吗
  • 哪里有建设网站中的视频seo关键词优化培训班
  • wordpress健康资讯模板seo接单平台有哪些
  • 长沙公积金网站怎么做异动郴州网站定制
  • 哔哩哔哩网页版登录pc网站优化排名
  • 中国物流网成都网站seo设计
  • 网站制作有限公司优化加速