Compare commits

...

1 Commits

Author SHA1 Message Date
leaanthony c3faf60707 docs: format document 2023-06-09 00:41:43 +00:00
138 changed files with 8592 additions and 2854 deletions
+13 -7
View File
@@ -1,29 +1,35 @@
# Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Please include a summary of the change and which issue is fixed. Please also
include relevant motivation and context. List any dependencies that are required
for this change.
Fixes # (issue)
## Type of change
Please delete options that are not relevant.
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Breaking change (fix or feature that would cause existing functionality to
not work as expected)
- [ ] This change requires a documentation update
# How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration using `wails doctor`.
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details for your
test configuration using `wails doctor`.
- [ ] Windows
- [ ] macOS
- [ ] Linux
## Test Configuration
Please paste the output of `wails doctor`. If you are unable to run this command, please describe your environment in as much detail as possible.
Please paste the output of `wails doctor`. If you are unable to run this
command, please describe your environment in as much detail as possible.
# Checklist:
+2 -1
View File
@@ -1 +1,2 @@
The current Contribution Guidelines can be found at: https://wails.io/community-guide
The current Contribution Guidelines can be found at:
https://wails.io/community-guide
+2 -2
View File
@@ -1,2 +1,2 @@
The latest contributors list may be found at: https://wails.io/credits#contributors
The latest contributors list may be found at:
https://wails.io/credits#contributors
+43 -20
View File
@@ -42,7 +42,8 @@
<strong>
<samp>
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) · [한국어](README.ko.md)
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) ·
[한국어](README.ko.md)
</samp>
</strong>
@@ -66,38 +67,46 @@
## はじめに
Go プログラムにウェブインタフェースを提供する従来の方法は内蔵のウェブサーバを経由するものですが、 Wails では異なるアプローチを提供します。
Wails では Go のコードとウェブフロントエンドを単一のバイナリにまとめる機能を提供します。
また、プロジェクトの作成、コンパイル、ビルドを行うためのツールが提供されています。あなたがすべきことは創造性を発揮することです!
Go プログラムにウェブインタフェースを提供する従来の方法は内蔵のウェブサーバを経
由するものですが、 Wails では異なるアプローチを提供します。 Wails では Go のコー
ドとウェブフロントエンドを単一のバイナリにまとめる機能を提供します。また、プロジ
ェクトの作成、コンパイル、ビルドを行うためのツールが提供されています。あなたがす
べきことは創造性を発揮することです!
### 公式サイト
Version 2:
Wails v2 が 3 つのプラットフォームでベータ版としてリリースされました。興味のある方は[新しいウェブサイト](https://wails.io)をご覧ください。
Wails v2 が 3 つのプラットフォームでベータ版としてリリースされました。興味のある
方は[新しいウェブサイト](https://wails.io)をご覧ください。
レガシー版 v1:
レガシー版 v1 のドキュメントは[https://wails.app](https://wails.app)で見ることができます。
レガシー版 v1 のドキュメントは[https://wails.app](https://wails.app)で見ることが
できます。
### ロードマップ
プロジェクトのロードマップは[こちら](https://github.com/wailsapp/wails/discussions/1484)になります。
プロジェクトのロードマップ
は[こちら](https://github.com/wailsapp/wails/discussions/1484)になります。
機能拡張のリクエストを出す前にご覧ください。
## 特徴
- バックエンドには Go を利用しています
- 使い慣れたフロントエンド技術を利用して UI を構築できます
- あらかじめ用意されたテンプレートを利用することで、リッチなフロントエンドを備えた Go プログラムを作成できます
- あらかじめ用意されたテンプレートを利用することで、リッチなフロントエンドを備え
た Go プログラムを作成できます
- JavaScript から Go のメソッドを簡単に呼び出すことができます
- あなたの書いた Go の構造体やメソットに応じた TypeScript の定義が自動生成されま
- あなたの書いた Go の構造体やメソットに応じた TypeScript の定義が自動生成されま
- ネイティブのダイアログとメニューが利用できます
- モダンな半透明や「frosted window」エフェクトをサポートしています
- Go と JavaScript 間で統一されたイベント・システムを備えています
- プロジェクトを素早く生成して構築する強力な cli ツールを用意しています
- マルチプラットフォームに対応しています
- ネイティブなレンダリングエンジンを使用しています - _つまりブラウザを埋め込んでいるわけではありません!_
- ネイティブなレンダリングエンジンを使用しています - _つまりブラウザを埋め込んで
いるわけではありません!_
## スポンサー
@@ -106,25 +115,34 @@ Wails v2 が 3 つのプラットフォームでベータ版としてリリー
## 始め方
インストール方法は[公式サイト](https://wails.io/docs/gettingstarted/installation)に掲載されています。
インストール方法
は[公式サイト](https://wails.io/docs/gettingstarted/installation)に掲載されてい
ます。
## FAQ
- Electron の代替品になりますか?
それはあなたの求める要件によります。Wails は Go プログラマーが簡単に軽量のデスクトップアプリケーションを作成したり、既存のアプリケーションにフロントエンドを追加できるように設計されています。
Wails v2 ではメニューやダイアログといったネイティブな要素を提供するようになったため、軽量な Electron の代替となりつつあります。
それはあなたの求める要件によります。Wails は Go プログラマーが簡単に軽量のデス
クトップアプリケーションを作成したり、既存のアプリケーションにフロントエンドを
追加できるように設計されています。 Wails v2 ではメニューやダイアログといったネ
イティブな要素を提供するようになったため、軽量な Electron の代替となりつつあり
ます。
- このプロジェクトは誰に向けたものですか?
HTML/JS/CSS のフロントエンド技術をアプリケーションにバンドルさせることで、サーバーを作成してブラウザ経由で表示させることなくアプリケーションを利用したい Go プログラマにおすすめです。
HTML/JS/CSS のフロントエンド技術をアプリケーションにバンドルさせることで、サー
バーを作成してブラウザ経由で表示させることなくアプリケーションを利用したい Go
プログラマにおすすめです。
- 名前の由来を教えて下さい
WebView を見たとき、私はこう思いました。
「私が本当に欲しいのは、WebView アプリを構築するためのツールであり、Ruby に対する Rails のようなものである」と。
「私が本当に欲しいのは、WebView アプリを構築するためのツールであり、Ruby に対
する Rails のようなものである」と。
そのため、最初は言葉遊びのつもりでした(Webview on Rails)。
また、私の[出身国](https://en.wikipedia.org/wiki/Wales)の英語名と同音異義語でもあります。そしてこの名前が定着しました。
また、私の[出身国](https://en.wikipedia.org/wiki/Wales)の英語名と同音異義語で
もあります。そしてこの名前が定着しました。
## スター数の推移
@@ -133,15 +151,20 @@ Wails v2 が 3 つのプラットフォームでベータ版としてリリー
## コントリビューター
貢献してくれた方のリストが大きくなりすぎて、readme に入りきらなくなりました!
このプロジェクトに貢献してくれた素晴らしい方々のページは[こちら](https://wails.io/credits#contributors)です。
このプロジェクトに貢献してくれた素晴らしい方々のページ
は[こちら](https://wails.io/credits#contributors)です。
## 特記事項
このプロジェクトは以下の方々の協力がなければ、実現しなかったと思います。
- [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) - 彼のサポートとフィードバックはとても大きいものでした。
- [Serge Zaitsev](https://github.com/zserge) - Wails のウィンドウで使用している[Webview](https://github.com/zserge/webview)の作者です
- [Byron](https://github.com/bh90210) - 時には Byron が一人でこのプロジェクトを存続させてくれたこともありました。彼の素晴らしいインプットがなければ v1 に到達することはなかったでしょう。
- [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) - 彼のサポートとフィード
バックはとても大きいものでした
- [Serge Zaitsev](https://github.com/zserge) - Wails のウィンドウで使用してい
る[Webview](https://github.com/zserge/webview)の作者です。
- [Byron](https://github.com/bh90210) - 時には Byron が一人でこのプロジェクトを
存続させてくれたこともありました。彼の素晴らしいインプットがなければ v1 に到達
することはなかったでしょう。
プロジェクトを進める際に、以下のアルバムたちも支えてくれています。
+25 -21
View File
@@ -42,7 +42,8 @@
<strong>
<samp>
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) · [한국어](README.ko.md)
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) ·
[한국어](README.ko.md)
</samp>
</strong>
@@ -64,16 +65,17 @@
## 소개
Go 프로그램에 웹 인터페이스를 제공하는 전통적인 방법은 내장 웹 서버를 이용하는 것입니다.
Wails는 다르게 접근합니다: Go 코드와 웹 프론트엔드를 단일 바이너리로 래핑하는 기능을 제공합니다.
프로젝트 생성, 컴파일 및 번들링을 처리하여 이를 쉽게 수행할 수 있도록 도구가 제공됩니다.
창의력을 발휘하기만 하면 됩니다!
Go 프로그램에 웹 인터페이스를 제공하는 전통적인 방법은 내장 웹 서버를 이용하는
것입니다. Wails는 다르게 접근합니다: Go 코드와 웹 프론트엔드를 단일 바이너리로
래핑하는 기능을 제공합니다. 프로젝트 생성, 컴파일 및 번들링을 처리하여 이를 쉽게
수행할 수 있도록 도구가 제공됩니다. 창의력을 발휘하기만 하면 됩니다!
## 기능
- 백엔드에 표준 Go 사용
- 이미 익숙한 프론트엔드 기술을 사용하여 UI 구축
- 사전 구축된 템플릿을 사용하여 Go 프로그램을 위한 풍부한 프론트엔드를 빠르게 생
- 사전 구축된 템플릿을 사용하여 Go 프로그램을 위한 풍부한 프론트엔드를 빠르게 생
- Javascript에서 Go 메서드를 쉽게 호출
- Go 구조체 및 메서드에 대한 자동 생성된 Typescript 정의
- 기본 대화 및 메뉴
@@ -86,13 +88,13 @@ Wails는 다르게 접근합니다: Go 코드와 웹 프론트엔드를 단일
### 로드맵
프로젝트 로드맵은 [여기](https://github.com/wailsapp/wails/discussions/1484)에서
프로젝트 로드맵은 [여기](https://github.com/wailsapp/wails/discussions/1484)에서
확인할 수 있습니다. 개선 요청을 하기 전에 이것을 참조하십시오.
## 시작하기
설치 지침은
[공식 웹사이트](https://wails.io/docs/gettingstarted/installation)에 있습니다.
설치 지침은 [공식 웹사이트](https://wails.io/docs/gettingstarted/installation)에
있습니다.
## 스폰서
@@ -103,22 +105,23 @@ Wails는 다르게 접근합니다: Go 코드와 웹 프론트엔드를 단일
- 이것은 Electron의 대안인가요?
요구 사항에 따라 다릅니다. Go 프로그래머가 쉽게 가벼운 데스크톱 애플리케이션을
만들거나 기존 애플리케이션에 프론트엔드를 추가할 수 있도록 설계되었습니다.
Wails는 메뉴 및 대화 상자와 같은 기본 요소를 제공하므로 가벼운 Electron 대안으
간주될 수 있습니다.
요구 사항에 따라 다릅니다. Go 프로그래머가 쉽게 가벼운 데스크톱 애플리케이션을
만들거나 기존 애플리케이션에 프론트엔드를 추가할 수 있도록 설계되었습니다.
Wails는 메뉴 및 대화 상자와 같은 기본 요소를 제공하므로 가벼운 Electron 대안으
간주될 수 있습니다.
- 이 프로젝트는 누구를 대상으로 하나요?
서버를 생성하고 이를 보기 위해 브라우저를 열 필요 없이 HTML/JS/CSS 프런트엔드
애플리케이션과 함께 묶고자 하는 프로그래머를 대상으로 합니다.
서버를 생성하고 이를 보기 위해 브라우저를 열 필요 없이 HTML/JS/CSS 프런트엔드
애플리케이션과 함께 묶고자 하는 프로그래머를 대상으로 합니다.
- Wails 이름의 의미는 무엇인가요?
WebView를 보았을 때 저는 "내가 정말로 원하는 것은 WebView 앱을 구축하기 위한
도구를 사용하는거야. 마치 Ruby on Rails 처럼 말이야."라고 생각했습니다.
그래서 처음에는 말장난(Webview on Rails)이었습니다.
[국가](https://en.wikipedia.org/wiki/Wales)에 대한 영어 이름의 동음이의어이기도 하여 정했습니다.
WebView를 보았을 때 저는 "내가 정말로 원하는 것은 WebView 앱을 구축하기 위한
도구를 사용하는거야. 마치 Ruby on Rails 처럼 말이야."라고 생각했습니다. 그래서
처음에는 말장난(Webview on Rails)이었습니다.
[국가](https://en.wikipedia.org/wiki/Wales)에 대한 영어 이름의 동음이의어이기
도 하여 정했습니다.
## Stargazers 성장 추세
@@ -126,8 +129,9 @@ Wails는 다르게 접근합니다: Go 코드와 웹 프론트엔드를 단일
## 기여자
기여자 목록이 추가 정보에 비해 너무 커지고 있습니다! 이 프로젝트에 기여한 모든 놀라운 사람들은
[여기](https://wails.io/credits#contributors)에 자신의 페이지를 가지고 있습니다.
기여자 목록이 추가 정보에 비해 너무 커지고 있습니다! 이 프로젝트에 기여한 모든
놀라운 사람들은 [여기](https://wails.io/credits#contributors)에 자신의 페이지를
가지고 있습니다.
## 라이센스
+27 -17
View File
@@ -40,7 +40,8 @@
<strong>
<samp>
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) · [한국어](README.ko.md)
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) ·
[한국어](README.ko.md)
</samp>
</strong>
@@ -62,9 +63,11 @@
## Introduction
The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different
approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to
make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!
The traditional method of providing web interfaces to Go programs is via a
built-in web server. Wails offers a different approach: it provides the ability
to wrap both Go code and a web frontend into a single binary. Tools are provided
to make this easy for you by handling project creation, compilation and
bundling. All you have to do is get creative!
## Features
@@ -83,12 +86,14 @@ make this easy for you by handling project creation, compilation and bundling. A
### Roadmap
The project roadmap may be found [here](https://github.com/wailsapp/wails/discussions/1484). Please consult
this before open up an enhancement request.
The project roadmap may be found
[here](https://github.com/wailsapp/wails/discussions/1484). Please consult this
before open up an enhancement request.
## Getting Started
The installation instructions are on the [official website](https://wails.io/docs/gettingstarted/installation).
The installation instructions are on the
[official website](https://wails.io/docs/gettingstarted/installation).
## Sponsors
@@ -103,20 +108,24 @@ This project is supported by these kind people / companies:
- Is this an alternative to Electron?
Depends on your requirements. It's designed to make it easy for Go programmers to make lightweight desktop
applications or add a frontend to their existing applications. Wails does offer native elements such as menus
and dialogs, so it could be considered a lightweight electron alternative.
Depends on your requirements. It's designed to make it easy for Go programmers
to make lightweight desktop applications or add a frontend to their existing
applications. Wails does offer native elements such as menus and dialogs, so
it could be considered a lightweight electron alternative.
- Who is this project aimed at?
Go programmers who want to bundle an HTML/JS/CSS frontend with their applications, without resorting to creating a
server and opening a browser to view it.
Go programmers who want to bundle an HTML/JS/CSS frontend with their
applications, without resorting to creating a server and opening a browser to
view it.
- What's with the name?
When I saw WebView, I thought "What I really want is tooling around building a WebView app, a bit like Rails is to
Ruby". So initially it was a play on words (Webview on Rails). It just so happened to also be a homophone of the
English name for the [Country](https://en.wikipedia.org/wiki/Wales) I am from. So it stuck.
When I saw WebView, I thought "What I really want is tooling around building a
WebView app, a bit like Rails is to Ruby". So initially it was a play on words
(Webview on Rails). It just so happened to also be a homophone of the English
name for the [Country](https://en.wikipedia.org/wiki/Wales) I am from. So it
stuck.
## Stargazers over time
@@ -124,8 +133,9 @@ This project is supported by these kind people / companies:
## Contributors
The contributors list is getting too big for the readme! All the amazing people who have contributed to this
project have their own page [here](https://wails.io/credits#contributors).
The contributors list is getting too big for the readme! All the amazing people
who have contributed to this project have their own page
[here](https://wails.io/credits#contributors).
## License
+18 -9
View File
@@ -42,7 +42,8 @@
<strong>
<samp>
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) · [한국어](README.ko.md)
[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) ·
[한국어](README.ko.md)
</samp>
</strong>
@@ -64,8 +65,9 @@
## 项目介绍
为 Go 程序提供 Web 界面的传统方法是通过内置 Web 服务器。Wails 提供了一种不同的方法:它提供了将 Go 代码和 Web
前端一起打包成单个二进制文件的能力。通过提供的工具,可以很轻松的完成项目的创建、编译和打包。你所要做的就是发挥创造力!
为 Go 程序提供 Web 界面的传统方法是通过内置 Web 服务器。Wails 提供了一种不同的方
法:它提供了将 Go 代码和 Web 前端一起打包成单个二进制文件的能力。通过提供的工具
,可以很轻松的完成项目的创建、编译和打包。你所要做的就是发挥创造力!
## 功能
@@ -83,7 +85,8 @@
### 路线图
项目路线图可在 [此处](https://github.com/wailsapp/wails/discussions/1484) 找到。在提出增强请求之前请查阅此内容。
项目路线图可在 [此处](https://github.com/wailsapp/wails/discussions/1484) 找到。
在提出增强请求之前请查阅此内容。
## 快速入门
@@ -99,16 +102,21 @@
- 它是 Electron 的替代品吗?
取决于您的要求。它旨在使 Go 程序员可以轻松制作轻量级桌面应用程序或在其现有应用程序中添加前端。尽管 Wails 当前不提供对诸如菜单之类的原生元素的钩子,但将来可能会改变。
取决于您的要求。它旨在使 Go 程序员可以轻松制作轻量级桌面应用程序或在其现有应用
程序中添加前端。尽管 Wails 当前不提供对诸如菜单之类的原生元素的钩子,但将来可
能会改变。
- 这个项目针对的是哪些人?
希望将 HTML / JS / CSS 前端与其应用程序捆绑在一起的程序员,而不是借助创建服务并打开浏览器进行查看的方式。
希望将 HTML / JS / CSS 前端与其应用程序捆绑在一起的程序员,而不是借助创建服务
并打开浏览器进行查看的方式。
- 名字怎么来的?
当我看到 WebView 时,我想"我真正想要的是围绕构建 WebView 应用程序工作,有点像 Rails 对于 Ruby"。因此,最初它是一个文字游戏(Webview on
Rails)。碰巧也是我来自的 [国家](https://en.wikipedia.org/wiki/Wales) 的英文名字的同音。所以就是它了。
当我看到 WebView 时,我想"我真正想要的是围绕构建 WebView 应用程序工作,有点像
Rails 对于 Ruby"。因此,最初它是一个文字游戏(Webview on Rails)。碰巧也是我来
自的 [国家](https://en.wikipedia.org/wiki/Wales) 的英文名字的同音。所以就是它
了。
## 星星增长趋势
@@ -116,7 +124,8 @@
## 贡献者
贡献者列表对于 README 文件来说太大了!所有为这个项目做出贡献的了不起的人在[这里](https://wails.io/credits#contributors)都有自己的页面。
贡献者列表对于 README 文件来说太大了!所有为这个项目做出贡献的了不起的人
在[这里](https://wails.io/credits#contributors)都有自己的页面。
## 许可证
+25 -16
View File
@@ -62,9 +62,11 @@
## Introduction
The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different
approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to
make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!
The traditional method of providing web interfaces to Go programs is via a
built-in web server. Wails offers a different approach: it provides the ability
to wrap both Go code and a web frontend into a single binary. Tools are provided
to make this easy for you by handling project creation, compilation and
bundling. All you have to do is get creative!
## Features
@@ -83,8 +85,9 @@ make this easy for you by handling project creation, compilation and bundling. A
### Roadmap
The project roadmap may be found [here](https://github.com/wailsapp/wails/discussions/1484). Please consult
this before open up an enhancement request.
The project roadmap may be found
[here](https://github.com/wailsapp/wails/discussions/1484). Please consult this
before open up an enhancement request.
## Sponsors
@@ -185,26 +188,31 @@ This project is supported by these kind people / companies:
## Getting Started
The installation instructions are on the [official website](https://wails.io/docs/gettingstarted/installation).
The installation instructions are on the
[official website](https://wails.io/docs/gettingstarted/installation).
## FAQ
- Is this an alternative to Electron?
Depends on your requirements. It's designed to make it easy for Go programmers to make lightweight desktop
applications or add a frontend to their existing applications. Wails does offer native elements such as menus
and dialogs, so it could be considered a lightweight electron alternative.
Depends on your requirements. It's designed to make it easy for Go programmers
to make lightweight desktop applications or add a frontend to their existing
applications. Wails does offer native elements such as menus and dialogs, so
it could be considered a lightweight electron alternative.
- Who is this project aimed at?
Go programmers who want to bundle an HTML/JS/CSS frontend with their applications, without resorting to creating a
server and opening a browser to view it.
Go programmers who want to bundle an HTML/JS/CSS frontend with their
applications, without resorting to creating a server and opening a browser to
view it.
- What's with the name?
When I saw WebView, I thought "What I really want is tooling around building a WebView app, a bit like Rails is to
Ruby". So initially it was a play on words (Webview on Rails). It just so happened to also be a homophone of the
English name for the [Country](https://en.wikipedia.org/wiki/Wales) I am from. So it stuck.
When I saw WebView, I thought "What I really want is tooling around building a
WebView app, a bit like Rails is to Ruby". So initially it was a play on words
(Webview on Rails). It just so happened to also be a homophone of the English
name for the [Country](https://en.wikipedia.org/wiki/Wales) I am from. So it
stuck.
## Stargazers over time
@@ -212,8 +220,9 @@ The installation instructions are on the [official website](https://wails.io/doc
## Contributors
The contributors list is getting too big for the readme! All the amazing people who have contributed to this
project have their own page [here](https://wails.io/credits#contributors).
The contributors list is getting too big for the readme! All the amazing people
who have contributed to this project have their own page
[here](https://wails.io/credits#contributors).
## License
@@ -6,8 +6,9 @@ About your template
## Live Development
To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend`
directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your
To run in live development mode, run `wails dev` in the project directory. In
another terminal, go into the `frontend` directory and run `npm run dev`. The
frontend dev server will run on http://localhost:34115. Connect to this in your
browser and connect to your application.
## Building
+2 -2
View File
@@ -1,4 +1,4 @@
# README
This is an example project that shows how to use a custom layout.
Run `wails build` in the `cmd/customlayout` directory to build the project.
This is an example project that shows how to use a custom layout. Run
`wails build` in the `cmd/customlayout` directory to build the project.
+26 -20
View File
@@ -1,35 +1,41 @@
# Build Directory
The build directory is used to house all the build files and assets for your application.
The build directory is used to house all the build files and assets for your
application.
The structure is:
* bin - Output directory
* darwin - macOS specific files
* windows - Windows specific files
- bin - Output directory
- darwin - macOS specific files
- windows - Windows specific files
## Mac
The `darwin` directory holds files specific to Mac builds.
These may be customised and used as part of the build. To return these files to the default state, simply delete them
and
build with `wails build`.
The `darwin` directory holds files specific to Mac builds. These may be
customised and used as part of the build. To return these files to the default
state, simply delete them and build with `wails build`.
The directory contains the following files:
- `Info.plist` - the main plist file used for Mac builds. It is used when building using `wails build`.
- `Info.dev.plist` - same as the main plist file but used when building using `wails dev`.
- `Info.plist` - the main plist file used for Mac builds. It is used when
building using `wails build`.
- `Info.dev.plist` - same as the main plist file but used when building using
`wails dev`.
## Windows
The `windows` directory contains the manifest and rc files used when building with `wails build`.
These may be customised for your application. To return these files to the default state, simply delete them and
build with `wails build`.
The `windows` directory contains the manifest and rc files used when building
with `wails build`. These may be customised for your application. To return
these files to the default state, simply delete them and build with
`wails build`.
- `icon.ico` - The icon used for the application. This is used when building using `wails build`. If you wish to
use a different icon, simply replace this file with your own. If it is missing, a new `icon.ico` file
will be created using the `appicon.png` file in the build directory.
- `installer/*` - The files used to create the Windows installer. These are used when building using `wails build`.
- `info.json` - Application details used for Windows builds. The data here will be used by the Windows installer,
as well as the application itself (right click the exe -> properties -> details)
- `wails.exe.manifest` - The main application manifest file.
- `icon.ico` - The icon used for the application. This is used when building
using `wails build`. If you wish to use a different icon, simply replace this
file with your own. If it is missing, a new `icon.ico` file will be created
using the `appicon.png` file in the build directory.
- `installer/*` - The files used to create the Windows installer. These are used
when building using `wails build`.
- `info.json` - Application details used for Windows builds. The data here will
be used by the Windows installer, as well as the application itself (right
click the exe -> properties -> details)
- `wails.exe.manifest` - The main application manifest file.
@@ -1,17 +1,21 @@
# go-webview2
This is a proof of concept for embedding Webview2 into Go without CGo. It is based
on [webview/webview](https://github.com/webview/webview) and provides a compatible API.
This is a proof of concept for embedding Webview2 into Go without CGo. It is
based on [webview/webview](https://github.com/webview/webview) and provides a
compatible API.
## Notice
Because this version doesn't currently have an EdgeHTML fallback, it will not work unless you have a Webview2 runtime
installed. In addition, it requires the Webview2Loader DLL in order to function. Adding an EdgeHTML fallback should be
technically possible but will likely require much worse hacks since the API is not strictly COM to my knowledge.
Because this version doesn't currently have an EdgeHTML fallback, it will not
work unless you have a Webview2 runtime installed. In addition, it requires the
Webview2Loader DLL in order to function. Adding an EdgeHTML fallback should be
technically possible but will likely require much worse hacks since the API is
not strictly COM to my knowledge.
## Demo
For now, you'll need to install the Webview2 runtime, as it does not ship with Windows.
For now, you'll need to install the Webview2 runtime, as it does not ship with
Windows.
[WebView2 runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)
@@ -23,5 +27,6 @@ go run go-webview2/cmd/demo
This will use go-winloader to load an embedded copy of WebView2Loader.dll.
If this does not work, please try running from a directory that has an appropriate copy of `WebView2Loader.dll` for your
GOARCH. If _that_ worked, *please* file a bug so we can figure out what's wrong with go-winloader :)
If this does not work, please try running from a directory that has an
appropriate copy of `WebView2Loader.dll` for your GOARCH. If _that_ worked,
_please_ file a bug so we can figure out what's wrong with go-winloader :)
@@ -1,9 +1,11 @@
# Webviewloader
Webviewloader is a port of [OpenWebView2Loader](https://github.com/jchv/OpenWebView2Loader) to Go.
Webviewloader is a port of
[OpenWebView2Loader](https://github.com/jchv/OpenWebView2Loader) to Go.
It is intended to be feature-complete with the original WebView2Loader distributed with
the WebView2 NuGet package, but some features are intentionally not implemented.
It is intended to be feature-complete with the original WebView2Loader
distributed with the WebView2 NuGet package, but some features are intentionally
not implemented.
## Status
@@ -16,4 +18,5 @@ the WebView2 NuGet package, but some features are intentionally not implemented.
- Registry Overrides of Parameters
- Env Variable Overrides of Parameters
- Does not incorporate `GetCurrentPackageInfo` to search for an installed runtime
- Does not incorporate `GetCurrentPackageInfo` to search for an installed
runtime
@@ -1,10 +1,11 @@
# winc
** This is a fork of [tadvi/winc](https://github.com/tadvi/winc) for the sole purpose of integration
with [Wails](https://github.com/wailsapp/wails). This repository comes with ***no support*** **
** This is a fork of [tadvi/winc](https://github.com/tadvi/winc) for the sole
purpose of integration with [Wails](https://github.com/wailsapp/wails). This
repository comes with \***no support**\* **
Common library for Go GUI apps on Windows. It is for Windows OS only. This makes library smaller than some other UI
libraries for Go.
Common library for Go GUI apps on Windows. It is for Windows OS only. This makes
library smaller than some other UI libraries for Go.
Design goals: minimalism and simplicity.
@@ -14,9 +15,10 @@ No other dependencies except Go standard library.
## Building
If you want to package icon files and other resources into binary **rsrc** tool is recommended:
If you want to package icon files and other resources into binary **rsrc** tool
is recommended:
rsrc -manifest app.manifest -ico=app.ico,application_edit.ico,application_error.ico -o rsrc.syso
rsrc -manifest app.manifest -ico=app.ico,application_edit.ico,application_error.ico -o rsrc.syso
Here app.manifest is XML file in format:
@@ -32,19 +34,20 @@ Here app.manifest is XML file in format:
</assembly>
```
Most Windows applications do not display command prompt. Build your Go project with flag to indicate that it is Windows
GUI binary:
Most Windows applications do not display command prompt. Build your Go project
with flag to indicate that it is Windows GUI binary:
go build -ldflags="-H windowsgui"
go build -ldflags="-H windowsgui"
## Samples
Best way to learn how to use the library is to look at the included **examples** projects.
Best way to learn how to use the library is to look at the included **examples**
projects.
## Setup
1. Make sure you have a working Go installation and build environment, see more for details on page below.
http://golang.org/doc/install
1. Make sure you have a working Go installation and build environment, see more
for details on page below. http://golang.org/doc/install
2. go get github.com/wailsapp/wails/v2/internal/frontend/desktop/windows/winc
@@ -69,38 +72,46 @@ const myIcon = 13
btn.SetResIcon(myIcon) // Set icon on the button.
```
Included source **examples** use basic building via `release.bat` files. Note that icon IDs are order dependent. So if
you change they order in -ico flag then icon IDs will be different. If you want to keep order the same, just add new
Included source **examples** use basic building via `release.bat` files. Note
that icon IDs are order dependent. So if you change they order in -ico flag then
icon IDs will be different. If you want to keep order the same, just add new
icons to the end of -ico comma separated list.
## Layout Manager
SimpleDock is default layout manager.
Current design of docking and split views allows building simple apps but if you need to have multiple split views in
few different directions you might need to create your own layout manager.
Current design of docking and split views allows building simple apps but if you
need to have multiple split views in few different directions you might need to
create your own layout manager.
Important point is to have **one** control inside SimpleDock set to dock as **Fill**. Controls that are not set to any
docking get placed using SetPos() function. So you can have Panel set to dock at the Top and then have another dock to
arrange controls inside that Panel or have controls placed using SetPos() at fixed positions.
Important point is to have **one** control inside SimpleDock set to dock as
**Fill**. Controls that are not set to any docking get placed using SetPos()
function. So you can have Panel set to dock at the Top and then have another
dock to arrange controls inside that Panel or have controls placed using
SetPos() at fixed positions.
![Example layout with two toolbars and status bar](dock_topbottom.png)
This is basic layout. Instead of toolbars and status bar you can have Panel or any other control that can resize. Panel
can have its own internal Dock that will arrange other controls inside of it.
This is basic layout. Instead of toolbars and status bar you can have Panel or
any other control that can resize. Panel can have its own internal Dock that
will arrange other controls inside of it.
![Example layout with two toolbars and navigation on the left](dock_topleft.png)
This is layout with extra control(s) on the left. Left side is usually treeview or listview.
This is layout with extra control(s) on the left. Left side is usually treeview
or listview.
The rule is simple: you either dock controls using SimpleDock OR use SetPos() to set them at fixed positions. That's it.
The rule is simple: you either dock controls using SimpleDock OR use SetPos() to
set them at fixed positions. That's it.
At some point **winc** may get more sophisticated layout manager.
## Dialog Screens
Dialog screens are not based on Windows resource files (.rc). They are just windows with controls placed at fixed
coordinates. This works fine for dialog screens up to 10-14 controls.
Dialog screens are not based on Windows resource files (.rc). They are just
windows with controls placed at fixed coordinates. This works fine for dialog
screens up to 10-14 controls.
# Minimal Demo
@@ -151,16 +162,18 @@ Result of running sample_minimal.
## Create Your Own
It is good practice to create your own controls based on existing structures and event model. Library contains some of
the controls built that way: IconButton (button.go), ErrorPanel (panel.go), MultiEdit (edit.go), etc. Please look at
It is good practice to create your own controls based on existing structures and
event model. Library contains some of the controls built that way: IconButton
(button.go), ErrorPanel (panel.go), MultiEdit (edit.go), etc. Please look at
existing controls as examples before building your own.
When designing your own controls keep in mind that types have to be converted from Go into Win32 API and back. This is
usually due to string UTF8 and UTF16 conversions. But there are other types of conversions too.
When designing your own controls keep in mind that types have to be converted
from Go into Win32 API and back. This is usually due to string UTF8 and UTF16
conversions. But there are other types of conversions too.
When developing your own controls you might also need to:
import "github.com/wailsapp/wails/v2/internal/frontend/desktop/windows/winc/w32"
import "github.com/wailsapp/wails/v2/internal/frontend/desktop/windows/winc/w32"
w32 has Win32 API low level constants and functions.
@@ -176,6 +189,5 @@ This library is built on
[AllenDang/gform Windows GUI framework for Go](https://github.com/AllenDang/gform)
**winc** takes most design decisions from **gform** and adds many more controls and code samples to it.
**winc** takes most design decisions from **gform** and adds many more controls
and code samples to it.
+25 -19
View File
@@ -2,30 +2,36 @@
[Project Home](https://github.com/harry1453/go-common-file-dialog)
This library contains bindings for Windows Vista and
newer's [Common File Dialogs](https://docs.microsoft.com/en-us/windows/win32/shell/common-file-dialog), which is the
standard system dialog for selecting files or folders to open or save.
This library contains bindings for Windows Vista and newer's
[Common File Dialogs](https://docs.microsoft.com/en-us/windows/win32/shell/common-file-dialog),
which is the standard system dialog for selecting files or folders to open or
save.
The Common File Dialogs have to be accessed via
the [COM Interface](https://en.wikipedia.org/wiki/Component_Object_Model), normally via C++ or via bindings (like in C#)
.
The Common File Dialogs have to be accessed via the
[COM Interface](https://en.wikipedia.org/wiki/Component_Object_Model), normally
via C++ or via bindings (like in C#) .
This library contains bindings for Golang. **It does not require CGO**, and contains empty stubs for non-windows
platforms (so is safe to compile and run on platforms other than windows, but will just return errors at runtime).
This library contains bindings for Golang. **It does not require CGO**, and
contains empty stubs for non-windows platforms (so is safe to compile and run on
platforms other than windows, but will just return errors at runtime).
This can be very useful if you want to quickly get a file selector in your Golang application. The `cfdutil` package
contains utility functions with a single call to open and configure a dialog, and then get the result from it. Examples
for this are in [`_examples/usingutil`](_examples/usingutil). Or, if you want finer control over the dialog's operation,
you can use the base package. Examples for this are in [`_examples/notusingutil`](_examples/notusingutil).
This can be very useful if you want to quickly get a file selector in your
Golang application. The `cfdutil` package contains utility functions with a
single call to open and configure a dialog, and then get the result from it.
Examples for this are in [`_examples/usingutil`](_examples/usingutil). Or, if
you want finer control over the dialog's operation, you can use the base
package. Examples for this are in
[`_examples/notusingutil`](_examples/notusingutil).
This library is available under the MIT license.
Currently supported features:
* Open File Dialog (to open a single file)
* Open Multiple Files Dialog (to open multiple files)
* Open Folder Dialog
* Save File Dialog
* Dialog "roles" to allow Windows to remember different "last locations" for different types of dialog
* Set dialog Title, Default Folder and Initial Folder
* Set dialog File Filters
- Open File Dialog (to open a single file)
- Open Multiple Files Dialog (to open multiple files)
- Open Folder Dialog
- Save File Dialog
- Dialog "roles" to allow Windows to remember different "last locations" for
different types of dialog
- Set dialog Title, Default Folder and Initial Folder
- Set dialog File Filters
@@ -4,15 +4,17 @@
This is the official Wails Vanilla template.
You can configure the project by editing `wails.json`. More information about the project settings can be found
here: https://wails.io/docs/reference/project-config
You can configure the project by editing `wails.json`. More information about
the project settings can be found here:
https://wails.io/docs/reference/project-config
## Live Development
To run in live development mode, run `wails dev` in the project directory. This will run a Vite development
server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser
and have access to your Go methods, there is also a dev server that runs on http://localhost:34115. Connect
to this in your browser, and you can call your Go code from devtools.
To run in live development mode, run `wails dev` in the project directory. This
will run a Vite development server that will provide very fast hot reload of
your frontend changes. If you want to develop in a browser and have access to
your Go methods, there is also a dev server that runs on http://localhost:34115.
Connect to this in your browser, and you can call your Go code from devtools.
## Building
+2 -2
View File
@@ -1,2 +1,2 @@
Based on: https://github.com/tkrajina/typescriptify-golang-structs
License: LICENSE.txt
Based on: https://github.com/tkrajina/typescriptify-golang-structs License:
LICENSE.txt
+26 -20
View File
@@ -1,35 +1,41 @@
# Build Directory
The build directory is used to house all the build files and assets for your application.
The build directory is used to house all the build files and assets for your
application.
The structure is:
* bin - Output directory
* darwin - macOS specific files
* windows - Windows specific files
- bin - Output directory
- darwin - macOS specific files
- windows - Windows specific files
## Mac
The `darwin` directory holds files specific to Mac builds.
These may be customised and used as part of the build. To return these files to the default state, simply delete them
and
build with `wails build`.
The `darwin` directory holds files specific to Mac builds. These may be
customised and used as part of the build. To return these files to the default
state, simply delete them and build with `wails build`.
The directory contains the following files:
- `Info.plist` - the main plist file used for Mac builds. It is used when building using `wails build`.
- `Info.dev.plist` - same as the main plist file but used when building using `wails dev`.
- `Info.plist` - the main plist file used for Mac builds. It is used when
building using `wails build`.
- `Info.dev.plist` - same as the main plist file but used when building using
`wails dev`.
## Windows
The `windows` directory contains the manifest and rc files used when building with `wails build`.
These may be customised for your application. To return these files to the default state, simply delete them and
build with `wails build`.
The `windows` directory contains the manifest and rc files used when building
with `wails build`. These may be customised for your application. To return
these files to the default state, simply delete them and build with
`wails build`.
- `icon.ico` - The icon used for the application. This is used when building using `wails build`. If you wish to
use a different icon, simply replace this file with your own. If it is missing, a new `icon.ico` file
will be created using the `appicon.png` file in the build directory.
- `installer/*` - The files used to create the Windows installer. These are used when building using `wails build`.
- `info.json` - Application details used for Windows builds. The data here will be used by the Windows installer,
as well as the application itself (right click the exe -> properties -> details)
- `wails.exe.manifest` - The main application manifest file.
- `icon.ico` - The icon used for the application. This is used when building
using `wails build`. If you wish to use a different icon, simply replace this
file with your own. If it is missing, a new `icon.ico` file will be created
using the `appicon.png` file in the build directory.
- `installer/*` - The files used to create the Windows installer. These are used
when building using `wails build`.
- `info.json` - Application details used for Windows builds. The data here will
be used by the Windows installer, as well as the application itself (right
click the exe -> properties -> details)
- `wails.exe.manifest` - The main application manifest file.
+20 -13
View File
@@ -3,27 +3,34 @@
NOTE: Currently, this is a Mac only feature.
Place any PNG file in this directory to be able to use them in message dialogs.
The files should have names in the following format: `name[-(light|dark)][2x].png`
The files should have names in the following format:
`name[-(light|dark)][2x].png`
Examples:
* `mypic.png` - Standard definition icon with ID `mypic`
* `mypic-light.png` - Standard definition icon with ID `mypic`, used when system theme is light
* `mypic-dark.png` - Standard definition icon with ID `mypic`, used when system theme is dark
* `mypic2x.png` - High definition icon with ID `mypic`
* `mypic-light2x.png` - High definition icon with ID `mypic`, used when system theme is light
* `mypic-dark2x.png` - High definition icon with ID `mypic`, used when system theme is dark
- `mypic.png` - Standard definition icon with ID `mypic`
- `mypic-light.png` - Standard definition icon with ID `mypic`, used when system
theme is light
- `mypic-dark.png` - Standard definition icon with ID `mypic`, used when system
theme is dark
- `mypic2x.png` - High definition icon with ID `mypic`
- `mypic-light2x.png` - High definition icon with ID `mypic`, used when system
theme is light
- `mypic-dark2x.png` - High definition icon with ID `mypic`, used when system
theme is dark
### Order of preference
Icons are selected with the following order of preference:
For High Definition displays:
* name-(theme)2x.png
* name2x.png
* name-(theme).png
* name.png
- name-(theme)2x.png
- name2x.png
- name-(theme).png
- name.png
For Standard Definition displays:
* name-(theme).png
* name.png
- name-(theme).png
- name.png
+3 -3
View File
@@ -1,8 +1,8 @@
## Tray
Place any PNG file in this directory to be able to use them as tray icons.
The name of the filename will be the ID to reference the image.
Place any PNG file in this directory to be able to use them as tray icons. The
name of the filename will be the ID to reference the image.
Example:
* `mypic.png` - May be referenced using `runtime.Tray.SetIcon("mypic")`
- `mypic.png` - May be referenced using `runtime.Tray.SetIcon("mypic")`

Some files were not shown because too many files have changed in this diff Show More