feat(website): repair document content (#1775)

* docs: update changelog

* feat: update website config

* feat(website): add formatting configuration

* docs: fix image resource paths and format documents

* feat(website): update community guide page

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
This commit is contained in:
Misite Bao
2022-08-22 19:59:28 +10:00
committed by GitHub
co-authored by Lea Anthony
parent 7e030f3f2b
commit cb6064ff39
68 changed files with 1283 additions and 1030 deletions
+15
View File
@@ -2,4 +2,19 @@
"[mdx]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
}
@@ -5,76 +5,86 @@ authors: [leaanthony]
tags: [wails, v2]
---
<div class="text--center">
<img src="/img/wails.png" width="40%" class="screenshot"/>
<img
src={require("@site/static/img/wails.png").default}
width="40%"
class="screenshot"
/>
</div>
<br/>
<br />
When I first announced Wails on Reddit, just over 2 years ago from a train in Sydney, I did not expect it to get much
attention. A few days later, a prolific tech vlogger released a tutorial video, gave it a positive review and from that
When I first announced Wails on Reddit, just over 2 years ago from a train in Sydney, I did not expect it to get much
attention. A few days later, a prolific tech vlogger released a tutorial video, gave it a positive review and from that
point on, interest in the project has skyrocketed.
It was clear that people were excited about adding web frontends to their Go projects, and almost immediately pushed the
It was clear that people were excited about adding web frontends to their Go projects, and almost immediately pushed the
project beyond the proof of concept that I had created.
At the time, Wails used the [webview](https://github.com/webview/webview) project to handle the frontend, and the only
option for Windows was the IE11 renderer. Many bug reports were rooted in this limitation: poor JavaScript/CSS support
and no dev tools to debug it. This was a frustrating development experience but there wasn't much that could have been
At the time, Wails used the [webview](https://github.com/webview/webview) project to handle the frontend, and the only
option for Windows was the IE11 renderer. Many bug reports were rooted in this limitation: poor JavaScript/CSS support
and no dev tools to debug it. This was a frustrating development experience but there wasn't much that could have been
done to rectify it.
For a long time, I'd firmly believed that Microsoft would eventually have to sort out their browser situation.
The world was moving on, frontend development was booming and IE wasn't cutting it.
When Microsoft announced the move to using Chromium as the basis for their new browser direction, I knew it was only a
For a long time, I'd firmly believed that Microsoft would eventually have to sort out their browser situation.
The world was moving on, frontend development was booming and IE wasn't cutting it.
When Microsoft announced the move to using Chromium as the basis for their new browser direction, I knew it was only a
matter of time until Wails could use it, and move the Windows developer experience to the next level.
Today, I am pleased to announce: **Wails v2 Beta for Windows**! There's a huge amount to unpack in this release, so
Today, I am pleased to announce: **Wails v2 Beta for Windows**! There's a huge amount to unpack in this release, so
grab a drink, take a seat and we'll begin...
### No CGO Dependency!
No, I'm not joking: *No* *CGO* *dependency* 🤯! The thing about Windows is that, unlike MacOS and Linux, it doesn't
No, I'm not joking: _No_ _CGO_ _dependency_ 🤯! The thing about Windows is that, unlike MacOS and Linux, it doesn't
come with a default compiler. In addition, CGO requires a mingw compiler and there's a ton of different installation
options. Removing the CGO requirement has massively simplified setup, as well as making debugging an awful lot easier.
Whilst I have put a fair bit of effort in getting this working, the majority of the
options. Removing the CGO requirement has massively simplified setup, as well as making debugging an awful lot easier.
Whilst I have put a fair bit of effort in getting this working, the majority of the
credit should go to [John Chadwick](https://github.com/jchv) for not only starting a couple of projects to make this
possible, but also being open to someone taking those projects and building on them. Credit also to
possible, but also being open to someone taking those projects and building on them. Credit also to
[Tad Vizbaras](https://github.com/tadvi) whose [winc](https://github.com/tadvi/winc) project started me down this path.
### WebView2 Chromium Renderer
<div class="text--center">
<img src="/img/devtools.png" width="75%" class="screenshot"/>
<img
src={require("@site/static/img/devtools.png").default}
width="75%"
class="screenshot"
/>
</div>
<br/>
<br />
Finally, Windows developers get a first class rendering engine for their applications! Gone are the days of contorting
your frontend code to work on Windows. On top of that, you get a first-class developer tools experience!
The WebView2 component does, however, have a requirement to have the `WebView2Loader.dll` sitting alongside the binary.
This makes distribution just that little bit more painful than we gophers are used to. All solutions and libraries
(that I know of) that use WebView2 have this dependency.
This makes distribution just that little bit more painful than we gophers are used to. All solutions and libraries
(that I know of) that use WebView2 have this dependency.
However, I'm really excited to announce that Wails applications *have no such requirement*! Thanks to the wizardry of
However, I'm really excited to announce that Wails applications _have no such requirement_! Thanks to the wizardry of
[John Chadwick](https://github.com/jchv), we are able to bundle this dll inside the binary and get Windows to load it
as if it were present on disk.
as if it were present on disk.
Gophers rejoice! The single binary dream lives on!
### New Features
<div class="text--center">
<img src="/img/wails-menus.png" width="60%" class="screenshot"/>
<img
src={require("@site/static/img/wails-menus.png").default}
width="60%"
class="screenshot"
/>
</div>
<br/>
<br />
There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available
and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus
and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus
and separators.
There were a huge number of requests in v1 for the ability to have greater control of the window itself.
I'm happy to announce that there's new runtime APIs specifically for this.
It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native
There were a huge number of requests in v1 for the ability to have greater control of the window itself.
I'm happy to announce that there's new runtime APIs specifically for this.
It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native
dialogs with rich configuration to cater for all your dialog needs.
There is now the option to generate IDE configuration along with your project. This means that if you open your project
@@ -82,32 +92,39 @@ in a supported IDE, it will already be configured for building and debugging you
but we hope to support other IDEs such as Goland soon.
<div class="text--center">
<img src="/img/vscode.png" width="100%" class="screenshot"/>
<img
src={require("@site/static/img/vscode.png").default}
width="100%"
class="screenshot"
/>
</div>
<br/>
<br />
### No requirement to bundle assets
### No requirement to bundle assets
A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to
announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an
`<img>` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS.
A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to
announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an
`<img>` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS.
> Wow, that sounds like a webserver...
Yes, it works just like a webserver, except it isn't.
Yes, it works just like a webserver, except it isn't.
> So how do I include my assets?
You just pass a single `embed.FS` that contains all your assets into your application configuration.
They don't even need to be in the top directory - Wails will just work it out for you.
You just pass a single `embed.FS` that contains all your assets into your application configuration.
They don't even need to be in the top directory - Wails will just work it out for you.
### New Development Experience
<div class="text--center">
<img src="/img/browser.png" width="60%" class="screenshot"/>
<img
src={require("@site/static/img/browser.png").default}
width="60%"
class="screenshot"
/>
</div>
<br/>
<br />
Now that assets don't need to be bundled, it's enabled a whole new development experience. The new `wails dev`
command will build and run your application, but instead of using the assets in the `embed.FS`, it loads them directly
@@ -115,65 +132,69 @@ from disk.
It also provides the additional features:
- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend
- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application
- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend
- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application
In addition to this, a webserver will start on port 34115. This will serve your application to any browser that
In addition to this, a webserver will start on port 34115. This will serve your application to any browser that
connects to it. All connected web browsers will respond to system events like hot reload on asset change.
In Go, we are used to dealing with structs in our applications. It's often useful to send structs to our frontend
and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the
and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the
developer. I'm happy to announce that in v2, any application run in dev mode will automatically generate Typescript
models for all structs that are input or output parameters to bound methods. This enables seamless interchange of data
models between the two worlds.
In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides
JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models
In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides
JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models
auto-imported when hitting tab in an auto-generated module wrapping your Go code!
### Remote Templates
<div class="text--center">
<img src="/img/remote.png" width="60%" class="screenshot"/>
<img
src={require("@site/static/img/remote.png").default}
width="60%"
class="screenshot"
/>
</div>
<br/>
<br />
Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried
to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very
opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty
opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty
quickly and this caused a maintenance headache. It also meant that we didn't have cool modern templates for the latest
and greatest tech stacks.
With v2, I wanted to empower the community by giving you the ability to create and host templates yourselves, rather
than rely on the Wails project. So now you can create projects using community supported templates! I hope this will
inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer
than rely on the Wails project. So now you can create projects using community supported templates! I hope this will
inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer
community can create!
### In Conclusion
Wails v2 represents a new foundation for the project.
The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release.
Wails v2 represents a new foundation for the project.
The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release.
Your input would be most welcome. Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828)
discussion board.
There were many twists and turns, pivots and u-turns to get to this point. This was due partly to early technical decisions
that needed changing, and partly because some core problems we had spent time building workarounds for were fixed upstream:
Gos embed feature is a good example. Fortunately, everything came together at the right time, and today we have the
very best solution that we can have. I believe the wait has been worth it - this would not have been possible even 2
There were many twists and turns, pivots and u-turns to get to this point. This was due partly to early technical decisions
that needed changing, and partly because some core problems we had spent time building workarounds for were fixed upstream:
Gos embed feature is a good example. Fortunately, everything came together at the right time, and today we have the
very best solution that we can have. I believe the wait has been worth it - this would not have been possible even 2
months ago.
I also need to give a huge thank you :pray: to the following people because without them, this release just wouldn't exist:
- [Misitebao](https://github.com/misitebao) - An absolute workhorse on the Chinese translations and an incredible bug finder.
- [Misitebao](https://github.com/misitebao) - An absolute workhorse on the Chinese translations and an incredible bug finder.
- [John Chadwick](https://github.com/jchv) - His amazing work on [go-webview2](https://github.com/jchv/go-webview2) and
[go-winloader](https://github.com/jchv/go-winloader) have made the Windows version we have today possible.
- [Tad Vizbaras](https://github.com/tadvi) - Experimenting with his [winc](https://github.com/tadvi/winc) project was the first step down the path to a pure Go Wails.
- [Mat Ryer](https://github.com/matryer) - His support, encouragement and feedback has really helped drive the project forward.
And finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors), including [JetBrains](https://www.jetbrains.com?from=Wails),
And finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors), including [JetBrains](https://www.jetbrains.com?from=Wails),
whose support drive the project in many ways behind the scenes.
I look forward to seeing what people build with Wails in this next exciting phase of the project!
I look forward to seeing what people build with Wails in this next exciting phase of the project!
Lea.
@@ -5,11 +5,14 @@ authors: [leaanthony]
tags: [wails, v2]
---
<div class="text--center">
<img src="/img/wails-mac.png" width="60%" class="screenshot"/>
<img
src={require("@site/static/img/wails-mac.png").default}
width="60%"
class="screenshot"
/>
</div>
<br/>
<br />
Today marks the first beta release of Wails v2 for Mac! It's taken quite a while to get to this point and I'm hoping
that today's release will give you something that's reasonably useful. There have been a number of twists and turns
@@ -25,42 +28,46 @@ So what's new for Wails v2 for Mac vs v1? Hint: It's pretty similar to the Windo
### New Features
<div class="text--center">
<img src="/img/wails-menus-mac.png" width="80%" class="screenshot"/>
<img
src={require("@site/static/img/wails-menus-mac.png").default}
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available
and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus
and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus
and separators.
There were a huge number of requests in v1 for the ability to have greater control of the window itself.
I'm happy to announce that there's new runtime APIs specifically for this.
It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native
There were a huge number of requests in v1 for the ability to have greater control of the window itself.
I'm happy to announce that there's new runtime APIs specifically for this.
It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native
dialogs with rich configuration to cater for all your dialog needs.
### Mac Specific Options
In addition to the normal application options, Wails v2 for Mac also brings some Mac extras:
- Make your window all funky and translucent, like all the pretty swift apps!
- Highly customisable titlebar
- We support the NSAppearance options for the application
- Simple config to auto-create an "About" menu
- Make your window all funky and translucent, like all the pretty swift apps!
- Highly customisable titlebar
- We support the NSAppearance options for the application
- Simple config to auto-create an "About" menu
### No requirement to bundle assets
### No requirement to bundle assets
A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to
announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an
`<img>` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS.
A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to
announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an
`<img>` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS.
> Wow, that sounds like a webserver...
Yes, it works just like a webserver, except it isn't.
Yes, it works just like a webserver, except it isn't.
> So how do I include my assets?
You just pass a single `embed.FS` that contains all your assets into your application configuration.
They don't even need to be in the top directory - Wails will just work it out for you.
You just pass a single `embed.FS` that contains all your assets into your application configuration.
They don't even need to be in the top directory - Wails will just work it out for you.
### New Development Experience
@@ -70,38 +77,42 @@ from disk.
It also provides the additional features:
- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend
- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application
- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend
- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application
In addition to this, a webserver will start on port 34115. This will serve your application to any browser that
In addition to this, a webserver will start on port 34115. This will serve your application to any browser that
connects to it. All connected web browsers will respond to system events like hot reload on asset change.
In Go, we are used to dealing with structs in our applications. It's often useful to send structs to our frontend
and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the
and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the
developer. I'm happy to announce that in v2, any application run in dev mode will automatically generate Typescript
models for all structs that are input or output parameters to bound methods. This enables seamless interchange of data
models between the two worlds.
In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides
JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models
In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides
JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models
auto-imported when hitting tab in an auto-generated module wrapping your Go code!
### Remote Templates
<div class="text--center">
<img src="/img/remote-mac.png" width="80%" class="screenshot"/>
<img
src={require("@site/static/img/remote-mac.png").default}
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried
to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very
opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty
opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty
quickly and this caused a maintenance headache. It also meant that we didn't have cool modern templates for the latest
and greatest tech stacks.
With v2, I wanted to empower the community by giving you the ability to create and host templates yourselves, rather
than rely on the Wails project. So now you can create projects using community supported templates! I hope this will
inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer
than rely on the Wails project. So now you can create projects using community supported templates! I hope this will
inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer
community can create!
### Native M1 Support
@@ -110,33 +121,48 @@ Thanks to the amazing support of [Mat Ryer](https://github.com/matryer/), the Wa
builds:
<div class="text--center">
<img src="/img/build-darwin-arm.png" width="80%" class="screenshot"/>
<img
src={require("@site/static/img/build-darwin-arm.png").default}
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
You can also specify `darwin/amd64` as a target too:
<div class="text--center">
<img src="/img/build-darwin-amd.png" width="80%" class="screenshot"/>
<img
src={require("@site/static/img/build-darwin-amd.png").default}
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
Oh, I almost forgot.... you can also do `darwin/universal`.... :wink:
<div class="text--center">
<img src="/img/build-darwin-universal.png" width="80%" class="screenshot"/>
<img
src={require("@site/static/img/build-darwin-universal.png").default}
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
### Cross Compilation to Windows
Because Wails v2 for Windows is pure Go, you can target Windows builds without docker.
<div class="text--center">
<img src="/img/build-cross-windows.png" width="80%" class="screenshot"/>
<img
src={require("@site/static/img/build-cross-windows.png").default}
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
### WKWebView Renderer
@@ -145,14 +171,14 @@ V1 relied on a (now deprecated) WebView component. V2 uses the most recent WKWeb
### In Conclusion
As I'd said in the Windows release notes, Wails v2 represents a new foundation for the project.
The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release.
The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release.
Your input would be most welcome! Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828)
discussion board.
And finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors), including [JetBrains](https://www.jetbrains.com?from=Wails),
And finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors), including [JetBrains](https://www.jetbrains.com?from=Wails),
whose support drive the project in many ways behind the scenes.
I look forward to seeing what people build with Wails in this next exciting phase of the project!
I look forward to seeing what people build with Wails in this next exciting phase of the project!
Lea.
@@ -5,11 +5,14 @@ authors: [leaanthony]
tags: [wails, v2]
---
<div class="text--center">
<img src="/img/wails-linux.png" width="40%" class="screenshot"/>
<img
src={require("@site/static/img/wails-linux.png").default}
width="40%"
class="screenshot"
/>
</div>
<br/>
<br />
I'm pleased to finally announce that Wails v2 is now in beta for Linux! It is somewhat ironic that the very first
experiments with v2 was on Linux and yet it has ended up as the last release. That being said, the v2 we have today
@@ -18,33 +21,37 @@ is very different from those first experiments. So without further ado, let's go
### New Features
<div class="text--center">
<img src="/img/wails-menus-linux.png" width="50%" class="screenshot"/>
<img
src={require("@site/static/img/wails-menus-linux.png").default}
width="50%"
class="screenshot"
/>
</div>
<br/>
<br />
There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available
and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus
and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus
and separators.
There were a huge number of requests in v1 for the ability to have greater control of the window itself.
I'm happy to announce that there's new runtime APIs specifically for this.
It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native
There were a huge number of requests in v1 for the ability to have greater control of the window itself.
I'm happy to announce that there's new runtime APIs specifically for this.
It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native
dialogs with rich configuration to cater for all your dialog needs.
### No requirement to bundle assets
A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to
announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an
`<img>` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS.
A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to
announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an
`<img>` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS.
> Wow, that sounds like a webserver...
Yes, it works just like a webserver, except it isn't.
Yes, it works just like a webserver, except it isn't.
> So how do I include my assets?
You just pass a single `embed.FS` that contains all your assets into your application configuration.
They don't even need to be in the top directory - Wails will just work it out for you.
You just pass a single `embed.FS` that contains all your assets into your application configuration.
They don't even need to be in the top directory - Wails will just work it out for you.
### New Development Experience
@@ -54,38 +61,42 @@ from disk.
It also provides the additional features:
- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend
- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application
- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend
- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application
In addition to this, a webserver will start on port 34115. This will serve your application to any browser that
In addition to this, a webserver will start on port 34115. This will serve your application to any browser that
connects to it. All connected web browsers will respond to system events like hot reload on asset change.
In Go, we are used to dealing with structs in our applications. It's often useful to send structs to our frontend
and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the
and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the
developer. I'm happy to announce that in v2, any application run in dev mode will automatically generate Typescript
models for all structs that are input or output parameters to bound methods. This enables seamless interchange of data
models between the two worlds.
In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides
JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models
In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides
JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models
auto-imported when hitting tab in an auto-generated module wrapping your Go code!
### Remote Templates
<div class="text--center">
<img src="/img/remote-linux.png" width="80%" class="screenshot"/>
<img
src={require("@site/static/img/remote-linux.png").default}
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried
to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very
opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty
opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty
quickly and this caused a maintenance headache. It also meant that we didn't have cool modern templates for the latest
and greatest tech stacks.
With v2, I wanted to empower the community by giving you the ability to create and host templates yourselves, rather
than rely on the Wails project. So now you can create projects using community supported templates! I hope this will
inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer
than rely on the Wails project. So now you can create projects using community supported templates! I hope this will
inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer
community can create!
### Cross Compilation to Windows
@@ -93,15 +104,18 @@ community can create!
Because Wails v2 for Windows is pure Go, you can target Windows builds without docker.
<div class="text--center">
<img src="/img/linux-build-cross-windows.png" width="80%" class="screenshot"/>
<img
src="/img/linux-build-cross-windows.png"
width="80%"
class="screenshot"
/>
</div>
<br/>
<br />
### In Conclusion
As I'd said in the Windows release notes, Wails v2 represents a new foundation for the project.
The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release.
The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release.
Your input would be most welcome! Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828)
discussion board.
@@ -111,7 +125,7 @@ filing detailed bug reports!
Finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors) whose support
drive the project in many ways behind the scenes.
I look forward to seeing what people build with Wails in this next exciting phase of the project!
I look forward to seeing what people build with Wails in this next exciting phase of the project!
Lea.
+3 -3
View File
@@ -1,8 +1,8 @@
# EmailIt
<p style={{"text-align": "center"}}>
<img src="/img/showcase/emailit.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/emailit.png").default} />
<br />
</p>
[EmailIt](https://github.com/raguay/EmailIt/) is a Wails 2 program that is a markdown based email sender only with nine notepads, scripts to manipulate the text, and templates. It also has a builtin [Node-Red](https://nodered.org/) server, scripts terminal, and the [ScriptBar](https://github.com/raguay/ScriptBarApp) program for displaying results from Node-Red or a script on your system. Documentation is very scarce, but the programs works. Its built using Wails2 and Svelte, and the download is a universal macOS application.
@@ -1,8 +1,8 @@
# EncryptEasy
<p style={{"text-align": "center"}}>
<img src="/img/showcase/encrypteasy.jpg"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/encrypteasy.jpg").default} />
<br />
</p>
**[EncryptEasy](https://www.encrypteasy.app) is a simple and easy to use PGP encryption tool, managing all your and your contacts keys. Encryption should be simple. Developed with Wails.**
@@ -1,11 +1,10 @@
# FileHound Export Utility
<p style={{"text-align": "center"}}>
<img src="/img/showcase/filehound.jpg"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/filehound.jpg").default} />
<br />
</p>
[FileHound Export Utility](https://www.filehound.co.uk/) FileHound is a cloud document management platform made for secure file retention, business process automation and SmartCapture capabilities.
The FileHound Export Utility allows FileHound Administrators the ability to run a secure document and data extraction tasks for alternative back-up and recovery purposes. This application will download all documents and/or meta data saved in FileHound based on the filters you choose. The metadata will be exported in both JSON and XML formats.
@@ -1,7 +1,10 @@
# Minecraft Updater
<p style={{"text-align": "center"}}>
<img src="/img/showcase/minecraft-mod-updater.jpg"></img><br/>
<p style={{ "text-align": "center" }}>
<img
src={require("@site/static/img/showcase/minecraft-mod-updater.jpg").default}
/>
<br />
</p>
[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) is a utility tool to update and synchronize Minecraft mods for your userbase. Its built using Wails2 and React with [antd](https://ant.design/) as frontend framework.
@@ -1,10 +1,12 @@
# Modal File Manager
<p style={{"text-align": "center"}}>
<img src="/img/showcase/modalfilemanager.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img
src={require("@site/static/img/showcase/modalfilemanager.png").default}
/>
<br />
</p>
[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands. It is fully coded using Go and runs much faster than the previous versions.
[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands. It is fully coded using Go and runs much faster than the previous versions.
This file manager is designed around the same principle as Vim: a state controlled keyboard actions. The number of states isn't fixed, but very programmable. Therefore, an infinite number of keyboard configurations can be created and used. This is the main difference from other file managers.
@@ -1,9 +1,8 @@
# Molley Wallet
<p style={{"text-align": "center"}}>
<img src="/img/showcase/mollywallet.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/mollywallet.png").default} />
<br />
</p>
[Molly Wallet](https://github.com/grvlle/constellation_wallet/) the official $DAG wallet of the Constellation Network. It'll let users interact with the Hypergraph Network in various ways, not limited to producing $DAG transactions.
+4 -3
View File
@@ -1,11 +1,12 @@
# October
<p style={{"text-align": "center"}}>
<img src="/img/showcase/october.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/october.png").default} />
<br />
</p>
[October](https://october.utf9k.net) is a small Wails application that makes it really easy to extract highlights from [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) and then forward them to [Readwise](https://readwise.io).
It has a relatively small scope with all platform versions weighing in under 10MB, and that's without enabling [UPX compression](https://upx.github.io/)!
In contrast, the author's previous attempts with Electron quickly bloated to several hundred megabytes.
In contrast, the author's previous attempts with Electron quickly bloated to several hundred megabytes.
+3 -4
View File
@@ -1,9 +1,8 @@
# Optimus
<p style={{"text-align": "center"}}>
<img src="/img/showcase/optimus.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/optimus.png").default} />
<br />
</p>
[Optimus](https://github.com/splode/optimus) is a desktop image optimization application. It supports conversion and compression between WebP, JPEG, and PNG image formats.
+3 -4
View File
@@ -1,9 +1,8 @@
# Portfall
<p style={{"text-align": "center"}}>
<img src="/img/showcase/portfall.gif"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/portfall.gif").default} />
<br />
</p>
[Portfall](https://github.com/rekon-oss/portfall) - A desktop k8s port-forwarding portal for easy access to all your cluster UIs
@@ -1,11 +1,10 @@
# Restic Browser
<p style={{"text-align": "center"}}>
<img src="/img/showcase/restic-browser-2.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img
src={require("@site/static/img/showcase/restic-browser-2.png").default}
/>
<br />
</p>
[Restic-Browser](https://github.com/emuell/restic-browser) - A simple, cross-platform [restic](https://github.com/restic/restic) backup GUI for browsing and restoring restic repositories.
+11 -11
View File
@@ -1,19 +1,19 @@
# RiftShare
<p style={{"text-align": "center"}}>
<img src="/img/showcase/riftshare-main.webp"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/riftshare-main.webp").default} />
<br />
</p>
Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app)
## Features
* Easy secure file sharing between computers both in the local network and through the internet
* Supports sending files or directories securely through the [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/)
* Compatible with all other apps using magic wormhole (magic-wormhole or wormhole-william CLI, wormhole-gui, etc.)
* Automatic zipping of multiple selected files to send at once
* Full animations, progress bar, and cancellation support for sending and receiving
* Native OS File Selection
* Open files in one click once received
* Auto Update - don't worry about having the latest release!
- Easy secure file sharing between computers both in the local network and through the internet
- Supports sending files or directories securely through the [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/)
- Compatible with all other apps using magic wormhole (magic-wormhole or wormhole-william CLI, wormhole-gui, etc.)
- Automatic zipping of multiple selected files to send at once
- Full animations, progress bar, and cancellation support for sending and receiving
- Native OS File Selection
- Open files in one click once received
- Auto Update - don't worry about having the latest release!
@@ -1,7 +1,8 @@
# ScriptBar
<p style={{"text-align": "center"}}>
<img src="/img/showcase/scriptbar.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/scriptbar.png").default} />
<br />
</p>
[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of the embedded [Node-Red](https://nodered.org) server in the [EmailIt](https://GitHub.com/raguay/EmailIt) application. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
+3 -4
View File
@@ -1,9 +1,8 @@
# Surge
<p style={{"text-align": "center"}}>
<img src="/img/showcase/surge.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/surge.png").default} />
<br />
</p>
[Surge](https://getsurge.io/) is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source.
+3 -4
View File
@@ -1,9 +1,8 @@
# Wally
<p style={{"text-align": "center"}}>
<img src="/img/showcase/wally.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/wally.png").default} />
<br />
</p>
[Wally](https://ergodox-ez.com/pages/wally) is the official firmware flasher for [Ergodox](https://ergodox-ez.com/) keyboards. It looks great and is a fantastic example of what you can achieve with Wails: the ability to combine the power of Go and the rich graphical tools of the web development world.
+3 -5
View File
@@ -1,10 +1,8 @@
# Wombat
<p style={{"text-align": "center"}}>
<img src="/img/showcase/wombat.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/wombat.png").default} />
<br />
</p>
[Wombat](https://github.com/rogchap/wombat) is a cross platform gRPC client.
+3 -5
View File
@@ -1,10 +1,8 @@
# Ytd
<p>
<img src="/img/showcase/ytd.png"></img><br/>
<p style={{ "text-align": "center" }}>
<img src={require("@site/static/img/showcase/ytd.png").default} />
<br />
</p>
[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) is an app for downloading tracks from youtube, creating offline playlists and share them with your friends, your friends will be able to playback your playlists or download them for offline listening, has an built-in player.

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