mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 22:55:48 +01:00
docs: sync documents (#2443)
Co-authored-by: misitebao <misitebao@users.noreply.github.com>
This commit is contained in:
parent
e339c40e85
commit
4cd873fecb
215 changed files with 5224 additions and 2815 deletions
|
|
@ -411,5 +411,13 @@
|
|||
"theme.SearchModal.placeholder": {
|
||||
"message": "Rechercher des docs",
|
||||
"description": "The placeholder of the input of the DocSearch pop-up modal"
|
||||
},
|
||||
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
|
||||
"message": "Fermer la barre de navigation",
|
||||
"description": "The ARIA label for close button of mobile sidebar"
|
||||
},
|
||||
"theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
|
||||
"message": "Ouvrir/fermer la barre de navigation",
|
||||
"description": "The ARIA label for hamburger menu button of mobile navigation"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ Il y avait beaucoup de demandes pour le support des menus natifs. Wails a enfin
|
|||
|
||||
Il y avait un grand nombre de demandes dans la v1 pour avoir un plus grand contrôle de la fenêtre elle-même. Je suis heureux d'annoncer qu'il y a de nouvelles API runtime spécifiquement pour cela. Il est riche en fonctionnalités et supporte les configurations multi-moniteurs. Il y a aussi une API de boite de dialogues améliorée : maintenant, vous pouvez avoir des boites de dialogues modernes et natives avec une configuration enrichie pour répondre à tous vos besoins.
|
||||
|
||||
There is now the option to generate IDE configuration along with your project. This means that if you open your project in a supported IDE, it will already be configured for building and debugging your application. Currently VSCode is supported but we hope to support other IDEs such as Goland soon.
|
||||
Il y a maintenant la possibilité de générer la configuration dee votre IDE avec votre projet. Cela signifie que si vous ouvrez votre projet dans un IDE pris en charge, il sera déjà configuré pour construire et déboguer votre application. Actuellement, VSCode est supporté mais nous espérons bientôt pouvoir prendre en charge d'autres IDE comme Goland.
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -82,17 +82,17 @@ There is now the option to generate IDE configuration along with your project. T
|
|||
<br />
|
||||
```
|
||||
|
||||
### No requirement to bundle assets
|
||||
### Pas d'obligation de regrouper les ressources
|
||||
|
||||
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.
|
||||
Un énorme point de douleur de v1 était le besoin de condenser toute votre application en un seul fichier JS & CSS. Je suis heureux d'annoncer que, pour la v2, il n'y a pas d'obligation de regrouper des actifs, de quelque manière que ce soit. Vous voulez charger une image locale? Utilisez un tag `<img>` avec un chemin src local. Vous voulez utiliser une police de caractères cool ? Copiez-la et ajoutez le chemin d'accès dans votre CSS.
|
||||
|
||||
> Wow, that sounds like a webserver...
|
||||
> Wow, ça ressemble à un serveur web...
|
||||
|
||||
Yes, it works just like a webserver, except it isn't.
|
||||
Oui, il fonctionne comme un serveur web, sauf que ce n'est pas le cas.
|
||||
|
||||
> So how do I include my assets?
|
||||
> Comment puis-je inclure mes ressources ?
|
||||
|
||||
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.
|
||||
Vous passez simplement un seul `embed.FS` qui contient tous vos actifs dans la configuration de votre application. Ils n'ont même pas besoin d'être dans le répertoire racine du projet - Wails s'assurera de le faire fonctionner pour vous.
|
||||
|
||||
### Nouvelle expérience de développement
|
||||
|
||||
|
|
@ -107,20 +107,20 @@ You just pass a single `embed.FS` that contains all your assets into your applic
|
|||
<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 from disk.
|
||||
Maintenant que les actifs n'ont pas besoin d'être regroupés, cela permet de vivre une toute nouvelle expérience de développement. La nouvelle commande `wails dev` construira et exécutera votre application, mais au lieu d'utiliser les ressources embarquées dans `embed.FS`, il les charge directement à partir du disque.
|
||||
|
||||
It also provides the additional features:
|
||||
Il fournit également les fonctionnalités supplémentaires :
|
||||
|
||||
- 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
|
||||
- Rechargement à chaud - Toutes les modifications apportées aux ressources du frontend déclencheront le rechargement automatique du frontend de l'application
|
||||
- Reconstruction automatique - Toutes les modifications apportées à votre code Go déclencheront une reconstruction automatique avant de relancer votre application
|
||||
|
||||
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.
|
||||
En plus de cela, un serveur web démarrera sur le port 34115. Cela servira votre application à n'importe quel navigateur qui s'y connecte. Tous les navigateurs Web connectés recevront les événements du système tels que le rechargement chaud en cas de modification.
|
||||
|
||||
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 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.
|
||||
Avec Go, nous sommes habitués à traiter les structs dans nos applications. Il est souvent utile d'envoyer des structs sur notre site et de les utiliser dans notre application. Dans la v1, c'était un processus manuel et un peu lourd pour le développeur. Je suis heureux de vous annoncer qu'en v2, toute application exécutée en mode dev générera automatiquement des modèles TypeScript pour tous les structs qui sont des paramètres d'entrée ou de sortie aux méthodes Go liées au frontend. Cela permet un échange transparent de modèles de données entre les deux mondes.
|
||||
|
||||
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!
|
||||
En plus de cela, un autre module JS est généré dynamiquement en enveloppant toutes vos méthodes liées. Cela fournit la JSDoc pour vos méthodes, en fournissant la complétion de code et des suggestions dans votre IDE. C'est vraiment cool quand vous obtenez des modèles de données auto-importés en appuyant sur la touche tab dans un module généré automatiquement à partir de votre code Go !
|
||||
|
||||
### Remote Templates
|
||||
### Modèles distants
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -133,15 +133,15 @@ In addition to this, another JS module is dynamically generated wrapping all you
|
|||
<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 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.
|
||||
La mise en place rapide d'une application a toujours été un objectif clé pour le projet Wails. Quand nous avons lancé le projet, nous avons essayé de couvrir beaucoup de frameworks modernes à l'époque : react, vue et angular. Le monde du développement du frontend est rapide et difficile à garder à jour ! En conséquence, nous avons trouvé que nos modèles de base étaient obsolètes rapidement et cela a causé des maux de tête de maintenance. Cela signifie également que nous n'avons pas de modèles modernes et cool pour les dernières grandes technologies.
|
||||
|
||||
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 community can create!
|
||||
Avec la v2, je voulais donner à la communauté la possibilité de créer et d'héberger des modèles vous-même, plutôt que que de compter sur le projet Wails. Maintenant vous pouvez créer des projets en utilisant des modèles supportés par la communauté! J'espère que cela inspirera les développeurs à créer un écosystème dynamique de modèles de projet. Je suis vraiment très excité par ce que notre communauté de développeurs peut créer !
|
||||
|
||||
### En 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. Your input would be most welcome. Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828) discussion board.
|
||||
Wails v2 représente une nouvelle fondation pour le projet. Le but de cette version est d'obtenir des commentaires sur la nouvelle approche et d'éliminer tout bug avant une version complète. Vos commentaires sont les bienvenus. Veuillez diriger tout commentaire vers le forum de discussion [v2 Bêta](https://github.com/wailsapp/wails/discussions/828) .
|
||||
|
||||
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: Go’s 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.
|
||||
Il y a eu beaucoup de détours, de virages et de retournements de situation pour atteindre ce but. Cela est dû en partie à des décisions techniques précoces qui devaient être modifiées, et en partie parce que certains problèmes de base pour lesquels nous avions passé du temps à construire des solutions de contournement ont été corrigés en amont : L'intégration de Go est un bon exemple. Heureusement, tout s'est réuni au bon moment, et aujourd'hui nous avons la meilleure solution que nous puissions avoir. Je pense que l'attente en valait la peine, cela n'aurait pas été possible il y a même 2 mois .
|
||||
|
||||
J'ai également besoin de remercier énormément les personnes suivantes :pray: parce que sans elles, cette version n'existerait tout simplement pas:
|
||||
|
||||
|
|
|
|||
|
|
@ -19,13 +19,13 @@ tags:
|
|||
<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 to get to this point and I'm hoping, with your help, to iron out the crinkles and get the Mac port polished for the final v2 release.
|
||||
Aujourd'hui marque la première version bêta de Wails v2 pour Mac! Il a fallu un certain temps pour arriver à ce point et j'espère que la version d'aujourd'hui vous donnera quelque chose de raisonnablement utile. Il y a eu un certain nombre de virages et détours pour atteindre ce point et j'espère, avec votre aide, pour aplanir les croupes et faire polir le portage sur Mac pour la version définitive de la v2.
|
||||
|
||||
You mean this isn't ready for production? For your use case, it may well be ready, but there are still a number of known issues so keep your eye on [this project board](https://github.com/wailsapp/wails/projects/7) and if you would like to contribute, you'd be very welcome!
|
||||
Vous voulez dire que ce n'est pas prêt pour la production ? Pour votre cas d'utilisation, il peut être prêt, mais il y a encore un certain nombre de problèmes connus donc gardez votre œil sur [ce tableau de projet](https://github.com/wailsapp/wails/projects/7) et si vous souhaitez contribuer, vous serez les bienvenus !
|
||||
|
||||
So what's new for Wails v2 for Mac vs v1? Hint: It's pretty similar to the Windows Beta :wink:
|
||||
Alors quoi de neuf pour Wails v2 pour Mac vs v1 ? Indice : C'est assez similaire à la bêta de Windows :wink:
|
||||
|
||||
### New Features
|
||||
### Nouvelles fonctionnalités
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -38,47 +38,47 @@ So what's new for Wails v2 for Mac vs v1? Hint: It's pretty similar to the Windo
|
|||
<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 separators.
|
||||
Il y avait beaucoup de demandes pour le support des menus natifs. Wails a enfin ce qu'il vous faut. Les menus des applications sont maintenant disponibles et incluent la prise en charge de la plupart des fonctions natives de menu. Cela inclut les éléments de menu standard, les cases à cocher, les groupes radio, les sous-menus et les séparateurs.
|
||||
|
||||
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.
|
||||
Il y avait un grand nombre de demandes dans la v1 pour avoir un plus grand contrôle de la fenêtre elle-même. Je suis heureux d'annoncer qu'il y a de nouvelles API runtime spécifiquement pour cela. Il est riche en fonctionnalités et supporte les configurations multi-moniteurs. Il y a aussi une API de boite de dialogues améliorée : maintenant, vous pouvez avoir des boites de dialogues modernes et natives avec une configuration enrichie pour répondre à tous vos besoins.
|
||||
|
||||
### Mac Specific Options
|
||||
### Options spécifiques à Mac
|
||||
|
||||
In addition to the normal application options, Wails v2 for Mac also brings some Mac extras:
|
||||
En plus des options d'application normales, Wails v2 pour Mac apporte également quelques options supplémentaires pour Mac :
|
||||
|
||||
- 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
|
||||
- Faites de votre fenêtre une fenêtre funky et transparente, comme toutes les applications assez rapides !
|
||||
- Barre de titre hautement personnalisable
|
||||
- Nous prenons en charge les options NSAppearance pour l'application
|
||||
- Configuration simple pour créer automatiquement un menu "À propos"
|
||||
|
||||
### No requirement to bundle assets
|
||||
### Pas d'obligation de regrouper les ressources
|
||||
|
||||
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.
|
||||
Un énorme point de douleur de v1 était le besoin de condenser toute votre application en un seul fichier JS & CSS. Je suis heureux d'annoncer que, pour la v2, il n'y a pas d'obligation de regrouper des ressources, de quelque manière que ce soit. Vous voulez charger une image locale? Utilisez un tag `<img>` avec un chemin src local. Vous voulez utiliser une police de caractères cool ? Copiez-la et ajoutez le chemin d'accès dans votre CSS.
|
||||
|
||||
> Wow, that sounds like a webserver...
|
||||
> Wow, ça ressemble à un serveur web...
|
||||
|
||||
Yes, it works just like a webserver, except it isn't.
|
||||
Oui, il fonctionne comme un serveur web, sauf que ce n'est pas le cas.
|
||||
|
||||
> So how do I include my assets?
|
||||
> Comment puis-je inclure mes ressources ?
|
||||
|
||||
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.
|
||||
Vous passez simplement un seul `embed.FS` qui contient tous vos actifs dans la configuration de votre application. Ils n'ont même pas besoin d'être dans le répertoire racine du projet - Wails s'assurera de le faire fonctionner pour vous.
|
||||
|
||||
### New Development Experience
|
||||
### Nouvelle expérience de développement
|
||||
|
||||
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 from disk.
|
||||
Maintenant que les actifs n'ont pas besoin d'être regroupés, cela permet de vivre une toute nouvelle expérience de développement. La nouvelle commande `wails dev` construira et exécutera votre application, mais au lieu d'utiliser les ressources embarquées dans `embed.FS`, il les charge directement à partir du disque.
|
||||
|
||||
It also provides the additional features:
|
||||
Il fournit également les fonctionnalités supplémentaires :
|
||||
|
||||
- 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
|
||||
- Rechargement à chaud - Toutes les modifications apportées aux ressources du frontend déclencheront le rechargement automatique du frontend de l'application
|
||||
- Reconstruction automatique - Toutes les modifications apportées à votre code Go déclencheront une reconstruction automatique avant de relancer votre application
|
||||
|
||||
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.
|
||||
En plus de cela, un serveur web démarrera sur le port 34115. Cela servira votre application à n'importe quel navigateur qui s'y connecte. Tous les navigateurs Web connectés recevront les événements du système tels que le rechargement chaud en cas de modification.
|
||||
|
||||
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 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.
|
||||
Avec Go, nous sommes habitués à traiter avec des structs dans nos applications. Il est souvent utile d'envoyer des structs sur notre site et de les utiliser dans notre application. Dans la v1, c'était un processus manuel et un peu lourd pour le développeur. Je suis heureux de vous annoncer qu'en v2, toute application exécutée en mode dev générera automatiquement des modèles TypeScript pour tous les structs qui sont des paramètres d'entrée ou de sortie aux méthodes Go liées au frontend. Cela permet un échange transparent de modèles de données entre les deux mondes.
|
||||
|
||||
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!
|
||||
En plus de cela, un autre module JS est généré dynamiquement en enveloppant toutes vos méthodes liées. Cela fournit la JSDoc pour vos méthodes, en fournissant la complétion de code et des suggestions dans votre IDE. C'est vraiment cool quand vous obtenez des modèles de données auto-importés en appuyant sur la touche tab dans un module généré automatiquement à partir de votre code Go !
|
||||
|
||||
### Remote Templates
|
||||
### Modèles distants
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -91,13 +91,13 @@ In addition to this, another JS module is dynamically generated wrapping all you
|
|||
<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 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.
|
||||
La mise en place rapide d'une application a toujours été un objectif clé pour le projet Wails. Quand nous avons lancé le projet, nous avons essayé de couvrir beaucoup de frameworks modernes à l'époque : react, vue et angular. Le monde du développement du frontend évolue très vite et est difficile à garder à jour ! En conséquence, nous avons trouvé que nos modèles de base étaient obsolètes rapidement et cela a causé des maux de tête de maintenance. Cela signifie également que nous n'avons pas de modèles modernes et cool pour les dernières grandes technologies.
|
||||
|
||||
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 community can create!
|
||||
Avec la v2, je voulais donner à la communauté la possibilité de créer et d'héberger des modèles vous-même, plutôt que que de compter sur le projet Wails. Maintenant vous pouvez créer des projets en utilisant des modèles supportés par la communauté! J'espère que cela inspirera les développeurs à créer un écosystème de modèles de projet. Je suis vraiment très excité par ce que notre communauté de développeurs peut créer !
|
||||
|
||||
### Native M1 Support
|
||||
### Prise en charge native de M1
|
||||
|
||||
Thanks to the amazing support of [Mat Ryer](https://github.com/matryer/), the Wails project now supports M1 native builds:
|
||||
Grâce au support incroyable de [Mat Ryer](https://github.com/matryer/), le projet Wails prend maintenant en charge les versions natives de M1 :
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -110,7 +110,7 @@ Thanks to the amazing support of [Mat Ryer](https://github.com/matryer/), the Wa
|
|||
<br />
|
||||
```
|
||||
|
||||
You can also specify `darwin/amd64` as a target too:
|
||||
Vous pouvez également spécifier `darwin/amd64` comme cible :
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -123,7 +123,7 @@ You can also specify `darwin/amd64` as a target too:
|
|||
<br />
|
||||
```
|
||||
|
||||
Oh, I almost forgot.... you can also do `darwin/universal`.... :wink:
|
||||
Oh, j'ai presque oublié.... vous pouvez aussi faire `darwin/universal`.... :wink:
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -136,9 +136,9 @@ Oh, I almost forgot.... you can also do `darwin/universal`.... :wink:
|
|||
<br />
|
||||
```
|
||||
|
||||
### Cross Compilation to Windows
|
||||
### Cross Compilation sur Windows
|
||||
|
||||
Because Wails v2 for Windows is pure Go, you can target Windows builds without docker.
|
||||
Parce que Wails v2 pour Windows est pur Go, vous pouvez cibler les versions Windows sans docker.
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -153,18 +153,18 @@ Because Wails v2 for Windows is pure Go, you can target Windows builds without d
|
|||
|
||||
### WKWebView Renderer
|
||||
|
||||
V1 relied on a (now deprecated) WebView component. V2 uses the most recent WKWebKit component so expect the latest and greatest from Apple.
|
||||
V1 s'est appuyé sur un composant WebView (maintenant obsolète). V2 utilise le composant WKWebKit le plus récent, donc attendez-vous au meilleur d'Apple.
|
||||
|
||||
### In Conclusion
|
||||
### En 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. Your input would be most welcome! Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828) discussion board.
|
||||
Comme je l'ai dit dans les notes de version de Windows, Wails v2 représente une nouvelle base pour le projet. Le but de cette version est d'obtenir des commentaires sur la nouvelle approche et d'éliminer tout bug avant une version complète. Vos commentaires sont les bienvenus! Veuillez diriger tout commentaire vers le forum de discussion [v2 Bêta](https://github.com/wailsapp/wails/discussions/828) .
|
||||
|
||||
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.
|
||||
Enfin, je voudrais remercier tout particulièrement tous les [sponsors du projet](/credits#sponsors), y compris [JetBrains](https://www.jetbrains.com?from=Wails), dont le soutien anime le projet de plusieurs manières en coulisses.
|
||||
|
||||
I look forward to seeing what people build with Wails in this next exciting phase of the project!
|
||||
J'ai hâte de voir ce que les gens construisent avec Wails dans cette prochaine phase excitante du projet!
|
||||
|
||||
Lea.
|
||||
|
||||
PS: Linux users, you're next!
|
||||
PS: Les utilisateurs de Linux, vous êtes les prochains !
|
||||
|
||||
PPS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
|
||||
PPS : Si vous ou votre entreprise trouvez Wails utile, veuillez envisager [de parrainer le projet](https://github.com/sponsors/leaanthony). Merci !
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@ tags:
|
|||
<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 is very different from those first experiments. So without further ado, let's go over the new features:
|
||||
J'ai le plaisir d'annoncer enfin que Wails v2 est maintenant en version bêta pour Linux ! Il est quelque peu ironique que les toutes premières expériences avec v2 aient été sous Linux et pourtant elles ont fini comme la dernière version. Cela dit, la v2 que nous avons aujourd'hui est très différente de ces premières expériences. Donc, sans perdre plus de temps, passons en revue les nouvelles fonctionnalités :
|
||||
|
||||
### New Features
|
||||
### Nouvelles fonctionnalités
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -34,38 +34,38 @@ I'm pleased to finally announce that Wails v2 is now in beta for Linux! It is so
|
|||
<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 separators.
|
||||
Il y avait beaucoup de demandes pour le support des menus natifs. Wails a enfin ce qu'il vous faut. Les menus des applications sont maintenant disponibles et incluent la prise en charge de la plupart des fonctions natives de menu. Cela inclut les éléments de menu standard, les cases à cocher, les groupes radio, les sous-menus et les séparateurs.
|
||||
|
||||
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.
|
||||
Il y avait un grand nombre de demandes dans la v1 pour avoir un plus grand contrôle de la fenêtre elle-même. Je suis heureux d'annoncer qu'il y a de nouvelles API runtime spécifiquement pour cela. Il est riche en fonctionnalités et supporte les configurations multi-moniteurs. Il y a aussi une API de boite de dialogues améliorée : maintenant, vous pouvez avoir des boites de dialogues modernes et natives avec une configuration enrichie pour répondre à tous vos besoins.
|
||||
|
||||
### No requirement to bundle assets
|
||||
### Pas d'obligation de regrouper les ressources
|
||||
|
||||
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.
|
||||
Un énorme point de douleur de v1 était le besoin de condenser toute votre application en un seul fichier JS & CSS. Je suis heureux d'annoncer que, pour la v2, il n'y a pas d'obligation de regrouper des ressources, de quelque manière que ce soit. Vous voulez charger une image locale? Utilisez un tag `<img>` avec un chemin src local. Vous voulez utiliser une police de caractères cool ? Copiez-la et ajoutez le chemin d'accès dans votre CSS.
|
||||
|
||||
> Wow, that sounds like a webserver...
|
||||
> Wow, ça ressemble à un serveur web...
|
||||
|
||||
Yes, it works just like a webserver, except it isn't.
|
||||
Oui, il fonctionne comme un serveur web, sauf que ce n'est pas le cas.
|
||||
|
||||
> So how do I include my assets?
|
||||
> Comment puis-je inclure mes ressources ?
|
||||
|
||||
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.
|
||||
Vous passez simplement un seul `embed.FS` qui contient tous vos actifs dans la configuration de votre application. Ils n'ont même pas besoin d'être dans le répertoire racine du projet - Wails s'assurera de le faire fonctionner pour vous.
|
||||
|
||||
### New Development Experience
|
||||
### Nouvelle expérience de développement
|
||||
|
||||
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 from disk.
|
||||
Maintenant que les actifs n'ont pas besoin d'être regroupés, cela permet de vivre une toute nouvelle expérience de développement. La nouvelle commande `wails dev` construira et exécutera votre application, mais au lieu d'utiliser les ressources embarquées dans `embed.FS`, il les charge directement à partir du disque.
|
||||
|
||||
It also provides the additional features:
|
||||
Il fournit également les fonctionnalités supplémentaires :
|
||||
|
||||
- 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
|
||||
- Rechargement à chaud - Toutes les modifications apportées aux ressources du frontend déclencheront le rechargement automatique du frontend de l'application
|
||||
- Reconstruction automatique - Toutes les modifications apportées à votre code Go déclencheront une reconstruction automatique avant de relancer votre application
|
||||
|
||||
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.
|
||||
En plus de cela, un serveur web démarrera sur le port 34115. Cela servira votre application à n'importe quel navigateur qui s'y connecte. Tous les navigateurs Web connectés recevront les événements du système tels que le rechargement chaud en cas de modification.
|
||||
|
||||
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 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.
|
||||
Avec Go, nous sommes habitués à traiter avec des structs dans nos applications. Il est souvent utile d'envoyer des structs sur notre site et de les utiliser dans notre application. Dans la v1, c'était un processus manuel et un peu lourd pour le développeur. Je suis heureux de vous annoncer qu'en v2, toute application exécutée en mode dev générera automatiquement des modèles TypeScript pour tous les structs qui sont des paramètres d'entrée ou de sortie aux méthodes Go liées au frontend. Cela permet un échange transparent de modèles de données entre les deux mondes.
|
||||
|
||||
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!
|
||||
En plus de cela, un autre module JS est généré dynamiquement en enveloppant toutes vos méthodes liées. Cela fournit la JSDoc pour vos méthodes, en fournissant la complétion de code et des suggestions dans votre IDE. C'est vraiment cool quand vous obtenez des modèles de données auto-importés en appuyant sur la touche tab dans un module généré automatiquement à partir de votre code Go !
|
||||
|
||||
### Remote Templates
|
||||
### Modèles distants
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -78,13 +78,13 @@ In addition to this, another JS module is dynamically generated wrapping all you
|
|||
<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 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.
|
||||
La mise en place rapide d'une application a toujours été un objectif clé pour le projet Wails. Quand nous avons lancé le projet, nous avons essayé de couvrir beaucoup de frameworks modernes à l'époque : react, vue et angular. Le monde du développement du frontend évolue très vite et est difficile à garder à jour ! En conséquence, nous avons trouvé que nos modèles de base étaient obsolètes rapidement et cela a causé des maux de tête de maintenance. Cela signifie également que nous n'avons pas de modèles modernes et cool pour les dernières grandes technologies.
|
||||
|
||||
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 community can create!
|
||||
Avec la v2, je voulais donner à la communauté la possibilité de créer et d'héberger des modèles vous-même, plutôt que que de compter sur le projet Wails. Maintenant vous pouvez créer des projets en utilisant des modèles supportés par la communauté! J'espère que cela inspirera les développeurs à créer un écosystème de modèles de projet. Je suis vraiment très excité par ce que notre communauté de développeurs peut créer !
|
||||
|
||||
### Cross Compilation to Windows
|
||||
### Cross Compilation sur Windows
|
||||
|
||||
Because Wails v2 for Windows is pure Go, you can target Windows builds without docker.
|
||||
Parce que Wails v2 pour Windows est pur Go, vous pouvez cibler les versions Windows sans docker.
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -97,18 +97,18 @@ Because Wails v2 for Windows is pure Go, you can target Windows builds without d
|
|||
<br />
|
||||
```
|
||||
|
||||
### In Conclusion
|
||||
### En 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. Your input would be most welcome! Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828) discussion board.
|
||||
Comme je l'ai dit dans les notes de version de Windows, Wails v2 représente une nouvelle base pour le projet. Le but de cette version est d'obtenir des commentaires sur la nouvelle approche et d'éliminer tout bug avant une version complète. Vos commentaires sont les bienvenus! Veuillez diriger tout commentaire vers le forum de discussion [v2 Bêta](https://github.com/wailsapp/wails/discussions/828) .
|
||||
|
||||
Linux is **hard** to support. We expect there to be a number of quirks with the beta. Please help us to help you by filing detailed bug reports!
|
||||
Linux est **difficile** à supporter. Nous espérons qu'il y aura un certain nombre de bizarreries avec la bêta. Veuillez nous aider à vous aider en remplissant des rapports de bogue détaillés !
|
||||
|
||||
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.
|
||||
Enfin J'aimerais remercier tout particulièrement tous les [sponsors du projet](/credits#sponsors) dont le soutien propulse le projet de plusieurs manières en coulisses.
|
||||
|
||||
I look forward to seeing what people build with Wails in this next exciting phase of the project!
|
||||
J'ai hâte de voir ce que les gens construisent avec Wails dans cette prochaine phase excitante du projet!
|
||||
|
||||
Lea.
|
||||
|
||||
PS: The v2 release isn't far off now!
|
||||
PS: La sortie de la version v2 n'est plus pour très longtemps.
|
||||
|
||||
PPS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
|
||||
PPS : Si vous ou votre entreprise trouvez Wails utile, veuillez envisager [de parrainer le projet](https://github.com/sponsors/leaanthony). Merci !
|
||||
|
|
|
|||
|
|
@ -20,76 +20,76 @@ tags:
|
|||
|
||||
# C'est là!
|
||||
|
||||
Today marks the release of [Wails](https://wails.io) v2. It's been about 18 months since the first v2 alpha and about a year from the first beta release. I'm truly grateful to everyone involved in the evolution of the project.
|
||||
Aujourd'hui marque la sortie de [Wails](https://wails.io) v2. Il y a environ 18 mois depuis la première version alpha de la v2 et environ un an depuis la première version bêta. Je suis vraiment reconnaissant à toutes les personnes impliquées dans l'évolution du projet.
|
||||
|
||||
Part of the reason it took that long was due to wanting to get to some definition of completeness before officially calling it v2. The truth is, there's never a perfect time to tag a release - there's always outstanding issues or "just one more" feature to squeeze in. What tagging an imperfect major release does do, however, is to provide a bit of stability for users of the project, as well as a bit of a reset for the developers.
|
||||
Une partie de la raison pour laquelle il a fallu aussi longtemps était dû à la volonté d'obtenir une version bien stable et complète avant de l'appeler officiellement v2. La vérité est qu'il n'y a jamais un moment parfait pour taguer une version - il y a toujours des problèmes en suspens ou une fonctionnalité de plus pour y ajouter. Taguer une version majeure imparfaite ça arrive, cependant, ça permet de fournir un peu de stabilité pour les utilisateurs du projet, ainsi qu'un peu de réinitialisation pour les développeurs.
|
||||
|
||||
This release is more than I'd ever expected it to be. I hope it gives you as much pleasure as it has given us to develop it.
|
||||
Cette version contient bien plus que ce à quoi je m'attendais. J'espère qu'il vous donnera autant de plaisir qu'il nous en a donné de le développer.
|
||||
|
||||
# Qu'est-ce Wails?
|
||||
|
||||
If you are unfamiliar with Wails, it is a project that enables Go programmers to provide rich frontends for their Go programs using familiar web technologies. It's a lightweight, Go alternative to Electron. Much more information can be found on the [official site](https://wails.io/docs/introduction).
|
||||
Si vous n'êtes pas familier avec Wails, c'est un projet qui permet aux programmeurs Go de fournir des interfaces pour leurs programmes Go en utilisant des technologies web. C'est une alternative Go à Electron. Beaucoup plus d'informations peuvent être trouvées sur le site [officiel](https://wails.io/docs/introduction).
|
||||
|
||||
# Quelles sont les nouveautés ?
|
||||
|
||||
The v2 release is a huge leap forward for the project, addressing many of the pain points of v1. If you have not read any of the blog posts on the Beta releases for [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) or [Linux](/blog/wails-v2-beta-for-linux), then I encourage you to do so as it covers all the major changes in more detail. In summary:
|
||||
La version v2 est un énorme bond en avant pour le projet, en abordant la plupart des points douloureux de la v1. Si vous n'avez lu aucun des articles de blog sur la version bêta pour [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) ou [Linux](/blog/wails-v2-beta-for-linux), alors je vous encourage à le faire car il couvre tous les changements majeurs plus en détail. En Résumé:
|
||||
|
||||
- Webview2 component for Windows that supports modern web standards and debugging capabilities.
|
||||
- [Dark / Light theme](/docs/reference/options#theme) + [custom theming](/docs/reference/options#customtheme) on Windows.
|
||||
- Windows now has no CGO requirements.
|
||||
- Out-of-the-box support for Svelte, Vue, React, Preact, Lit & Vanilla project templates.
|
||||
- [Vite](https://vitejs.dev/) integration providing a hot-reload development environment for your application.
|
||||
- Native application [menus](/docs/guides/application-development#application-menu) and [dialogs](/docs/reference/runtime/dialog).
|
||||
- Native window translucency effects for [Windows](/docs/reference/options#windowistranslucent) and [macOS](/docs/reference/options#windowistranslucent-1). Support for Mica & Acrylic backdrops.
|
||||
- Easily generate an [NSIS installer](/docs/guides/windows-installer) for Windows deployments.
|
||||
- A rich [runtime library](/docs/reference/runtime/intro) providing utility methods for window manipulation, eventing, dialogs, menus and logging.
|
||||
- Support for [obfuscating](/docs/guides/obfuscated) your application using [garble](https://github.com/burrowers/garble).
|
||||
- Support for compressing your application using [UPX](https://upx.github.io/).
|
||||
- Automatic TypeScript generation of Go structs. More info [here](/docs/howdoesitwork#calling-bound-go-methods).
|
||||
- No extra libraries or DLLs are required to be shipped with your application. For any platform.
|
||||
- No requirement to bundle frontend assets. Just develop your application like any other web application.
|
||||
- Le composant Webview2 pour Windows qui prend en charge les standards Web modernes et les capacités de débogage.
|
||||
- [Thème sombre / clair](/docs/reference/options#theme) + [thème personnalisé](/docs/reference/options#customtheme) sur Windows.
|
||||
- Windows n'a plus besoin de CGO.
|
||||
- Prise en charge des modèles de projet Svelte, Vue, React, Preact, Lit & Vanilla.
|
||||
- [Intégration de Vite](https://vitejs.dev/) fournissant un environnement de développement de rechargement à chaud pour votre application.
|
||||
- Support des [menus](/docs/guides/application-development#application-menu) et [boites de dialogues](/docs/reference/runtime/dialog) natifs.
|
||||
- Effets de transparence de fenêtre native pour [Windows](/docs/reference/options#windowistranslucent) et [macOS](/docs/reference/options#windowistranslucent-1). Prise en charge des fonds Mica & Acrylic.
|
||||
- Générez facilement un [installateur NSIS](/docs/guides/windows-installer) pour les déploiements Windows.
|
||||
- Une riche bibliothèque [runtime](/docs/reference/runtime/intro) fournissant des méthodes utilitaires pour la manipulation de fenêtres, évènements, les boites de dialogues, les menus et les logs.
|
||||
- Prise en charge pour le [masquage](/docs/guides/obfuscated) de votre application en utilisant [garble](https://github.com/burrowers/garble).
|
||||
- Prise en charge de la compression de votre application en utilisant [UPX](https://upx.github.io/).
|
||||
- Génération automatique en TypeScript de structures Go. Plus d'infos [ici](/docs/howdoesitwork#calling-bound-go-methods).
|
||||
- Aucune autre bibliothèque ou DLL ne doit être fournie avec votre application. Pour n'importe quelle plateforme.
|
||||
- Pas d'obligation de regrouper les actifs en frontend. Il vous suffit de développer votre application comme toute autre application web.
|
||||
|
||||
# Crédits & Remerciements
|
||||
|
||||
Getting to v2 has been a huge effort. There have been ~2.2K commits by 89 contributors between the initial alpha and the release today, and many, many more that have provided translations, testing, feedback and help on the discussion forums as well as the issue tracker. I'm so unbelievably grateful to each one of you. I'd also like to give an extra special thank you to all the project sponsors who have provided guidance, advice and feedback. Everything you do is hugely appreciated.
|
||||
Le passage à la v2 a été un effort énorme. Il y a eu ~2.2K commits par 89 contributeurs entre l'alpha initial et la publication aujourd'hui, et plusieurs, beaucoup d'autres qui ont fourni des traductions, des tests, des commentaires et de l'aide sur les forums de discussion ainsi que le suivi des problèmes. Je suis si incroyablement reconnaissant de chacun de vous. Je voudrais également remercier tout particulièrement tous les commanditaires du projet qui ont fourni des conseils, des conseils et des commentaires. Tout ce que vous faites est grandement apprécié.
|
||||
|
||||
There are a few people I'd like to give special mention to:
|
||||
Il y a quelques personnes auxquelles je voudrais donner une mention spéciale à:
|
||||
|
||||
Firstly, a **huge** thank you to [@stffabi](https://github.com/stffabi) who has provided so many contributions which we all benefit from, as well as providing a lot of support on many issues. He has provided some key features such as the external dev server support which transformed our dev mode offering by allowing us to hook into [Vite](https://vitejs.dev/)'s superpowers. It's fair to say that Wails v2 would be a far less exciting release without his [incredible contributions](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04). Thank you so much @stffabi!
|
||||
Tout d'abord, un **grand merci** à [@stffabi](https://github.com/stffabi) qui a fourni tant de contributions dont nous bénéficions tous, en plus de fournir un grand soutien sur de nombreuses questions. Il a fourni quelques fonctionnalités clés comme le support du serveur de développement externe qui a transformé notre offre de mode de développement en nous permettant de nous brancher sur les superpouvoirs de [Vite](https://vitejs.dev/). Il est juste de dire que Wails v2 serait une version beaucoup moins excitante sans ses [contributions incroyables](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04). Merci beaucoup @stffabi!
|
||||
|
||||
I'd also like to give a huge shout-out to [@misitebao](https://github.com/misitebao) who has tirelessly been maintaining the website, as well as providing Chinese translations, managing Crowdin and helping new translators get up to speed. This is a hugely important task, and I'm extremely grateful for all the time and effort put into this! You rock!
|
||||
Je voudrais également adresser un cri énorme à [@misitebao](https://github.com/misitebao) qui a inlassablement maintenu le site web en plus de fournir des traductions chinoises, de gérer Crowdin et d'aider les nouveaux traducteurs à se mettre à la hauteur. C'est une tâche extrêmement importante, et je suis extrêmement reconnaissant pour tout le temps et les efforts consentis dans cette tâche! Tu assures !
|
||||
|
||||
Last, but not least, a huge thank you to Mat Ryer who has provided advice and support during the development of v2. Writing xBar together using an early Alpha of v2 was helpful in shaping the direction of v2, as well as give me an understanding of some design flaws in the early releases. I'm happy to announce that as of today, we will start to port xBar to Wails v2, and it will become the flagship application for the project. Cheers Mat!
|
||||
Enfin, et surtout, un grand merci à Mat Ryer qui a fourni des conseils et du soutien pendant le développement de la v2. Écrire xBar ensemble en utilisant une Alpha de v2 était utile pour façonner la direction de v2, en plus de me donner une compréhension de certains défauts de conception dans les premières versions. Je suis heureux de vous annoncer qu'à partir d'aujourd'hui, nous allons commencer à porter xBar sur Wails v2, et il deviendra l'application phare du projet. Bravo Mat!
|
||||
|
||||
# Leçons apprises
|
||||
|
||||
There are a number of lessons learnt in getting to v2 that will shape development moving forward.
|
||||
Il y a un certain nombre de leçons apprises à se rendre à la version 2 qui façonneront les futurs développements.
|
||||
|
||||
## Des versions plus petites, plus rapides et ciblées
|
||||
|
||||
In the course of developing v2, there were many features and bug fixes that were developed on an ad-hoc basis. This led to longer release cycles and were harder to debug. Moving forward, we are going to create releases more often that will include a reduced number of features. A release will involve updates to documentation as well as thorough testing. Hopefully, these smaller, quicker, focussed releases will lead to fewer regressions and better quality documentation.
|
||||
Au cours du développement de la version 2, de nombreuses fonctionnalités et corrections de bogues ont été développées sur une base ad-hoc. Cela a entraîné des cycles de publication plus longs et a été plus difficile à déboger. Dans le futur, nous allons créer des versions plus souvent qui incluront un nombre réduit de fonctionnalités. Une version implique des mises à jour de la documentation ainsi que des tests approfondis. Espérons que ces versions plus petites, plus rapides et ciblées conduiront à moins de régressions et à une meilleure qualité de la documentation.
|
||||
|
||||
## Encourager l'engagement
|
||||
|
||||
When starting this project, I wanted to immediately help everyone who had a problem. Issues were "personal" and I wanted them resolved as quickly as possible. This is unsustainable and ultimately works against the longevity of the project. Moving forward, I will be giving more space for people to get involved in answering questions and triaging issues. It would be good to get some tooling to help with this so if you have any suggestions, please join in the discussion [here](https://github.com/wailsapp/wails/discussions/1855).
|
||||
Lors du lancement de ce projet, je voulais aider immédiatement tous ceux qui avaient un problème. Les problèmes étaient "personnels" et je voulais les résoudre le plus rapidement possible. Ceci n'est pas durable et va finalement à l'encontre de la longévité du projet. En avançant, je donnerai plus de place aux gens pour s'impliquer dans la réponse aux questions et vis à vis du triage. Il serait bon d'obtenir des outils pour aider à cela, donc si vous avez des suggestions, veuillez vous joindre à la discussion [ici](https://github.com/wailsapp/wails/discussions/1855).
|
||||
|
||||
## Apprendre à dire non
|
||||
|
||||
The more people that engage with an Open Source project, the more requests there will be for additional features that may or may not be useful to the majority of people. These features will take an initial amount of time to develop and debug, and incur an ongoing maintenance cost from that point on. I myself am the most guilty of this, often wanting to "boil the sea" rather than provide the minimum viable feature. Moving forward, we will need to say "No" a bit more to adding core features and focus our energies on a way to empower developers to provide that functionality themselves. We are looking seriously into plugins for this scenario. This will allow anyone to extend the project as they see fit, as well as providing an easy way to contribute towards the project.
|
||||
Plus il y a de personnes qui s'engagent dans un projet Open Source, plus il y aura de requêtes pour des fonctionnalités supplémentaires qui peuvent ou non être utiles à la majorité des personnes. Ces fonctionnalités prendront un temps initial de développement et de débogage, et entraîneront un coût de maintenance continu à partir de ce moment. Je suis moi-même coupable de cela, souvent vouloir "remuer terre et mer" plutôt que de fournir la caractéristique minimale viable. Dorénavant, nous devrons dire "Non" un peu plus pour ajouter des fonctionnalités de base et concentrer nos énergies sur un moyen de permettre aux développeurs de fournir eux-mêmes cette fonctionnalité. Nous examinons sérieusement les plugins pour ce scénario. Cela permettra à tous de prolonger le projet comme bon leur semble, tout en fournissant un moyen facile de contribuer au projet.
|
||||
|
||||
# Un regard tourné vers l'avenir
|
||||
|
||||
There are so many core features we are looking at to add to Wails in the next major development cycle already. The [roadmap](https://github.com/wailsapp/wails/discussions/1484) is full of interesting ideas, and I'm keen to start work on them. One of the big asks has been for multiple window support. It's a tricky one and to do it right, and we may need to look at providing an alternative API, as the current one was not designed with this in mind. Based on some preliminary ideas and feedback, I think you'll like where we're looking to go with it.
|
||||
Il y a tant de fonctionnalités fondamentales que nous envisageons d'ajouter à Wails dans le prochain cycle de développement majeur. La [feuille de route](https://github.com/wailsapp/wails/discussions/1484) est pleine d'idées intéressantes, et je suis impatient de commencer à y travailler. Une des grandes demandes a été le support de plusieurs fenêtres. C'est délicat et pour le faire correctement, et nous pourrions avoir besoin d'envisager de fournir une API alternative, car la version courante n'a pas été conçue en gardant cela à l'esprit. Sur la base de quelques idées préliminaires et de commentaires, je pense que vous aimerez où nous allons aller.
|
||||
|
||||
I'm personally very excited at the prospect of getting Wails apps running on mobile. We already have a demo project showing that it is possible to run a Wails app on Android, so I'm really keen to explore where we can go with this!
|
||||
Personnellement, je suis très excité à l'idée de faire fonctionner des applications Wails sur mobile. Nous avons déjà un projet de démo qui montre qu'il est possible d'exécuter une application Wails sur Android, donc je suis vraiment impatient d'explorer où nous pouvons aller avec ceci!
|
||||
|
||||
A final point I'd like to raise is that of feature parity. It has long been a core principle that we wouldn't add anything to the project without there being full cross-platform support for it. Whilst this has proven to be (mainly) achievable so far, it has really held the project back in releasing new features. Moving forward, we will be adopting a slightly different approach: any new feature that cannot be immediately released for all platforms will be released under an experimental configuration or API. This allows early adopters on certain platforms to try the feature and provide feedback that will feed into the final design of the feature. This, of course, means that there are no guarantees of API stability until it is fully supported by all the platforms it can be supported on, but at least it will unblock development.
|
||||
Un dernier point que je voudrais soulever est celui de la parité des fonctionnalités. Cela fait longtemps que nous n'ajouterions rien au projet sans un support cross-plateforme complet. Bien que cela se soit avéré (principalement) réalisable jusqu'à présent, il a vraiment repoussé le projet dans la publication de nouvelles fonctionnalités. A présent, nous adopterons une approche légèrement différente : toute nouvelle fonctionnalité qui ne peut pas être publiée immédiatement pour toutes les plates-formes sera publiée sous une configuration expérimentale ou une API. Cela permet aux adopteurs précoces sur certaines plates-formes d'essayer la fonctionnalité et de fournir des commentaires qui alimenteront la conception finale de la fonctionnalité. Ceci, bien sûr, signifie qu'il n'y a aucune garantie de stabilité de l'API tant qu'il n'est pas entièrement supporté par toutes les plateformes sur lesquelles il peut être supporté, mais au moins cela débloquera le développement.
|
||||
|
||||
# Derniers Mots
|
||||
|
||||
I'm really proud of what we've been able to achieve with the V2 release. It's amazing to see what people have already been able to build using the beta releases so far. Quality applications like [Varly](https://varly.app/), [Surge](https://getsurge.io/) and [October](https://october.utf9k.net/). I encourage you to check them out.
|
||||
Je suis vraiment fier de ce que nous avons pu réaliser avec la version V2. C'est incroyable de voir ce que les gens ont déjà pu construire en utilisant les versions bêta jusqu'à présent. Applications de qualité comme [Varly](https://varly.app/), [Surge](https://getsurge.io/) et [October](https://october.utf9k.net/). Je vous encourage à aller voir ces projets.
|
||||
|
||||
This release was achieved through the hard work of many contributors. Whilst it is free to download and use, it has not come about through zero cost. Make no mistakes, this project has come at considerable cost. It has not only been my time and the time of each and every contributor, but also the cost of absence from friends and families of each of those people too. That's why I'm extremely grateful for every second that has been dedicated to making this project happen. The more contributors we have, the more this effort can be spread out and the more we can achieve together. I'd like to encourage you all to pick one thing that you can contribute, whether it is confirming someone's bug, suggesting a fix, making a documentation change or helping out someone who needs it. All of these small things have such a huge impact! It would be so awesome if you too were part of the story in getting to v3.
|
||||
Cette version a été obtenue grâce au travail acharné de nombreux contributeurs. Bien qu'il soit gratuit à télécharger et à utiliser, il n'a pas rien coûté. Ne vous y trompez pas, ce projet a eu un coût considérable. Ce n'est pas seulement mon temps et le temps de chaque contributeur, mais aussi le coût de l'absence des amis et des familles de chacune de ces personnes aussi. C'est pourquoi je suis extrêmement reconnaissant pour chaque seconde qui a été consacré à faire de ce projet se produire. Plus nous avons de contributeurs, plus cet effort peut être réparti et le plus nous pourrons faire ensemble. Je voudrais vous encourager tous à choisir une chose que vous pouvez contribuer, si elle confirme le bogue de quelqu'un, suggérer un correctif, faire un changement de documentation ou aider quelqu'un qui en a besoin. Toutes ces petites choses ont un impact énorme! Ça serait si génial si vous aussi faisiez aussi parti de l'histoire de la v3.
|
||||
|
||||
Profitez bien!
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,184 @@
|
|||
---
|
||||
slug: the-road-to-wails-v3
|
||||
title: The Road to Wails v3
|
||||
authors:
|
||||
- leaanthony
|
||||
tags:
|
||||
- wails
|
||||
- v3
|
||||
---
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
<img
|
||||
src={require("@site/static/img/blog/multiwindow.webp").default}
|
||||
width="90%"
|
||||
/>
|
||||
</div>
|
||||
<br />
|
||||
```
|
||||
|
||||
# Introduction
|
||||
|
||||
Wails is a project that simplifies the ability to write cross-platform desktop applications using Go. It uses native webview components for the frontend (not embedded browsers), bringing the power of the world's most popular UI system to Go, whilst remaining lightweight.
|
||||
|
||||
Version 2 was released on the 22nd of September 2022 and brought with it a lot of enhancements including:
|
||||
|
||||
- Live development, leveraging the popular Vite project
|
||||
- Rich functionality for managing windows and creating menus
|
||||
- Microsoft's WebView2 component
|
||||
- Generation of Typescript models that mirror your Go structs
|
||||
- Creating of NSIS Installer
|
||||
- Obfuscated builds
|
||||
|
||||
Right now, Wails v2 provides powerful tooling for creating rich, cross-platform desktop applications.
|
||||
|
||||
This blog post aims to look at where the project is at right now and what we can improve on moving forward.
|
||||
|
||||
# Where are we now?
|
||||
|
||||
It's been incredible to see the popularity of Wails rising since the v2 release. I'm constantly amazed by the creativity of the community and the wonderful things that are being built with it. With more popularity, comes more eyes on the project. And with that, more feature requests and bug reports.
|
||||
|
||||
Over time, I've been able to identify some of the most pressing issues facing the project. I've also been able to identify some of the things that are holding the project back.
|
||||
|
||||
## Current issues
|
||||
|
||||
I've identified the following areas that I feel are holding the project back:
|
||||
|
||||
- The API
|
||||
- Bindings generation
|
||||
- The Build System
|
||||
|
||||
### The API
|
||||
|
||||
The API to build a Wails application currently consists of 2 parts:
|
||||
|
||||
- The Application API
|
||||
- The Runtime API
|
||||
|
||||
The Application API famously has only 1 function: `Run()` which takes a heap of options which govern how the application will work. Whilst this is very simple to use, it is also very limiting. It is a "declarative" approach which hides a lot of the underlying complexity. For instance, there is no handle to the main window, so you can't interact with it directly. For that, you need to use the Runtime API. This is a problem when you start to want to do more complex things like create multiple windows.
|
||||
|
||||
The Runtime API provides a lot of utility functions for the developer. This includes:
|
||||
|
||||
- Window management
|
||||
- Dialogs
|
||||
- Menus
|
||||
- Events
|
||||
- Logs
|
||||
|
||||
There are a number of things I am not happy with the Runtime API. The first is that it requires a "context" to be passed around. This is both frustrating and confusing for new developers who pass in a context and then get a runtime error.
|
||||
|
||||
The biggest issue with the Runtime API is that it was designed for applications that only use a single window. Over time, the demand for multiple windows has grown and the API is not well suited to this.
|
||||
|
||||
### Thoughts on the v3 API
|
||||
|
||||
Wouldn't it be great if we could do something like this?
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := wails.NewApplication(options.App{})
|
||||
myWindow := app.NewWindow(options.Window{})
|
||||
myWindow.SetTitle("My Window")
|
||||
myWindow.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
app.Run()
|
||||
}
|
||||
```
|
||||
|
||||
This programmatic approach is far more intuitive and allows the developer to interact with the application elements directly. All current runtime methods for windows would simply be methods on the window object. For the other runtime methods, we could move them to the application object like so:
|
||||
|
||||
```go
|
||||
app := wails.NewApplication(options.App{})
|
||||
app.NewInfoDialog(options.InfoDialog{})
|
||||
app.Log.Info("Hello World")
|
||||
```
|
||||
|
||||
This is a much more powerful API which will allow for more complex applications to be built. It also allows for the creation of multiple windows, [the most up-voted feature on GitHub](https://github.com/wailsapp/wails/issues/1480):
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := wails.NewApplication(options.App{})
|
||||
myWindow := app.NewWindow(options.Window{})
|
||||
myWindow.SetTitle("My Window")
|
||||
myWindow.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
myWindow2 := app.NewWindow(options.Window{})
|
||||
myWindow2.SetTitle("My Window 2")
|
||||
myWindow2.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
app.Run()
|
||||
}
|
||||
```
|
||||
|
||||
### Bindings generation
|
||||
|
||||
One of the key features of Wails is generating bindings for your Go methods so they may be called from Javascript. The current method for doing this is a bit of a hack. It involves building the application with a special flag and then running the resultant binary which uses reflection to determine what has been bound. This leads to a bit of a chicken and egg situation: You can't build the application without the bindings and you can't generate the bindings without building the application. There are many ways around this but the best one would be not to use this approach at all.
|
||||
|
||||
There was a number of attempts at writing a static analyser for Wails projects but they didn't get very far. In more recent times, it has become slightly easier to do this with more material available on the subject.
|
||||
|
||||
Compared to reflection, the AST approach is much faster however it is significantly more complicated. To start with, we may need to impose certain constraints on how to specify bindings in the code. The goal is to support the most common use cases and then expand it later on.
|
||||
|
||||
### The Build System
|
||||
|
||||
Like the declarative approach to the API, the build system was created to hide the complexities of building a desktop application. When you run `wails build`, it does a lot of things behind the scenes:
|
||||
- Builds the backend binary for bindings and generates the bindings
|
||||
- Installs the frontend dependencies
|
||||
- Builds the frontend assets
|
||||
- Determines if the application icon is present and if so, embeds it
|
||||
- Builds the final binary
|
||||
- If the build is for `darwin/universal` it builds 2 binaries, one for `darwin/amd64` and one for `darwin/arm64` and then creates a fat binary using `lipo`
|
||||
- If compression is required, it compresses the binary with UPX
|
||||
- Determines if this binary is to be packaged and if so:
|
||||
- Ensures the icon and application manifest are compiled into the binary (Windows)
|
||||
- Builds out the application bundle, generates the icon bundle and copies it, the binary and Info.plist to the application bundle (Mac)
|
||||
- If an NSIS installer is required, it builds it
|
||||
|
||||
This entire process, whilst very powerful, is also very opaque. It is very difficult to customise it and it is very difficult to debug.
|
||||
|
||||
To address this in v3, I would like to move to a build system that exists outside of Wails. After using [Task](https://taskfile.dev/) for a while, I am a big fan of it. It is a great tool for configuring build systems and should be reasonably familiar to anyone who has used Makefiles.
|
||||
|
||||
The build system would be configured using a `Taskfile.yml` file which would be generated by default with any of the supported templates. This would have all of the steps required to do all the current tasks, such as building or packaging the application, allowing for easy customisation.
|
||||
|
||||
There will be no external requirement for this tooling as it would form part of the Wails CLI. This means that you can still use `wails build` and it will do all the things it does today. However, if you want to customise the build process, you can do so by editing the `Taskfile.yml` file. It also means you can easily understand the build steps and use your own build system if you wish.
|
||||
|
||||
The missing piece in the build puzzle is the atomic operations in the build process, such as icon generation, compression and packaging. To require a bunch of external tooling would not be a great experience for the developer. To address this, the Wails CLI will provide all these capabilities as part of the CLI. This means that the builds still work as expected, with no extra external tooling, however you can replace any step of the build with any tool you like.
|
||||
|
||||
This will be a much more transparent build system which will allow for easier customisation and address a lot of the issues that have been raised around it.
|
||||
|
||||
## The Payoff
|
||||
|
||||
These positive changes will be a huge benefit to the project:
|
||||
- The new API will be much more intuitive and will allow for more complex applications to be built.
|
||||
- Using static analysis for bindings generation will be much faster and reduce a lot of the complexity around the current process.
|
||||
- Using an established, external build system will make the build process completely transparent, allowing for powerful customisation.
|
||||
|
||||
Benefits to the project maintainers are:
|
||||
|
||||
- The new API will be much easier to maintain and adapt to new features and platforms.
|
||||
- The new build system will be much easier to maintain and extend. I hope this will lead to a new ecosystem of community driven build pipelines.
|
||||
- Better separation of concerns within the project. This will make it easier to add new features and platforms.
|
||||
|
||||
## The Plan
|
||||
|
||||
A lot of the experimentation for this has already been done and it's looking good. There is no current timeline for this work but I'm hoping by the end of Q1 2023, there will be an alpha release for Mac to allow the community to test, experiment with and provide feedback.
|
||||
|
||||
## Summary
|
||||
|
||||
- The v2 API is declarative, hides a lot from the developer and not suitable for features such as multiple windows. A new API will be created which will be simpler, intuitive and more powerful.
|
||||
- The build system is opaque and difficult to customise so we will move to an external build system which will open it all up.
|
||||
- The bindings generation is slow and complex so we will move to static analysis which will remove a lot of the complexity the current method has.
|
||||
|
||||
There has been a lot of work put into the guts of v2 and it's solid. It's now time to address the layer on top of it and make it a much better experience for the developer.
|
||||
|
||||
I hope you are as excited about this as I am. I'm looking forward to hearing your thoughts and feedback.
|
||||
|
||||
Regards,
|
||||
|
||||
‐ Lea
|
||||
|
||||
PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
|
||||
|
||||
PPS: Yes, that's a genuine screenshot of a multi-window application built with Wails. It's not a mockup. It's real. It's awesome. It's coming soon.
|
||||
|
|
@ -22,4 +22,5 @@ La [liste définitive](https://github.com/wailsapp/awesome-wails) de liens relat
|
|||
- [Groupe QQ pour la communauté chinoise de Wails](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Numéro de groupe : 1067173054
|
||||
|
||||
## Autres tutoriels et articles
|
||||
|
||||
- [Construction d'un Panneau d'Affichage](https://blog.customct.com/building-bulletin-board)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# BulletinBoard
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img src={require("@site/static/img/showcase/bboard.webp").default} />
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
The [BulletinBoard](https://github.com/raguay/BulletinBoard) application is a versital message board for static messages or dialogs to get information from the user for a script. It has a TUI for creating new dialogs that can latter be used to get information from the user. It's design is to stay running on your system and show the information as needed and then hide away. I have a process for watching a file on my system and sending the contents to BulletinBoard when changed. It works great with my workflows. There is also an [Alfred workflow](https://github.com/raguay/MyAlfred/blob/master/Alfred%205/EmailIt.alfredworkflow) for sending information to the program. The workflow is also for working with [EmailIt](https://github.com/raguay/EmailIt).
|
||||
|
|
@ -7,4 +7,4 @@
|
|||
</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. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
|
||||
[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 scripts terminal to run scripts in EmailIt on files in your system. The scripts and templates can be used from the commandline itself or with the Alfred, Keyboard Maestro, Dropzone, or PopClip extensions. It also supports scripts and themes downloaded form GitHub. Documentation is not complete, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# hiposter
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img src={require("@site/static/img/showcase/hiposter.webp").default} />
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
|
||||
|
|
@ -9,6 +9,6 @@
|
|||
</p>
|
||||
```
|
||||
|
||||
[Modal File Manager](https://github.com/raguay/ModalFileManager) est un gestionnaire de fichiers à double volet utilisant des technologies web. Mon design original était basé sur NW.js et peut être trouvé [ici](https://github.com/raguay/ModalFileManager-NWjs). Cette version utilise le même code frontend basé sur Svelte (mais il a été grandement modifié depuis le départ de NW.js), mais le backend est une implémentation de [Wails 2](https://wails.io/). En utilisant cette implémentation, je n'utilise plus de commandes en ligne de commande `rm`, `cp`, etc. Il est entièrement codé en utilisant Go et fonctionne beaucoup plus rapidement que les versions précédentes.
|
||||
[Modal File Manager](https://github.com/raguay/ModalFileManager) est un gestionnaire de fichiers à double volet utilisant des technologies web. Mon design original était basé sur NW.js et peut être trouvé [ici](https://github.com/raguay/ModalFileManager-NWjs). Cette version utilise le même code frontend basé sur Svelte (mais il a été grandement modifié depuis le départ de NW.js), mais le backend est une implémentation de [Wails 2](https://wails.io/). By using this implementation, I no longer use command line `rm`, `cp`, etc. commands, but a git install has to be on the system to download themes and extensions. Il est entièrement codé en utilisant Go et fonctionne beaucoup plus rapidement que les versions précédentes.
|
||||
|
||||
Ce gestionnaire de fichiers est conçu autour du même principe que Vim: l'état est contrôlé par des actions via le clavier. Le nombre d'états n'est pas fixe, mais très programmable. Par conséquent, un nombre infini de configurations de clavier qui peuvent être créées et utilisées. C'est la principale différence par rapport aux autres gestionnaires de fichiers.
|
||||
Ce gestionnaire de fichiers est conçu autour du même principe que Vim: l'état est contrôlé par des actions via le clavier. Le nombre d'états n'est pas fixe, mais très programmable. Par conséquent, un nombre infini de configurations de clavier qui peuvent être créées et utilisées. C'est la principale différence par rapport aux autres gestionnaires de fichiers. There are themes and extensions available to download from GitHub.
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@
|
|||
</p>
|
||||
```
|
||||
|
||||
[Barre de scripts](https://GitHub.com/raguay/ScriptBarApp) est un programme pour afficher la sortie du serveur [Node-Red](https://nodered.org) intégré dans l'application [EmailIt](https://GitHub.com/raguay/EmailIt). Il affiche également la sortie des scripts sur votre système. ScriptBar ne les met pas dans la barre de menus, mais les a tous dans une fenêtre convenable pour une visualisation facile. Vous pouvez avoir plusieurs onglets pour voir plusieurs choses différentes. Vous pouvez également conserver les liens vers vos sites Web les plus visités.
|
||||
[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of scripts or [Node-Red](https://nodered.org) server. It runs scripts defined in EmailIt program and shows the output. Scripts from xBar or TextBar can be used, but currently on the TextBar scripts work well. Il affiche également la sortie des scripts sur votre système. ScriptBar ne les met pas dans la barre de menus, mais les a tous dans une fenêtre convenable pour une visualisation facile. Vous pouvez avoir plusieurs onglets pour voir plusieurs choses différentes. Vous pouvez également conserver les liens vers vos sites Web les plus visités.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
# Minecraft launcher for WarMine
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img
|
||||
src={require("@site/static/img/showcase/warmine1.png").default}
|
||||
/>
|
||||
<img
|
||||
src={require("@site/static/img/showcase/warmine2.png").default}
|
||||
/>
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
[Minecraft launcher for WarMine](https://warmine.ru/) is a Wails application, that allows you to easily join modded game servers and manage your game accounts.
|
||||
|
||||
The Launcher downloads the game files, checks their integrity and launches the game with a wide range of customization options for the launch arguments from the backend.
|
||||
|
||||
Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
|
||||
|
|
@ -27,6 +27,7 @@ Si vous n'êtes pas sûr d'un modèle, inspectez `package.json` et `wails.json`
|
|||
- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vue 3 TypeScript avec Vite, Vuex, Vue Router, Sass, et ESLint + Prettier
|
||||
- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - Un modèle utilisant JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier)
|
||||
- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - Un modèle utilisant TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, Composition API avec <script setup>)
|
||||
- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Modèle Wails basé sur Naive UI (Librairie de composants Vue 3)
|
||||
|
||||
## Angular
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ import TabItem from "@theme/TabItem";
|
|||
Wails a besoin que <a href="https://developer.microsoft.com/en-us/microsoft-edge/webview2/">WebView2</a> runtime soit installé. Certaines installations de Windows auront déjà installé cette fonctionnalité. Vous pouvez vérifier en utilisant la commande <code>wails doctor</code>.
|
||||
</TabItem>
|
||||
<TabItem value={"Linux"}>
|
||||
Linux a besoin de <code>gcc</code> build tools plus <code>libgtk3</code> et <code>libwebkit</code>. Plutôt que de lister une tonne de commandes pour différentes distributions, Wails peut essayer de déterminer ce que sont les commandes d'installation pour votre distribution spécifique. Exécutez <code>wails doctor</code> après l'installation pour voir de quelles dépendances vous avez besoin. Si votre gestionnaire de distribution/paquet n'est pas pris en charge, veuillez consulter le guide <a href={"/docs/guides/linux-distro-support"}>Ajouter une distribution Linux</a>.
|
||||
Linux requires the standard <code>gcc</code> build tools plus <code>libgtk3</code> and <code>libwebkit</code>. Plutôt que de lister une tonne de commandes pour différentes distributions, Wails peut essayer de déterminer ce que sont les commandes d'installation pour votre distribution spécifique. Exécutez <code>wails doctor</code> après l'installation pour voir de quelles dépendances vous avez besoin. Si votre gestionnaire de distribution/paquet n'est pas pris en charge, veuillez consulter le guide <a href={"/docs/guides/linux-distro-support"}>Ajouter une distribution Linux</a>.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
```
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ Il n'y a pas de règles gravées dans le marbre pour le développement d'applica
|
|||
|
||||
## Configuration de l'application
|
||||
|
||||
The pattern used by the default templates are that `main.go` is used for configuring and running the application, whilst `app.go` is used for defining the application logic.
|
||||
Le modèle utilisé par défaut défini que `main.go` est utilisé pour configurer et démarrer l'application, tandis que `app.go` est utilisé pour définir la logique de l'application.
|
||||
|
||||
The `app.go` file will define a struct that has 2 methods which act as hooks into the main application:
|
||||
Le fichier `app.go` va définir une structure qui a 2 méthodes qui agissent comme crochets dans l'application principale:
|
||||
|
||||
```go title="app.go"
|
||||
type App struct {
|
||||
|
|
@ -25,11 +25,11 @@ func (a *App) shutdown(ctx context.Context) {
|
|||
}
|
||||
```
|
||||
|
||||
- The startup method is called as soon as Wails allocates the resources it needs and is a good place for creating resources, setting up event listeners and anything else the application needs at startup. It is given a `context.Context` which is usually saved in a struct field. This context is needed for calling the [runtime](../reference/runtime/intro.mdx). If this method returns an error, the application will terminate. In dev mode, the error will be output to the console.
|
||||
- La méthode startup est appelée d-s que Wails a donné les ressources nécessaires et qu'il est dans un bon état pour créer les ressources, mettre en place les event listeners et tout ce dont l'application peut avoir besoin pour démarrer. Il est donné un `context.Context` qui est généralement sauvegardé dans un champ struct. Ce contexte est nécessaire pour appeler le [runtime](../reference/runtime/intro.mdx). Si cette méthode renvoie une erreur, l'application se fermera. En mode développement, l'erreur sera affichée dans la console.
|
||||
|
||||
- The shutdown method will be called by Wails right at the end of the shutdown process. This is a good place to deallocate memory and perform any shutdown tasks.
|
||||
- La méthode d'arrêt sera appelée par Wails à la fin du processus d'arrêt. C'est un bon endroit pour vider la mémoire et effectuer toutes les tâches d'arrêt.
|
||||
|
||||
The `main.go` file generally consists of a single call to `wails.Run()`, which accepts the application configuration. The pattern used by the templates is that before the call to `wails.Run()`, an instance of the struct we defined in `app.go` is created and saved in a variable called `app`. This configuration is where we add our callbacks:
|
||||
Le fichier `main.go` consiste généralement en un seul appel à `wails.Run()`, qui accepte la configuration de l'application. Le modèle utilisé par les templates fait qu'avant l'appel à `wails.Run()`, une instance du struct que l'on a définie dans `app.go` est créée et instanciée dans une variable appelée `app`. Cette configuration est l'endroit où nous ajoutons nos callbacks :
|
||||
|
||||
```go {3,9,10} title="main.go"
|
||||
func main() {
|
||||
|
|
@ -50,11 +50,11 @@ func main() {
|
|||
|
||||
```
|
||||
|
||||
More information on application lifecycle hooks can be found [here](../howdoesitwork.mdx#application-lifecycle-callbacks).
|
||||
Plus d'informations sur les crochets du cycle de vie des applications peuvent être trouvées [ici](../howdoesitwork.mdx#application-lifecycle-callbacks).
|
||||
|
||||
## Binding Methods
|
||||
## Méthodes de liaison
|
||||
|
||||
It is likely that you will want to call Go methods from the frontend. This is normally done by adding public methods to the already defined struct in `app.go`:
|
||||
Il est probable que vous vouliez appeler les méthodes Go depuis le frontend. Cela se fait normalement en ajoutant des méthodes publiques à le struct déjà défini dans `app.go`:
|
||||
|
||||
```go {16-18} title="app.go"
|
||||
type App struct {
|
||||
|
|
@ -77,7 +77,7 @@ func (a *App) Greet(name string) string {
|
|||
}
|
||||
```
|
||||
|
||||
In the main application configuration, the `Bind` key is where we can tell Wails what we want to bind:
|
||||
Dans la configuration principale de l'application, le paramètre `Bind` est l'endroit où nous pouvons dire à Wails ce que nous voulons lier :
|
||||
|
||||
```go {11-13} title="main.go"
|
||||
func main() {
|
||||
|
|
@ -101,11 +101,11 @@ func main() {
|
|||
|
||||
```
|
||||
|
||||
This will bind all public methods in our `App` struct (it will never bind the startup and shutdown methods).
|
||||
Cela liera toutes les méthodes publiques de notre structure `App` (cela ne liera jamais les méthodes de démarrage et d'arrêt du système).
|
||||
|
||||
### Dealing with context when binding multiple structs
|
||||
### Traiter avec le contexte lors de la liaison de plusieurs structures
|
||||
|
||||
If you want to bind methods for multiple structs but want each struct to keep a reference to the context so that you can use the runtime functions, a good pattern is to pass the context from the `OnStartup` method to your struct instances :
|
||||
Si vous voulez lier des méthodes pour des structures multiples, mais que vous voulez que chaque struct conserve une référence au contexte pour que vous puissiez utiliser les fonctions d'exécution... Un bon choix est de passer le contexte de la méthode `OnStartup` à vos instances struct :
|
||||
|
||||
```go
|
||||
func main() {
|
||||
|
|
@ -133,11 +133,11 @@ func main() {
|
|||
}
|
||||
```
|
||||
|
||||
More information on Binding can be found [here](../howdoesitwork.mdx#method-binding).
|
||||
Plus d'informations à sur Binding peuvent être trouvées [ici](../howdoesitwork.mdx#method-binding).
|
||||
|
||||
## Application Menu
|
||||
## Menu de l’application
|
||||
|
||||
Wails supports adding a menu to your application. This is done by passing a [Menu](../reference/menus.mdx#menu) struct to application config. It's common to use a method that returns a Menu, and even more common for that to be a method on the `App` struct used for the lifecycle hooks.
|
||||
Wails prend en charge l'ajout d'un menu à votre application. Ceci est fait en passant un [Menu](../reference/menus.mdx#menu) structuré à la configuration de l'application. Il est courant d'utiliser une méthode qui renvoie un Menu, et encore plus courant pour que cela soit une méthode sur la struct de l'`app` qui soit utilisée pour les hooks du cycle de vie.
|
||||
|
||||
```go {11} title="main.go"
|
||||
func main() {
|
||||
|
|
@ -162,33 +162,33 @@ func main() {
|
|||
|
||||
```
|
||||
|
||||
## Assets
|
||||
## Ressources
|
||||
|
||||
The great thing about the way Wails v2 handles assets is that it doesn't! The only thing you need to give Wails is an `embed.FS`. How you get to that is entirely up to you. You can use vanilla html/css/js files like the vanilla template. You could have some complicated build system, it doesn't matter.
|
||||
La grande chose à propos de la façon dont Wails v2 gère les ressources pour le frontend, est que ce n'est pas le cas! La seule chose que vous devez donner à Wails est un `embed.FS`. C'est à vous de décider comment vous y arrivez. Vous pouvez utiliser les fichiers html/css/js vanilla comme dans le modèle vanilla. Vous pourriez avoir un système de compilation compliqué, peu importe.
|
||||
|
||||
When `wails build` is run, it will check the `wails.json` project file at the project root. There are 2 keys in the project file that are read:
|
||||
Quand la commande `wails dev` est exécutée, elle vérifiera le fichier de projet `wails.json` à la racine du projet. Il y a 2 clés dans le fichier du projet qui sont lues :
|
||||
|
||||
- "frontend:install"
|
||||
- "frontend:build"
|
||||
|
||||
The first, if given, will be executed in the `frontend` directory to install the node modules. The second, if given, will be executed in the `frontend` directory to build the frontend project.
|
||||
Le premier, si fourni, sera exécuté dans le répertoire `frontend` pour installer les modules. Le second, si fourni, sera exécuté dans le répertoire `frontend` pour construire le projet frontend.
|
||||
|
||||
If these 2 keys aren't given, then Wails does absolutely nothing with the frontend. It is only expecting that `embed.FS`.
|
||||
Si ces 2 clés ne sont pas fournies, alors Wails ne fait absolument rien avec le frontend. Il n'attend que `embed.FS`.
|
||||
|
||||
### AssetsHandler
|
||||
|
||||
A Wails v2 app can optionally define a `http.Handler` in the `options.App`, which allows hooking into the AssetServer to create files on the fly or process POST/PUT requests. GET requests are always first handled by the `assets` FS. If the FS doesn't find the requested file the request will be forwarded to the `http.Handler` for serving. Any requests other than GET will be directly processed by the `AssetsHandler` if specified. It's also possible to only use the `AssetsHandler` by specifiy `nil` as the `Assets` option.
|
||||
Une application Wails v2 peut éventuellement définir un `http.Handler` dans `options.app`, qui permet de se connecter à l'AssetServer pour créer des fichiers à la volée ou traiter les requêtes POST/PUT. Les requêtes GET sont toujours traitées d'abord par le `assets` FS. Si le FS ne trouve pas le fichier demandé, la requête sera transmise au `http.Handler`. Toute requête autre que GET sera traitée directement par le `AssetsHandler` si spécifié. Il est également possible d'utiliser le `AssetsHandler` uniquement en spécifiant `nil` dans l'option `Assets`.
|
||||
|
||||
## Built in Dev Server
|
||||
## Serveur de développement embarqué
|
||||
|
||||
Running `wails dev` will start the built in dev server which will start a file watcher in your project directory. By default, if any file changes, wails checks if it was an application file (default: `.go`, configurable with `-e` flag). If it was, then it will rebuild your application and relaunch it. If the changed file was in the assets, it will issue a reload after a short amount of time.
|
||||
Exécuter `wails dev` démarrera le serveur de développement intégré qui démarrera un observateur de fichiers dans votre répertoire de projet. Par par défaut, si un fichier change, wails vérifie s'il s'agit d'un fichier d'application (par défaut: `.go`, configurable avec l'option `-e`). Si c'est le cas, il reconstruira votre application et la relancera. Si le fichier modifié se trouvait dans les actifs, il lancera un rechargement après un court laps de temps.
|
||||
|
||||
The dev server uses a technique called "debouncing" which means it doesn't reload straight away, as there may be multiple files changed in a short amount of time. When a trigger occurs, it waits for a set amount of time before issuing a reload. If another trigger happens, it resets to the wait time again. By default this value is `100ms`. If this value doesn't work for your project, it can be configured using the `-debounce` flag. If used, this value will be saved to your project config and become the default.
|
||||
Le serveur de développement utilise une technique appelée "debouncing", ce qui signifie qu'il ne se recharge pas tout de suite, comme il peut y avoir plusieurs fichiers modifiés en un court laps de temps. Lorsqu'un déclencheur se produit, il attend un temps défini avant d'émettre un rechargement. Si un autre déclencheur se produit, le temps d'attente se réinitialise avant un prochain rechargement. Par défaut, cette période est définie à `100ms`. Si cette valeur ne fonctionne pas pour votre projet, elle peut être configurée en utilisant l'option `-debounce`. Si elle est utilisée, cette valeur sera enregistrée dans la configuration de votre projet et deviendra la valeur par défaut.
|
||||
|
||||
## External Dev Server
|
||||
## Serveur de développement externe
|
||||
|
||||
Some frameworks come with their own live-reloading server, however they will not be able to take advantage of the Wails Go bindings. In this scenario, it is best to run a watcher script that rebuilds the project into the build directory, which Wails will be watching. For an example, see the default svelte template that uses [rollup](https://rollupjs.org/guide/en/). For [create-react-app](https://create-react-app.dev/), it's possible to use [this script](https://gist.github.com/int128/e0cdec598c5b3db728ff35758abdbafd) to achieve a similar result.
|
||||
Certains frameworks sont fournis avec leur propre serveur de rechargement en direct, cependant ils ne seront pas en mesure de tirer parti des liaisons Wails Go. Dans ce scénario, il est préférable d'exécuter un script qui va surveiller le projet dans dossier build, dossier que Wails surveille aussi. Pour un exemple, voir le modèle svelte par défaut qui utilise [rollup](https://rollupjs.org/guide/en/). Pour [create-react-app](https://create-react-app.dev/), il est possible d'utiliser [ce script](https://gist.github.com/int128/e0cdec598c5b3db728ff35758abdbafd) pour obtenir un résultat similaire.
|
||||
|
||||
## Go Module
|
||||
## Module Go
|
||||
|
||||
The default Wails templates generate a `go.mod` file that contains the module name "changeme". You should change this to something more appropriate after project generation.
|
||||
Les modèles Wails par défaut génèrent un fichier `go.mod` qui contient le nom de module "changeme". Vous devriez changer ceci pour quelque chose de plus approprié après la génération du projet.
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
# Dynamic Assets
|
||||
# Ressources dynamiques
|
||||
|
||||
If you want to load or generate assets for your frontend dynamically, you can achieve that using the [AssetsHandler](../reference/options#assetshandler) option. The AssetsHandler is a generic `http.Handler` which will be called for any non GET request on the assets server and for GET requests which can not be served from the bundled assets because the file is not found.
|
||||
Si vous voulez charger ou générer des ressources pour votre frontend de manière dynamique, vous pouvez y parvenir en utilisant l'option [AssetsHandler](../reference/options#assetshandler). Le AssetsHandler est un générique`http.Handler` qui sera appelé pour toute requête non GET sur le serveur d'assets et pour les requêtes GET qui ne peuvent pas être servies car l'asset n'est pas trouvé.
|
||||
|
||||
By installing a custom AssetsHandler, you can serve your own assets using a custom asset server.
|
||||
En installant un AssetsHandler personnalisé, vous pouvez servir vos propres ressources en utilisant un serveur de ressources personnalisé.
|
||||
|
||||
## Example
|
||||
## Exemple
|
||||
|
||||
In our example project, we will create a simple assets handler which will load files off disk:
|
||||
Dans notre exemple de projet, nous allons créer un gestionnaire de ressources simple qui chargera les fichiers à partir du disque:
|
||||
|
||||
```go title=main.go {16-35,49}
|
||||
```go title=main.go {17-36,49}
|
||||
package main
|
||||
|
||||
import (
|
||||
|
|
@ -72,7 +72,7 @@ func main() {
|
|||
}
|
||||
```
|
||||
|
||||
When we run the application in dev mode using `wails dev`, we will see the following output:
|
||||
Lorsque nous exécutons l'application en mode dev en utilisant `wails dev`, nous verrons la sortie suivante :
|
||||
|
||||
```
|
||||
DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico'
|
||||
|
|
@ -80,15 +80,15 @@ DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed,
|
|||
Requesting file: favicon.ico
|
||||
```
|
||||
|
||||
As you can see, the assets handler is called when the default assets server is unable to serve the `favicon.ico` file.
|
||||
Comme vous pouvez le voir, le gestionnaire d'actifs est appelé lorsque le serveur d'assets par défaut est incapable de servir le fichier `favicon.ico`.
|
||||
|
||||
If you right click the main application and select "inspect" to bring up the devtools, you can test this feature out by typing the following into the console:
|
||||
Si vous faites un clic droit sur l'application principale et sélectionnez "inspecter" pour afficher les devtools, vous pouvez tester cette fonctionnalité en tapant ce qui suit dans la console :
|
||||
|
||||
```
|
||||
let response = await fetch('does-not-exist.txt');
|
||||
```
|
||||
|
||||
This will generate an error in the devtools. We can see that the error is what we expect, returned by our custom assets handler:
|
||||
Cela générera une erreur dans les devtools. Nous pouvons voir que l'erreur est ce que nous attendons est retourné par notre gestionnaire de ressources personnalisées :
|
||||
|
||||
```mdx-code-block
|
||||
<p className="text--center">
|
||||
|
|
@ -98,7 +98,7 @@ This will generate an error in the devtools. We can see that the error is what w
|
|||
</p>
|
||||
```
|
||||
|
||||
However, if we request `go.mod`, we will see the following output:
|
||||
Cependant, si nous demandons `go.mod`, nous verrons la sortie suivante :
|
||||
|
||||
```mdx-code-block
|
||||
<p className="text--center">
|
||||
|
|
@ -106,19 +106,19 @@ However, if we request `go.mod`, we will see the following output:
|
|||
</p>
|
||||
```
|
||||
|
||||
This technique can be used to load images directly into the page. If we updated our default vanilla template and replaced the logo image:
|
||||
Cette technique peut être utilisée pour charger des images directement dans la page. Si nous avons mis à jour notre modèle vanilla par défaut et a remplacé l'image du logo :
|
||||
|
||||
```html
|
||||
<img id="logo" class="logo" />
|
||||
```
|
||||
|
||||
with:
|
||||
avec :
|
||||
|
||||
```html
|
||||
<img src="build/appicon.png" style="width: 300px" />
|
||||
```
|
||||
|
||||
Then we would see the following:
|
||||
Nous verrions ensuite ce qui suit:
|
||||
|
||||
```mdx-code-block
|
||||
<p className="text--center">
|
||||
|
|
@ -131,6 +131,6 @@ Then we would see the following:
|
|||
|
||||
:::warning
|
||||
|
||||
Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access to your filesystem.
|
||||
Exposer votre système de fichiers de cette manière est un risque de sécurité. Il est recommandé de gérer correctement l'accès à votre système de fichiers.
|
||||
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# Frameless Applications
|
||||
# Applications sans cadre
|
||||
|
||||
Wails supports application that have no frames. This can be achieved by using the [frameless](../reference/options.mdx#frameless) field in [Application Options](../reference/options.mdx#application-options).
|
||||
Wails prend en charge la création d'applications qui n'ont pas de cadres. Ceci peut être réalisé en utilisant le champ [frameless](../reference/options.mdx#frameless) dans [Application Options](../reference/options.mdx#application-options).
|
||||
|
||||
Wails offers a simple solution for dragging the window: Any HTML element that has the CSS style `--wails-draggable:drag` will act as a "drag handle". This property applies to all child elements. If you need to indicate that a nested element should not drag, then use the attribute '--wails-draggable:no-drag' on that element.
|
||||
Wails offre une solution simple pour faire glisser la fenêtre: N'importe quel élément HTML qui a le style CSS `--wails-draggable:drag` agira comme une "poignée de glisser". Cette propriété s'applique à tous les éléments enfants. Si vous devez indiquer qu'un élément imbriqué ne doit pas glisser, alors utilisez l'attribut '--wails-draggable:no-drag' sur cet élément.
|
||||
|
||||
```html
|
||||
<html>
|
||||
|
|
@ -23,7 +23,7 @@ Wails offers a simple solution for dragging the window: Any HTML element that ha
|
|||
</html>
|
||||
```
|
||||
|
||||
For some projects, using a CSS variable may not be possible due to dynamic styling. In this case, you can use the `CSSDragProperty` and `CSSDragValue` application options to define a property and value that will be used to indicate draggable regions:
|
||||
Pour certains projets, l'utilisation d'une variable CSS peut ne pas être possible en raison du style dynamique. Dans ce cas, vous pouvez utiliser les options `CSSDragProperty` et `CSSDragValue` pour définir une propriété et une valeur qui seront utilisées pour indiquer régions glissables :
|
||||
|
||||
```go title=main.go
|
||||
package main
|
||||
|
|
@ -80,8 +80,8 @@ func main() {
|
|||
</html>
|
||||
```
|
||||
|
||||
:::info Fullscreen
|
||||
:::info Plein écran
|
||||
|
||||
If you allow your application to go fullscreen, this drag functionality will be disabled.
|
||||
Si vous autorisez votre application à être en plein écran, cette fonctionnalité de glissement sera désactivée.
|
||||
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
# Frontend
|
||||
|
||||
## Script Injection
|
||||
## Injection de script
|
||||
|
||||
When Wails serves your `index.html`, by default, it will inject 2 script entries into the `<body>` tag to load `/wails/ipc.js` and `/wails/runtime.js`. These files install the bindings and runtime respectively.
|
||||
Quand Wails sert votre fichier `index.html`, par défaut, il injectera 2 entrées de script dans la balise `<body>` pour charger `/wails/ipc.js` et `/wails/runtime.js`. Ces fichiers installent respectivement les bindings et les runtime.
|
||||
|
||||
The code below shows where these are injected by default:
|
||||
Le code ci-dessous montre où ils sont injectés par défaut :
|
||||
|
||||
```html
|
||||
<html>
|
||||
|
|
@ -28,25 +28,25 @@ The code below shows where these are injected by default:
|
|||
</html>
|
||||
```
|
||||
|
||||
### Overriding Default Script Injection
|
||||
### Remplacer l'injection de script par défaut
|
||||
|
||||
To provide more flexibility to developers, there is a meta tag that may be used to customise this behaviour:
|
||||
Pour fournir plus de flexibilité aux développeurs, il y a une balise meta qui peut être utilisée pour personnaliser ce comportement:
|
||||
|
||||
```html
|
||||
<meta name="wails-options" content="[options]" />
|
||||
```
|
||||
|
||||
The options are as follows:
|
||||
Les options sont les suivantes :
|
||||
|
||||
| Value | Description |
|
||||
| ------------------- | ------------------------------------------------ |
|
||||
| noautoinjectruntime | Disable the autoinjection of `/wails/runtime.js` |
|
||||
| noautoinjectipc | Disable the autoinjection of `/wails/ipc.js` |
|
||||
| noautoinject | Disable all autoinjection of scripts |
|
||||
| Valeur | Description |
|
||||
| ------------------- | -------------------------------------------------------------- |
|
||||
| noautoinjectruntime | Pour désactiver l'injection automatique de `/wails/runtime.js` |
|
||||
| noautoinjectipc | Pour désactiver l'injection automatique de `/wails/ipc.js` |
|
||||
| noautoinject | Pour désactiver l'injection automatique de tous les scripts |
|
||||
|
||||
Multiple options may be used provided they are comma seperated.
|
||||
Plusieurs options peuvent être utilisées à condition qu'elles soient séparées par des virgules.
|
||||
|
||||
This code is perfectly valid and operates the same as the autoinjection version:
|
||||
Ce code est parfaitement valide et fonctionne de la même manière que la version avec l'auto-injection :
|
||||
|
||||
```html
|
||||
<html>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# IDEs
|
||||
|
||||
Wails aims to provide a great development experience. To that aim, we now support generating IDE specific configuration to provide smoother project setup.
|
||||
Wails vise à fournir une grande expérience de développement. À cet effet, nous supportons maintenant la génération d'une configuration spécifique IDE pour fournir une configuration plus souple du projet.
|
||||
|
||||
Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but aim to support other IDEs such as Goland.
|
||||
Actuellement, nous prenons en charge [Visual Studio Code](https://code.visualstudio.com/) mais nous visons à prendre en charge d'autres IDE comme Goland.
|
||||
|
||||
## Visual Studio Code
|
||||
|
||||
|
|
@ -15,9 +15,9 @@ Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but a
|
|||
</p>
|
||||
```
|
||||
|
||||
When generating a project using the `-ide vscode` flags, IDE files will be created alongside the other project files. These files are placed into the `.vscode` directory and provide the correct configuration for debugging your application.
|
||||
Lors de la génération d'un projet en utilisant l'option `-ide vscode` , les fichiers IDE seront créés à côté des autres fichiers du projet. Ces fichiers sont placés dans le répertoire `.vscode` et fournissent la configuration correcte pour déboguer votre application.
|
||||
|
||||
The 2 files generated are `tasks.json` and `launch.json`. Below are the files generated for the default vanilla project:
|
||||
Les 2 fichiers générés sont `tasks.json` et `launch.json`. Ci-dessous se trouvent les fichiers générés par défaut :
|
||||
|
||||
```json title="tasks.json"
|
||||
{
|
||||
|
|
@ -62,9 +62,9 @@ The 2 files generated are `tasks.json` and `launch.json`. Below are the files ge
|
|||
}
|
||||
```
|
||||
|
||||
### Configuring the install and build steps
|
||||
### Configuration des étapes d'installation et de construction
|
||||
|
||||
The `tasks.json` file is simple for the default project as there is no `npm install` or `npm run build` step needed. For projects that have a frontend build step, such as the svelte template, we would need to edit `tasks.json` to add the install and build steps:
|
||||
Le fichier `tasks.json` est simple pour le projet par défaut car il n'y a pas d'étapes `npm install` ou `npm build` nécessaire. Pour les projets qui ont une étape de construction en frontend comme avec Svelte, nous devrions modifier `tasks.json` pour ajouter les étapes d'installation et de construction suivantes :
|
||||
|
||||
```json title="tasks.json"
|
||||
{
|
||||
|
|
@ -120,8 +120,8 @@ The `tasks.json` file is simple for the default project as there is no `npm inst
|
|||
}
|
||||
```
|
||||
|
||||
:::info Future Enhancement
|
||||
:::info Améliorations futures
|
||||
|
||||
In the future, we hope to generate a `tasks.json` that includes the install and build steps automatically.
|
||||
Dans le futur, nous espérons générer un `tasks.json` qui inclut les étapes d'installation et de construction automatiquement.
|
||||
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# Linux Distro Support
|
||||
# Prise en charge des distributions Linux
|
||||
|
||||
## Overview
|
||||
## Vue d'ensemble
|
||||
|
||||
Wails offers Linux support but providing installation instructions for all available distributions is an impossible task. Instead, Wails tries to determine if the packages you need to develop applications are available via your system's package manager. Currently, we support the following package managers:
|
||||
Wails offre le support de Linux, mais fournir des instructions d'installation pour toutes les distributions disponibles est une tâche impossible. À la place, Wails essaie de déterminer si les paquets dont vous avez besoin pour développer des applications sont disponibles via le gestionnaire de paquets de votre système. Actuellement, nous supportons les gestionnaires de paquets suivants :
|
||||
|
||||
- apt
|
||||
- dnf
|
||||
|
|
@ -12,11 +12,11 @@ Wails offers Linux support but providing installation instructions for all avail
|
|||
- pacman
|
||||
- zypper
|
||||
|
||||
## Adding package names
|
||||
## Ajout des noms de paquets
|
||||
|
||||
There may be circumstances where your distro uses one of the supported package managers but the package name is different. For example, you may use an Ubuntu derivative, but the package name for gtk may be different. Wails attempts to find the correct package by iterating through a list of package names. The list of packages are stored in the packagemanager specific file in the `v2/internal/system/packagemanager` directory. In our example, this would be `v2/internal/system/packagemanager/apt.go`.
|
||||
Il peut y avoir des cas où votre distribution de linux utilise un des gestionnaires de paquets pris en charge mais le nom du paquet est différent. Par exemple, vous pouvez utiliser un dérivé Ubuntu, mais le nom du paquet pour gtk peut être différent. Wails tente de trouver le paquet correct en itérant une liste de noms de paquets. La liste des paquets est stockée dans un fichier spécifique dans le dossier `v2/internal/system/packagemanager` . Dans notre exemple, ce serait `v2/internal/system/packagemanager/apt.go`.
|
||||
|
||||
In this file, the list of packages are defined by the `Packages()` method:
|
||||
Dans ce fichier, la liste des paquets est définie par la méthode `Packages()`:
|
||||
|
||||
```go
|
||||
func (a *Apt) Packages() packagemap {
|
||||
|
|
@ -43,7 +43,7 @@ func (a *Apt) Packages() packagemap {
|
|||
}
|
||||
```
|
||||
|
||||
Let's assume that in our linux distro, `libgtk-3` is packaged under the name `lib-gtk3-dev`. We could add support for this by adding the following line:
|
||||
Supposons que dans notre distribution linux, `libgtk-3` est empaqueté sous le nom `lib-gtk3-dev`. Nous pourrions ajouter le support de ce paquet en ajoutant la ligne suivante :
|
||||
|
||||
```go {5}
|
||||
func (a *Apt) Packages() packagemap {
|
||||
|
|
@ -71,12 +71,12 @@ func (a *Apt) Packages() packagemap {
|
|||
}
|
||||
```
|
||||
|
||||
## Adding new package managers
|
||||
## Ajout de nouveaux gestionnaires de paquets
|
||||
|
||||
To add a new package manager, perform the following steps:
|
||||
Pour ajouter un nouveau gestionnaire de paquets, effectuez les étapes suivantes :
|
||||
|
||||
- Create a new file in `v2/internal/system/packagemanager` called `<pm>.go`, where `<pm>` is the name of the package manager.
|
||||
- Define a struct that conforms to the package manager interface defined in `pm.go`:
|
||||
- Créez un nouveau fichier dans `v2/internal/system/packagemanager` appelé `<pm>.go`, où `<pm>` est le nom du gestionnaire de paquets.
|
||||
- Définit une structure conforme à l'interface du gestionnaire de paquets définie dans `pm.go`:
|
||||
|
||||
```go
|
||||
type PackageManager interface {
|
||||
|
|
@ -88,16 +88,16 @@ type PackageManager interface {
|
|||
}
|
||||
```
|
||||
|
||||
- `Name()` should return the name of the package manager
|
||||
- `Packages()` should return a `packagemap`, that provides candidate filenames for dependencies
|
||||
- `PackageInstalled()` should return `true` if the given package is installed
|
||||
- `PackageAvailable()` should return `true` if the given package is not installed but available for installation
|
||||
- `InstallCommand()` should return the exact command to install the given package name
|
||||
- `Name()` doit retourner le nom du gestionnaire de paquets
|
||||
- `Packages()` doit retourner une `packagemap`, qui fournit des noms de fichiers candidats pour les dépendances
|
||||
- `PackageInstalled()` devrait retourner `true` si le paquet donné est installé
|
||||
- `PackageAvailable()` devrait retourner `true` si le paquet donné n'est pas installé mais disponible pour l'installation
|
||||
- `InstallCommand()` doit retourner la commande exacte pour installer le nom du paquet donné
|
||||
|
||||
Take a look at the other package managers code to get an idea how this works.
|
||||
Jetez un coup d'œil au code des autres gestionnaires de paquets pour avoir une idée de comment cela fonctionne.
|
||||
|
||||
:::info Remember
|
||||
:::info Rappel
|
||||
|
||||
If you add support for a new package manager, don't forget to also update this page!
|
||||
Si vous ajoutez le support d'un nouveau gestionnaire de paquets, n'oubliez pas de mettre également à jour cette page !
|
||||
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
# Linux
|
||||
|
||||
This page has miscellaneous guides related to developing Wails applications for Linux.
|
||||
Cette page a divers guides liés au développement d'applications Wails pour Linux.
|
||||
|
||||
## Video tag doesn't fire "ended" event
|
||||
## Le tag vidéo ne déclenche pas l'événement "terminé"
|
||||
|
||||
When using a video tag, the "ended" event is not fired when the video is finished playing. This is a bug in WebkitGTK, however you can use the following workaround to fix it:
|
||||
Lorsque vous utilisez un tag vidéo, l'événement "terminé" n'est pas déclenché lorsque la vidéo est finie. Ceci est un bogue dans WebkitGTK, cependant vous pouvez utiliser le contournement suivant pour le corriger :
|
||||
|
||||
```js
|
||||
videoTag.addEventListener("timeupdate", (event) => {
|
||||
|
|
@ -15,4 +15,4 @@ videoTag.addEventListener("timeupdate", (event) => {
|
|||
});
|
||||
```
|
||||
|
||||
Source: [Lyimmi](https://github.com/Lyimmi) on the [discussions board](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275)
|
||||
Source : [Lyimmi](https://github.com/Lyimmi) sur le [forum de discussion](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275)
|
||||
|
|
|
|||
|
|
@ -1,36 +1,36 @@
|
|||
# Local Development
|
||||
# Développement local
|
||||
|
||||
## Overview
|
||||
## Vue d'ensemble
|
||||
|
||||
Wails is in constant development and new releases are regularly "tagged". This usually happens when all the newer code on `master` has been tested and confirmed working. If you need a bugfix or feature that has not yet made it to a release, it's possible to use the latest "bleeding edge" version using the following steps:
|
||||
Wails est en développement constant et les nouvelles versions sont régulièrement "tagguées". Cela se produit généralement lorsque tout le nouveau code sur `master` a été testé et confirmé fonctionnel. Si vous avez besoin d'un correctif ou d'une fonctionnalité qui ne l'a pas encore fait pour une version, il est possible d'utiliser la dernière version "non validée" en utilisant les étapes suivantes :
|
||||
|
||||
- `git clone https://github.com/wailsapp/wails`
|
||||
- `cd wails/v2/cmd/wails`
|
||||
- `go install`
|
||||
|
||||
NOTE: The directory that you cloned the project into will now be called "clonedir".
|
||||
REMARQUE : Le répertoire dans lequel vous avez cloné le projet sera maintenant appelé "clonedir".
|
||||
|
||||
The Wails CLI will now be at the very latest version.
|
||||
Le CLI de Wails sera maintenant à la dernière version.
|
||||
|
||||
### Updating your project
|
||||
### Mise à jour du projet
|
||||
|
||||
To update projects to use the latest version of the Wails library, update the project's `go.mod` and ensure the following line is at the bottom of the file:
|
||||
Pour mettre à jour vos projets pour utiliser la dernière version de la bibliothèque Wails, mettez à jour le fichier `go.mod` et assurez-vous que la ligne suivante est en bas du fichier :
|
||||
|
||||
`replace github.com/wailsapp/wails/v2 => <clonedir>`
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
|
||||
On Windows: `replace github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
|
||||
Sur Windows: `replace github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
|
||||
|
||||
On 'nix: `replace github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
|
||||
Sur 'nix: `replace github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
|
||||
|
||||
To revert to a stable version, run:
|
||||
Pour revenir à une version stable, exécutez :
|
||||
|
||||
`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
|
||||
|
||||
## Testing a Branch
|
||||
## Tester une branche
|
||||
|
||||
If you want to test a branch, follow the instructions above, but ensure you switch the branch you want to test before installing:
|
||||
Si vous voulez tester une branche, suivez les instructions ci-dessus, mais assurez-vous de bien vous mettre sur la branche que vous voulez tester avant d'installer :
|
||||
|
||||
- `git clone https://github.com/wailsapp/wails`
|
||||
- `cd wails`
|
||||
|
|
@ -38,11 +38,11 @@ If you want to test a branch, follow the instructions above, but ensure you swit
|
|||
- `cd v2/cmd/wails`
|
||||
- `go install`
|
||||
|
||||
Make sure you [update your project](#updating-your-project) as described above.
|
||||
Assurez-vous de [mettre à jour votre projet](#updating-your-project) comme décrit ci-dessus.
|
||||
|
||||
## Testing a PR
|
||||
## Tester une PR
|
||||
|
||||
If you want to test a PR, follow the instructions above, but ensure you fetch the PR and switch the branch before installing. Please replace `[IDofThePR]` with the ID of the PR shown on github.com:
|
||||
Si vous voulez tester une PR, suivez les instructions ci-dessus, mais assurez-vous de récupérer la PR et d'être sur la branche de la PR avant de faire l'installation. Veuillez remplacer `[IDofThePR]` par l'ID de la PR affiché sur github.com:
|
||||
|
||||
- `git clone https://github.com/wailsapp/wails`
|
||||
- `cd wails`
|
||||
|
|
@ -52,4 +52,4 @@ If you want to test a PR, follow the instructions above, but ensure you fetch th
|
|||
- `cd v2/cmd/wails`
|
||||
- `go install`
|
||||
|
||||
Make sure you [update your project](#updating-your-project) as described above.
|
||||
Assurez-vous de [mettre à jour votre projet](#updating-your-project) comme décrit ci-dessus.
|
||||
|
|
|
|||
|
|
@ -1,36 +1,42 @@
|
|||
# Mac App Store Guide
|
||||
# Guide pour Mac App Store
|
||||
|
||||
This page gives a brief overview of how to submit your Wails App to the Mac App Store.
|
||||
Cette page donne un bref aperçu de la façon de soumettre votre application Wails au Mac App Store.
|
||||
|
||||
## Prerequisites
|
||||
## Prérequis
|
||||
|
||||
- You will need to have an Apple Developer account. Please find more information on the [Apple Developer Program](https://developer.apple.com/support/compare-memberships/) site
|
||||
- You will need to have your Certificates, Identifiers, and App created on the developer portal. More on this below
|
||||
- Xcode command line tools will need to be installed on your local machine
|
||||
- Vous devrez avoir un compte développeur Apple. Veuillez trouver plus d'informations sur le site [Apple Developer Program](https://developer.apple.com/support/compare-memberships/)
|
||||
- Vous aurez besoin que vos certificats, identifiants et applications soient créés sur le portail développeur. Plus d'infos sur ce sujet ci-dessous
|
||||
- L'utilitaire Xcode devront être installés sur votre machine locale pour être utilisé en ligne de commandes
|
||||
|
||||
#### Create Certificates and Identifiers
|
||||
#### Créer des certificats et des identifiants
|
||||
|
||||
1. Go to your [Apple Developer Account](https://developer.apple.com/account/)
|
||||
2. Under `Certificates, Identifiers & Profiles`, click `Identifiers` and Register a New App ID. Use the format (com.example.app)
|
||||
3. Under the same page click `Certificates` and generate new Certificates for Mac App Store Distribution. Download them and import the certificates into Keychain on your local machine.
|
||||
1. Allez sur votre [Compte Développeur Apple](https://developer.apple.com/account/)
|
||||
2. Sous `Certificats, Identificateurs & Profils`, cliquez sur `Identifiants` et Enregistrez un nouvel identifiant d'application. Utiliser le format (com.example.app)
|
||||
3. Sous la même page, cliquez sur `Certificats` et générez de nouveaux certificats pour la distribution de l'App Store Mac. Téléchargez-les et importez les certificats dans votre trousseau sur votre machine locale.
|
||||
|
||||
#### Create App Submission
|
||||
#### Créer une soumission d'application
|
||||
|
||||
1. Go to the [App Store Connect Site](https://appstoreconnect.apple.com/apps)
|
||||
2. Register a new application and link the bundle ID that you created in the previous step
|
||||
3. Populate your app with the correct screen shots, descriptions, etc. as required by Apple
|
||||
4. Create a new version of your app
|
||||
1. Allez sur le [site de connexion de l'App Store](https://appstoreconnect.apple.com/apps)
|
||||
2. Enregistrez une nouvelle application et liez l'ID du lot que vous avez créé à l'étape précédente
|
||||
3. Remplissez votre application avec les bonnes captures d'écran, descriptions, etc. selon les besoins d'Apple
|
||||
4. Créer une nouvelle version de votre application
|
||||
|
||||
#### Create Provisioning Profile
|
||||
1. Go to the [Apple Developer Profiles](https://developer.apple.com/account/resources/profiles/list) page
|
||||
2. Add a new provisioning profile for Mac App Store Distribution
|
||||
3. Set the Profile Type as Mac and select the App ID for the application created above
|
||||
4. Select the Mac App Distribution certificate
|
||||
5. Name the Provisioning Profile embedded and download the created profile.
|
||||
|
||||
## Mac App Store Process
|
||||
## Processus Mac App Store
|
||||
|
||||
#### Enable Apple's App Sandbox
|
||||
#### Activation du Sandbox Apple
|
||||
|
||||
Apps submitted to the Mac App Store must run under Apple's [App Sandbox](https://developer.apple.com/app-sandboxing/). You must create an `entitlements.plist` file for this to work. The recommendation is to create this file under this path `{PROJECT_DIR}/build/darwin/entitlements.plist`.
|
||||
Les applications soumises au Mac App Store doivent tourner dans la [Sandbox](https://developer.apple.com/app-sandboxing/) Apple. Vous devez créer un fichier `entitlements.plist` pour que cela fonctionne. La recommandation est de créer ce fichier sous ce chemin `{PROJECT_DIR}/build/darwin/entitlements.plist`.
|
||||
|
||||
**Example Entitlements File**
|
||||
**Example de fichier Entitlements**
|
||||
|
||||
This is an example entitlements file from the [RiftShare](https://github.com/achhabra2/riftshare) app. For reference please put in the entitlements your app requires. Refer to [this site](https://developer.apple.com/documentation/bundleresources/entitlements) for more information.
|
||||
Ceci est un exemple du fichier entitlements de l'application [RiftShare](https://github.com/achhabra2/riftshare). Pour référence, veuillez mettre dans les droits requis par votre application. Reportez-vous à [ce site](https://developer.apple.com/documentation/bundleresources/entitlements) pour plus d'informations. You will need to replace the Team ID and Application Name with the ones you registered above.
|
||||
|
||||
```xml title="entitlements.plist"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
|
@ -47,15 +53,21 @@ This is an example entitlements file from the [RiftShare](https://github.com/ach
|
|||
<true/>
|
||||
<key>com.apple.security.files.downloads.read-write</key>
|
||||
<true/>
|
||||
<key>com.apple.application-identifier</key>
|
||||
<string>TEAM_ID.APP_NAME</string>
|
||||
<key>com.apple.developer.team-identifier</key>
|
||||
<string>TEAM_ID</string>
|
||||
</dict>
|
||||
</plist>
|
||||
```
|
||||
|
||||
#### Build and Sign the App Package
|
||||
**Add the Embedded Provisioning Profile** The Provisioning Profile created above needs to be added to the root of the applicaton. It needs to be named embedded.provisionprofile.
|
||||
|
||||
The following is an example script for building and signing your app for Mac App Store submission. It assumes you are running the script from your root project directory.
|
||||
#### Construire et signer le package de l'application
|
||||
|
||||
Note the certificates for signing the app and signing the installer are different. Please make sure both are imported into Keychain. Find the strings in Keychain and insert them below. Populate your certificate names, and app name below. Running the following script will generate a signed `app.pkg` file in the root directory of your app.
|
||||
Ce qui suit est un exemple de script pour construire et signer votre application pour la soumission de l'App Store Mac. Il suppose que vous exécutez le script depuis la racine de votre projet.
|
||||
|
||||
Notez que les certificats pour signer l'application et l'installateur sont différents. Veuillez vous assurer que les deux sont importés dans votre trousseau. Trouvez les chaînes de caractères dans Trousseau et insérez-les ci-dessous. Remplissez le nom de votre certificat et le nom de l'application ci-dessous. Exécuter le script suivant générera un fichier `app.pkg` signé à la racine de votre application.
|
||||
|
||||
```bash title="macappstore-build.sh"
|
||||
#!/bin/bash
|
||||
|
|
@ -66,18 +78,20 @@ APP_NAME="YourApp"
|
|||
|
||||
wails build -platform darwin/universal -clean
|
||||
|
||||
cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"
|
||||
|
||||
codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app
|
||||
|
||||
productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
|
||||
```
|
||||
|
||||
#### Upload App Bundle
|
||||
#### Télécharger l'application
|
||||
|
||||
You will need to upload the generated package file and associate it to your Application before you will be able to submit it for review.
|
||||
Vous devrez télécharger le fichier de package généré et l'associer à votre application avant de pouvoir le soumettre pour vérification.
|
||||
|
||||
1. Download the [Transporter App](https://apps.apple.com/us/app/transporter/id1450874784) from the Mac App Store
|
||||
2. Open it and sign in with your Apple ID
|
||||
3. Click the + sign and select the `APP_NAME.pkg` file that you generated in the previous step. Upload it
|
||||
4. Go back to the [App Store Connect](https://appstoreconnect.apple.com/apps) site and navigate back into your app submission. Select the version that you are ready to make available on the App Store. Under `Build` select the package that you uploaded via Transporter.
|
||||
1. Téléchargez l' [App Transporter](https://apps.apple.com/us/app/transporter/id1450874784) depuis le Mac App Store
|
||||
2. Ouvrez-le et connectez-vous avec votre identifiant Apple
|
||||
3. Cliquez sur le signe + et sélectionnez le fichier `APP_NAME.pkg` que vous avez généré à l'étape précédente. Télécharger le
|
||||
4. Retournez sur le site [App Store Connect](https://appstoreconnect.apple.com/apps) et retournez dans la soumission de votre application. Sélectionnez la version que vous êtes prêt à mettre à disposition sur l'App Store. Sous `Build` sélectionnez le package que vous avez téléchargé via Transporter.
|
||||
|
||||
That's it! You can now use the site to submit your App for review. After a few business days if all goes well you should see your App live on the Mac App Store.
|
||||
C'est terminé ! Vous pouvez maintenant utiliser le site pour soumettre votre application pour vérification. Après quelques jours ouvrables si tout se passe bien, vous devriez voir votre application en direct sur le Mac App Store.
|
||||
|
|
|
|||
|
|
@ -1,26 +1,26 @@
|
|||
# Manual Builds
|
||||
# Compilations manuelles
|
||||
|
||||
The Wails CLI does a lot of heavy lifting for the project, but sometimes it's desirable to manually build your project. This document will discuss the different operations the CLI does and how this may be achieved in different ways.
|
||||
Le CLI Wails fait beaucoup de travail pour le projet, mais il est parfois souhaitable de construire manuellement votre projet. Ce document discutera des différentes opérations que fait le CLI et des différentes façons d'y parvenir.
|
||||
|
||||
## Build Process
|
||||
## Processus de construction
|
||||
|
||||
When either `wails build` or `wails dev` are used, the Wails CLI performs a common build process:
|
||||
Lorsque `wails build` ou `wails dev` sont utilisés, le CLI Wails effectue un processus de construction commun:
|
||||
|
||||
- Install frontend dependencies
|
||||
- Build frontend project
|
||||
- Generate build assets
|
||||
- Compile application
|
||||
- [optional] Compress application
|
||||
- Installation des dépendances frontend
|
||||
- Construire le projet frontend
|
||||
- Générer des ressources de construction
|
||||
- Compiler l'application
|
||||
- [optionnel] Compresser l'application
|
||||
|
||||
### Install frontend dependencies
|
||||
### Installation des dépendances frontend
|
||||
|
||||
#### CLI Steps
|
||||
#### Étapes CLI
|
||||
|
||||
- If the `-s` flag is given, this step is skipped
|
||||
- Checks `wails.json` to see if there is an install command in the key `frontend:install`
|
||||
- If there isn't, it skips this step
|
||||
- If there is, it checks if `package.json` exists in the frontend directory. If it doesn't exist, it skips this step
|
||||
- An MD5 sum is generated from the `package.json` file contents
|
||||
- Si l'option `-s` est donné, cette étape est ignorée
|
||||
- Vérifie `wails.json` pour voir s'il y a une commande install dans `frontend:install`
|
||||
- S'il n'y en a pas, il saute cette étape
|
||||
- Si le fichier existe, vérifie si `package.json` existe dans le répertoire du frontend. S'il n'existe pas, il saute cette étape
|
||||
- Un hash MD5 est générée à partir du contenu du fichier `package.json`
|
||||
- It checks for the existence of `package.json.md5` and if it exists, will compare the contents of it (an MD5 sum) with the one generated to see if the contents have changed. If they are the same, this step is skipped
|
||||
- If `package.json.md5` does not exist, it creates it using the generated MD5 sum
|
||||
- If a build is now required, or `node_modules` does not exist, or the `-f` flag is given, the install command is executed in the frontend directory
|
||||
|
|
@ -29,13 +29,13 @@ When either `wails build` or `wails dev` are used, the Wails CLI performs a comm
|
|||
|
||||
This step could be done from the command line or a script with `npm install`.
|
||||
|
||||
### Build frontend project
|
||||
### Construire le projet frontend
|
||||
|
||||
#### Wails CLI
|
||||
|
||||
- If the `-s` flag is given, this step is skipped
|
||||
- Si l'option `-s` est donné, cette étape est ignorée
|
||||
- Checks `wails.json` to see if there is a build command in the key `frontend:build`
|
||||
- If there isn't, it skips this step
|
||||
- S'il n'y en a pas, il saute cette étape
|
||||
- If there is, it is executed in the frontend directory
|
||||
|
||||
#### Manual Steps
|
||||
|
|
@ -64,7 +64,7 @@ This step could be done from the command line or a script with `npm run build` o
|
|||
- Create / Update a `.manifest` file for your application
|
||||
- Use the [winres CLI](https://github.com/tc-hib/go-winres) to generate a `.syso` file.
|
||||
|
||||
### Compile application
|
||||
### Compiler l'application
|
||||
|
||||
#### Wails CLI
|
||||
|
||||
|
|
|
|||
|
|
@ -159,4 +159,8 @@ Sources: https://github.com/wailsapp/wails/issues/1806 and https://github.com/wa
|
|||
|
||||
It's preferable to add `frontend/node_modules` and `frontend/package-lock.json` to your `.gitignore`. Otherwise when opening your repository on another machine that may have different versions of Node installed, you may not be able to run your application.
|
||||
|
||||
If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
|
||||
If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
|
||||
|
||||
## Build process stuck on "Generating bindings"
|
||||
|
||||
Bindings generation process runs your application in a special mode. If application, intentionally or unintentionally, contains an endless loop (i.e. not exiting after `wails.Run()` finished), this can lead to build process stuck on the stage of bindings generation. Please make sure your code exits properly.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# NSIS installer
|
||||
# Installateur NSIS
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
|
|
@ -10,33 +10,33 @@
|
|||
</p>
|
||||
```
|
||||
|
||||
Wails supports generating Windows installers using the [NSIS installer](https://nsis.sourceforge.io/).
|
||||
Wails prend en charge la génération d'installateurs Windows en utilisant l'installateur [NSIS](https://nsis.sourceforge.io/).
|
||||
|
||||
## Installing NSIS
|
||||
## Installation de NSIS
|
||||
|
||||
### Windows
|
||||
|
||||
The installer is available on the [NSIS Download](https://nsis.sourceforge.io/Download) page.
|
||||
L'installateur est disponible sur la page [de téléchargement NSIS](https://nsis.sourceforge.io/Download).
|
||||
|
||||
If you use the chocolatey package manager, run the following script:
|
||||
Si vous utilisez le gestionnaire de paquets chocolatey, exécutez le script suivant :
|
||||
|
||||
```
|
||||
choco install nsis
|
||||
```
|
||||
|
||||
If you install NSIS manually, you need to add the _Bin_ folder, which contains `makensis.exe`, in your NSIS installation to your path. [Here](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) is a good tutorial on how to add to path on Windows.
|
||||
Si vous installez NSIS manuellement, vous devez ajouter le dossier _Bin_ , qui contient `makensis.exe`, dans la variable d'environnement PATH. [Cette page](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) est un bon tutoriel sur comment ajouter un dossier dans votre variable d'environnement PATH sur Windows.
|
||||
|
||||
### Linux
|
||||
|
||||
The `nsis` package should be available through your distribution's package manager.
|
||||
Le paquet `nsis` devrait être disponible via le gestionnaire de paquets de votre distribution.
|
||||
|
||||
### MacOS
|
||||
|
||||
NSIS is available to install through homebrew: `brew install nsis`.
|
||||
NSIS est disponible via homebrew en utilisant : `brew install nsis`.
|
||||
|
||||
## Generating the installer
|
||||
## Génération de l'installateur
|
||||
|
||||
When a new project is created, Wails generates the NSIS configuration files in `build/windows/installer`. The config data is read from `installer/info.json` and that is configured to use the project's `wails.json` Info section:
|
||||
Lorsqu'un nouveau projet est créé, Wails génère les fichiers de configuration NSIS dans `build/windows/installer`. La configuration est lue dans `installer/info.json`, et est configuré pour utiliser la section info du fichier `wails.json` :
|
||||
|
||||
```json
|
||||
// ...
|
||||
|
|
@ -49,10 +49,10 @@ When a new project is created, Wails generates the NSIS configuration files in `
|
|||
},
|
||||
```
|
||||
|
||||
To generate an installer for your application, use the `-nsis` flag with `wails build`:
|
||||
Pour générer l'installateur de votre application, utilisez l'option `-nsis` avec la commande `wails build`:
|
||||
|
||||
```
|
||||
wails build -nsis
|
||||
```
|
||||
|
||||
The installer will now be available in the `build/bin` directory.
|
||||
L'installateur sera ensuite disponible dans le dossier `build/bin`.
|
||||
|
|
|
|||
|
|
@ -86,38 +86,38 @@ Une liste complète des options d'application peut être trouvée dans la [Réf
|
|||
|
||||
#### Ressources
|
||||
|
||||
The `Assets` option is mandatory as you can't have a Wails application without frontend assets. Those assets can be any files you would expect to find in a web application - html, js, css, svg, png, etc. **There is no requirement to generate asset bundles** - plain files will do. When the application starts, it will attempt to load `index.html` from your assets and the frontend will essentially work as a browser from that point on. It is worth noting that there is no requirement on where in the `embed.FS` the files live. It is likely that the embed path uses a nested directory relative to your main application code, such as `frontend/dist`:
|
||||
L'option `Assets` est obligatoire car vous ne pouvez pas avoir d'application Wails sans ressources en frontend. Ces ressources peuvent être n'importe quel fichier que vous attendriez à trouver dans une application web - html, js, css, svg, png, etc. **Il n'y a aucune obligation d'utiliser un générateur de code ou framework** - des fichiers bruts suffisent. Lorsque l'application démarre, elle tentera de charger le fichier `index.html` à partir de vos ressources et le frontend fonctionnera essentiellement comme un navigateur à partir de ce point. Il est intéressant de noter que il n'y a pas de condition sur l'emplacement de `embed.FS`. Il est probable que le chemin d'intégration utilise un répertoire imbriqué par rapport au code de votre application principale, comme `frontend/dist`:
|
||||
|
||||
```go title="main.go"
|
||||
//go:embed all:frontend/dist
|
||||
var assets embed.FS
|
||||
```
|
||||
|
||||
At startup, Wails will iterate the embedded files looking for the directory containing `index.html`. All other assets will be loaded relative to this directory.
|
||||
Au démarrage, Wails va itérer les fichiers embarqués à la recherche du répertoire contenant `index.html`. Tous les autres actifs seront chargés par rapport à à ce répertoire.
|
||||
|
||||
As production binaries use the files contained in `embed.FS`, there are no external files required to be shipped with the application.
|
||||
Comme les binaires de production utilisent les fichiers contenus dans `embed.FS`, il n'y a aucun fichier externe requis pour être expédié avec l'application.
|
||||
|
||||
When running in development mode using the `wails dev` command, the assets are loaded off disk, and any changes result in a "live reload". The location of the assets will be inferred from the `embed.FS`.
|
||||
Lorsque vous exécutez en mode développement en utilisant la commande `wails dev` , les assets sont chargés à partir du disque, et tous les changements résultent en un "rechargement en direct". L'emplacement des actifs sera déduit de la `embed.FS`.
|
||||
|
||||
More details can be found in the [Application Development Guide](guides/application-development.mdx).
|
||||
Plus de détails peuvent être trouvés dans le [Guide de développement d'applications](guides/application-development.mdx).
|
||||
|
||||
#### Application Lifecycle Callbacks
|
||||
#### Callbacks du cycle de vie de l'application
|
||||
|
||||
Just before the frontend is about to load `index.html`, a callback is made to the function provided in [OnStartup](reference/options.mdx#onstartup). A standard Go context is passed to this method. This context is required when calling the runtime so a standard pattern is to save a reference to in this method. Just before the application shuts down, the [OnShutdown](reference/options.mdx#onshutdown) callback is called in the same way, again with the context. There is also an [OnDomReady](reference/options.mdx#ondomready) callback for when the frontend has completed loading all assets in `index.html` and is equivalent of the [`body onload`](https://www.w3schools.com/jsref/event_onload.asp) event in JavaScript. It is also possible to hook into the window close (or application quit) event by setting the option [OnBeforeClose](reference/options.mdx#onbeforeclose).
|
||||
Juste avant que le frontend ne soit sur le point de charger `index.html`, un callback est fait à la fonction fournie dans [OnStartup](reference/options.mdx#onstartup). Un contexte standard Go est passé à cette méthode. Ce contexte est requis lors de l'appel à l'exécution, donc une bonne pratique est de sauvegarder une référence dans cette méthode. Juste avant que l'application ne s'arrête, la fonction de rappel [OnShutdown](reference/options.mdx#onshutdown) est appelée de la même manière, à nouveau avec le contexte. Il y a aussi un callback [OnDomReady](reference/options.mdx#ondomready) pour quand le frontend a terminé le chargement de tous les assets de `index.html` et est équivalent à l'événement [`body onload`](https://www.w3schools.com/jsref/event_onload.asp) en JavaScript. Il est également possible de s'accrocher à l'événement de fermeture de la fenêtre (ou de quitter l'application) en définissant l'option [OnBeforeClose](reference/options.mdx#onbeforeclose).
|
||||
|
||||
#### Method Binding
|
||||
#### Binding de méthodes
|
||||
|
||||
The `Bind` option is one of the most important options in a Wails application. It specifies which struct methods to expose to the frontend. Think of structs like "controllers" in a traditional web application. When the application starts, it examines the struct instances listed in the `Bind` field in the options, determines which methods are public (starts with an uppercase letter) and will generate JavaScript versions of those methods that can be called by the frontend code.
|
||||
L'option `Bind` est l'une des options les plus importantes dans une application Wails. Il spécifie quelles méthodes de structs sont à exposer au frontend. Pensez à des "contrôleurs" dans une application web traditionnelle. Quand l'application démarre, elle examine les instances structurées listées dans l'option `Bind`, détermine quelles méthodes sont publiques (commence par une lettre majuscule) et générera des versions JavaScript de ces méthodes qui peuvent être appelées par le code en frontend.
|
||||
|
||||
:::info Note
|
||||
|
||||
Wails requires that you pass in an _instance_ of the struct for it to bind it correctly
|
||||
Wails exige que vous passiez dans une _instance_ du struct pour qu'il le lie correctement
|
||||
|
||||
:::
|
||||
|
||||
In this example, we create a new `App` instance and then add this instance to the `Bind` option in `wails.Run`:
|
||||
Dans cet exemple, nous créons une nouvelle instance `App` puis ajoutons cette instance à l'option `Bind` dans `wails.Run`:
|
||||
|
||||
```go {16,24} title="main.go"
|
||||
```go {17,27} title="main.go"
|
||||
package main
|
||||
|
||||
import (
|
||||
|
|
@ -162,9 +162,9 @@ func (a *App) Greet(name string) string {
|
|||
}
|
||||
```
|
||||
|
||||
You may bind as many structs as you like. Just make sure you create an instance of it and pass it in `Bind`:
|
||||
Vous pouvez lier autant de structures que vous le souhaitez. Assurez-vous juste de créer une instance de celle-ci et de la passer dans `Bind`:
|
||||
|
||||
```go {8-10}
|
||||
```go {10-12}
|
||||
//...
|
||||
err := wails.Run(&options.App{
|
||||
Title: "Basic Demo",
|
||||
|
|
@ -182,26 +182,26 @@ You may bind as many structs as you like. Just make sure you create an instance
|
|||
|
||||
```
|
||||
|
||||
When you run `wails dev` (or `wails generate module`), a frontend module will be generated containing the following:
|
||||
Lorsque vous exécutez `wails dev` (ou `wails generate module`), un module frontend sera généré contenant les éléments suivants :
|
||||
|
||||
- JavaScript bindings for all bound methods
|
||||
- TypeScript declarations for all bound methods
|
||||
- TypeScript definitions for all Go structs used as inputs or outputs by the bound methods
|
||||
- JavaScript bindings pour toutes les méthodes liées
|
||||
- Déclarations TypeScript pour toutes les méthodes liées
|
||||
- Définitions TypeScript pour toutes les structures Go utilisées comme entrées ou sorties par les méthodes liées
|
||||
|
||||
This makes it incredibly simple to call Go code from the frontend, using the same strongly typed datastructures.
|
||||
Cela rend incroyablement simple d'appeler le code Go depuis le frontend, en utilisant les mêmes structures de données.
|
||||
|
||||
## Le frontend
|
||||
|
||||
### Vue d’ensemble
|
||||
|
||||
The frontend is a collection of files rendered by webkit. It's like a browser and webserver in one. There is virtually[^1] no limit to which frameworks or libraries you can use. The main points of interaction between the frontend and your Go code are:
|
||||
Le frontend est une collection de fichiers rendus par webkit. C'est comme un navigateur et un serveur web en un. Il y a virtuellement[^1] aucune limite vis à vis des frameworks ou des bibliothèques que vous pouvez utiliser. Les principaux points d'interaction entre le frontend et votre code Go sont:
|
||||
|
||||
- Calling bound Go methods
|
||||
- Calling runtime methods
|
||||
- L'appel des méthodes Go liées
|
||||
- L'appel des méthodes d'exécution
|
||||
|
||||
### Calling bound Go methods
|
||||
### L'appel des méthodes Go liées
|
||||
|
||||
When you run your application with `wails dev`, it will automatically generate JavaScript bindings for your structs in a directory called `wailsjs/go` (You can also do this by running `wails generate module`). The generated files mirror the package names in your application. In the example above, we bind `app`, which has one public method `Greet`. This will lead to the generation of the following files:
|
||||
Lorsque vous exécutez votre application avec `wails dev`, il générera automatiquement des liaisons JavaScript pour vos structures dans un répertoire appelé `wailsjs/go` (Vous pouvez aussi le faire en exécutant `wails generate module`). Les fichiers générés reflètent les noms de paquets dans votre application. Dans l'exemple ci-dessus, nous associons `app`, qui a une méthode publique `Greet`. Cela conduira à la génération des fichiers suivants :
|
||||
|
||||
```bash
|
||||
wailsjs
|
||||
|
|
@ -211,7 +211,7 @@ wailsjs
|
|||
└─App.js
|
||||
```
|
||||
|
||||
Here we can see that there is a `main` package that contains the JavaScript bindings for the bound `App` struct, as well as the TypeScript declaration file for those methods. To call `Greet` from our frontend, we simply import the method and call it like a regular JavaScript function:
|
||||
Ici nous pouvons voir qu'il y a un dossier `main` qui contient les liaisons JavaScript pour la structure `App` liée, ainsi que que le fichier de déclaration TypeScript pour ces méthodes. Pour appeler `Greet` depuis notre frontend, nous importons simplement la méthode et l'appelons comme une fonction JavaScript régulière:
|
||||
|
||||
```javascript
|
||||
// ...
|
||||
|
|
@ -224,29 +224,29 @@ function doGreeting(name) {
|
|||
}
|
||||
```
|
||||
|
||||
The TypeScript declaration file gives you the correct types for the bound methods:
|
||||
La déclaration en TypeScript vous donne les bons types pour les méthodes paramètres et la valeur retournée :
|
||||
|
||||
```ts
|
||||
export function Greet(arg1: string): Promise<string>;
|
||||
```
|
||||
|
||||
The generated methods return a Promise. A successful call will result in the first return value from the Go call to be passed to the `resolve` handler. An unsuccessful call is when a Go method that has an error type as it's second return value, passes an error instance back to the caller. This is passed back via the `reject` handler. In the example above, `Greet` only returns a `string` so the JavaScript call will never reject - unless invalid data is passed to it.
|
||||
Les méthodes générées retournent une Promise. Un appel réussi entraînera la première valeur de retour de l'appel Go à passer au `resolve` handler. Un appel infructueux est quand une méthode Go qui a un type d'erreur comme valeur de deuxième retour, passe une erreur à l'appelant. Ceci est passé en arrière via le handler `reject`. Dans l'exemple ci-dessus, `Greet` ne retourne qu'un `string` donc l'appel JavaScript ne sera jamais rejeté - à moins que des données non valides ne lui soient passées.
|
||||
|
||||
All data types are correctly translated between Go and JavaScript. Even structs. If you return a struct from a Go call, it will be returned to your frontend as a JavaScript class.
|
||||
Tous les types de données sont correctement traduits entre Go et JavaScript. Même les structs. Si vous renvoyez un struct d'un appel Go, il sera retourné à votre frontend en tant que classe JavaScript.
|
||||
|
||||
:::info Note
|
||||
|
||||
Struct fields *must* have a valid `json` tag to be included in the generated TypeScript.
|
||||
Struct fields _must_ have a valid `json` tag to be included in the generated TypeScript.
|
||||
|
||||
Anonymous nested structs are not supported at this time.
|
||||
Les structures imbriquées anonymes ne sont pas supportées pour le moment.
|
||||
|
||||
:::
|
||||
|
||||
It is possible to send structs back to Go. Any JavaScript map/class passed as an argument that is expecting a struct, will be converted to that struct type. To make this process a lot easier, in `dev` mode, a TypeScript module is generated, defining all the struct types used in bound methods. Using this module, it's possible to construct and send native JavaScript objects to the Go code.
|
||||
Il est possible d'envoyer des structures à Go. N'importe quelle map/classe JavaScript passée comme argument, sera convertie en son équivalent. Pour faciliter ce processus, en mode `dev` un module TypeScript est généré, définissant tous les types de structures utilisés dans les méthodes liées. En utilisant ce module, il est possible de construire et envoyer des objets JavaScript natifs au code Go.
|
||||
|
||||
There is also support for Go methods that use structs in their signature. All Go structs specified by a bound method (either as parameters or return types) will have TypeScript versions auto generated as part of the Go code wrapper module. Using these, it's possible to share the same data model between Go and JavaScript.
|
||||
Il y a aussi le support des méthodes Go qui utilisent les structures dans leur signature. Toutes les structures Go spécifiées par une méthode liée (que ce soit en tant que paramètres ou types de retour) auront les versions TypeScript automatiques générées dans le module de gestion de code Go. En utilisant ceux-ci, il est possible de partager le même modèle de données entre Go et JavaScript.
|
||||
|
||||
Example: We update our `Greet` method to accept a `Person` instead of a string:
|
||||
Exemple: Nous mettons à jour notre méthode `Greet` pour accepter une `Person` au lieu d'une chaîne de caractères :
|
||||
|
||||
```go title="main.go"
|
||||
type Person struct {
|
||||
|
|
@ -265,7 +265,7 @@ func (a *App) Greet(p Person) string {
|
|||
}
|
||||
```
|
||||
|
||||
The `wailsjs/go/main/App.js` file will still have the following code:
|
||||
Le fichier `wailsjs/go/main/App.js` aura toujours le code suivant :
|
||||
|
||||
```js title="App.js"
|
||||
export function Greet(arg1) {
|
||||
|
|
@ -273,7 +273,7 @@ export function Greet(arg1) {
|
|||
}
|
||||
```
|
||||
|
||||
But the `wailsjs/go/main/App.d.ts` file will be updated with the following code:
|
||||
Mais le fichier `wailsjs/go/main/App.d.ts` sera mis à jour avec le code suivant :
|
||||
|
||||
```ts title="App.d.ts"
|
||||
import { main } from "../models";
|
||||
|
|
@ -281,7 +281,7 @@ import { main } from "../models";
|
|||
export function Greet(arg1: main.Person): Promise<string>;
|
||||
```
|
||||
|
||||
As we can see, the "main" namespace is imported from a new "models.ts" file. This file contains all the struct definitions used by our bound methods. In this example, this is a `Person` struct. If we look at `models.ts`, we can see how the models are defined:
|
||||
Comme nous pouvons le voir, le namespace "main" est importé à partir du nouveau fichier "models.ts". Ce fichier contient toutes les définitions de struct utilisées par nos méthodes liées. Dans cet exemple, c'est une struct `Person`. Si nous regardons `models.ts`, nous pouvons voir comment les modèles sont définis :
|
||||
|
||||
```ts title="models.ts"
|
||||
export namespace main {
|
||||
|
|
@ -336,7 +336,7 @@ export namespace main {
|
|||
}
|
||||
```
|
||||
|
||||
So long as you have TypeScript as part of your frontend build configuration, you can use these models in the following way:
|
||||
Tant que vous avez TypeScript dans votre configuration de compilation en frontend, vous pouvez utiliser ces modèles de la manière suivante:
|
||||
|
||||
```js title="mycode.js"
|
||||
import { Greet } from "../wailsjs/go/main/App";
|
||||
|
|
@ -352,18 +352,18 @@ function generate() {
|
|||
}
|
||||
```
|
||||
|
||||
The combination of generated bindings and TypeScript models makes for a powerful development environment.
|
||||
La combinaison des liaisons générées et des modèles TypeScript crée un environnement de développement puissant.
|
||||
|
||||
More information on Binding can be found in the [Binding Methods](guides/application-development.mdx#binding-methods) section of the [Application Development Guide](guides/application-development.mdx).
|
||||
Plus d'informations sur la liaison peuvent être trouvées dans la section [Méthodes de liaison](guides/application-development.mdx#binding-methods) de la [Guide de développement d'applications](guides/application-development.mdx).
|
||||
|
||||
### Appeler les méthodes runtime
|
||||
|
||||
The JavaScript runtime is located at `window.runtime` and contains many methods to do various tasks such as emit an event or perform logging operations:
|
||||
Le runtime JavaScript se trouve dans `window.runtime` et contient de nombreuses méthodes pour faire diverses tâches telles qu'émettre un événement ou effectuer des opérations de journalisation :
|
||||
|
||||
```js title="mycode.js"
|
||||
window.runtime.EventsEmit("my-event", 1);
|
||||
```
|
||||
|
||||
More details about the JS runtime can be found in the [Runtime Reference](reference/runtime/intro).
|
||||
Plus de détails sur l'exécutable JS peuvent être trouvés dans la [Référence d'exécution](reference/runtime/intro).
|
||||
|
||||
[^1]: There is a very small subset of libraries that use features unsupported in WebViews. There are often alternatives and workarounds for such cases.
|
||||
[^1]: Il y a un très petit sous-ensemble de bibliothèques qui utilisent des fonctionnalités non prises en charge dans WebViews. Il y a souvent des alternatives et des solutions de contournement pour de tels cas.
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ Si vous n'êtes pas sûr d'un modèle, inspectez les fichiers `package.json` et
|
|||
| -windowsconsole | Garder la fenêtre de la console lors de la construction d'une version pour Windows | |
|
||||
| -obfuscate | Cacher le code de l'application en utilisant [garble](https://github.com/burrowers/garble) | false |
|
||||
| -garbleargs | Arguments à passer à garble | `-literals -tiny -seed=random` |
|
||||
| -nosyncgomod | Ne pas synchroniser go.mod avec la version Wails | false |
|
||||
|
||||
Pour une description détaillée des options `webview2` , veuillez vous référer au Guide de [Windows](../guides/windows.mdx).
|
||||
|
||||
|
|
@ -80,8 +81,10 @@ Exemple:
|
|||
|
||||
`wails build -clean -o myproject.exe`
|
||||
|
||||
:::Info
|
||||
Sur Mac, l'application sera livrée avec `Info.plist`, pas `Info.dev.plist`.
|
||||
:::info
|
||||
|
||||
On Mac, the application will be bundled with `Info.plist`, not `Info.dev.plist`.
|
||||
|
||||
:::
|
||||
|
||||
:::info UPX sur Apple Silicon
|
||||
|
|
@ -153,77 +156,80 @@ Your system is ready for Wails development!
|
|||
|
||||
- Le fichier `go.mod` de l'application sera mis à jour pour utiliser la même version de Wails que le CLI
|
||||
- L'application est compilée et exécutée automatiquement
|
||||
- A watcher is started and will trigger a rebuild of your dev app if it detects changes to your go files
|
||||
- A webserver is started on `http://localhost:34115` which serves your application (not just frontend) over http. This allows you to use your favourite browser development extensions
|
||||
- All application assets are loaded from disk. If they are changed, the application will automatically reload (not rebuild). All connected browsers will also reload
|
||||
- A JS module is generated that provides the following:
|
||||
- JavaScript wrappers of your Go methods with autogenerated JSDoc, providing code hinting
|
||||
- TypeScript versions of your Go structs, that can be constructed and passed to your go methods
|
||||
- A second JS module is generated that provides a wrapper + TS declaration for the runtime
|
||||
- On macOS, it will bundle the application into a `.app` file and run it. It will use a `build/darwin/Info.dev.plist` for development.
|
||||
- Un observateur est démarré et déclenchera une reconstruction de votre application de développement s'il détecte des changements dans vos fichiers go
|
||||
- Un serveur web est lancé sur `http://localhost:34115` qui sert votre application (et pas seulement le frontend) sur http. Cela vous permet d'utiliser les extensions de développement de votre navigateur favori
|
||||
- Tous les assets de l'application sont chargés à partir du disque. Si elles sont modifiées, l'application se rechargera automatiquement (pas de recompilation). Tous les navigateurs connectés rechargeront également
|
||||
- Un module JS est généré qui fournit les éléments suivants :
|
||||
- Les méthodes Javascript permettant d'appeler vos méthodes Go avec JSDoc autogénérée, vous fournissant des indications sur les méthodes
|
||||
- Les versions TypeScript de vos structures Go, qui peuvent être construites et transmises à vos méthodes go
|
||||
- Un second module JS est généré qui fournit une déclaration des méthodes et structures pour l'exécutable
|
||||
- Sur macOS, il regroupera l'application dans un fichier `.app` et l'exécutera. Il utilisera un `build/darwin/Info.dev.plist` pour le développement.
|
||||
|
||||
| Option | Description | Par défaut |
|
||||
|:------------------------------------ |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:------------------------ |
|
||||
| -assetdir "./chemin/vers/les/assets" | Sert les assets depuis le répertoire donné au lieu d'utiliser le fichier FS fourni | Valeur dans `wails.json` |
|
||||
| -browser | Ouvre un navigateur à `http://localhost:34115` au démarrage | |
|
||||
| -compiler "compiler" | Utiliser un autre compilateur pour compiler, par exemple go1.15beta1 | go |
|
||||
| -e | Extensions pour déclencher les rebuilds (séparés par des virgules) | go |
|
||||
| -reloaddirs | Répertoires supplémentaires pour déclencher les recharges (séparés par des virgules) | Valeur dans `wails.json` |
|
||||
| -ldflags "flags" | Options supplémentaires à passer au compilateur | |
|
||||
| -tags "extra tags" | Options de construction à passer au compilateur (séparées par des guillemets et des espaces) | |
|
||||
| -loglevel "loglevel" | Niveau de log à utiliser - Trace, Debug, Info, Warning, Error | Debug |
|
||||
| -noreload | Désactiver le rechargement automatique lorsque les actifs changent | |
|
||||
| -nocolour | Désactiver la couleur dans le terminal | false |
|
||||
| -nogen | Désactiver la génération du module | |
|
||||
| -v | Niveau de verbosité (0 - silencieux, 1 - par défaut, 2 - verbeux) | 1 |
|
||||
| -wailsjsdir | Le répertoire où stocker les modules JS Wails générés | Valeur dans `wails.json` |
|
||||
| -debounce | Le temps d'attente pour le rechargement après qu'une modification d'actif est détectée | 100 (millisecondes) |
|
||||
| -devserver "host:port" | L'adresse à laquelle lier le serveur de développement wails | "localhost:34115" |
|
||||
| -frontenddevserverurl "url" | Utiliser l'url du serveur de développement tiers pour servir les actifs, EG Vite | "" |
|
||||
| -appargs "args" | Arguments passés à l'application en style shell | |
|
||||
| -save | Sauvegarde les options `assetdir`, `reloaddirs`, `wailsjsdir`, `debounce`, `devserver` and `frontenddevserverurl` dans `wails.json` pour quelles deviennent les informations par défaut pour les prochaines utilisations. | |
|
||||
| -race | Construire avec le détecteur Go race | false |
|
||||
| -s | Ignorer la construction du frontend | false |
|
||||
| -nosyncgomod | Ne pas synchroniser go.mod avec la version Wails | false |
|
||||
|
||||
|
||||
| Option | Description | Par défaut |
|
||||
|:---------------------------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:--------------------- |
|
||||
| -assetdir "./path/to/assets" | Serve assets from the given directory instead of using the provided asset FS | Value in `wails.json` |
|
||||
| -browser | Opens a browser to `http://localhost:34115` on startup | |
|
||||
| -compiler "compiler" | Utiliser un autre compilateur pour compiler, par exemple go1.15beta1 | go |
|
||||
| -e | Extensions to trigger rebuilds (comma separated) | go |
|
||||
| -reloaddirs | Additional directories to trigger reloads (comma separated) | Value in `wails.json` |
|
||||
| -ldflags "flags" | Options supplémentaires à passer au compilateur | |
|
||||
| -tags "extra tags" | Build tags to pass to compiler (quoted and space separated) | |
|
||||
| -loglevel "loglevel" | Loglevel to use - Trace, Debug, Info, Warning, Error | Debug |
|
||||
| -noreload | Disable automatic reload when assets change | |
|
||||
| -nocolour | Turn off colour cli output | false |
|
||||
| -nogen | Disable generate module | |
|
||||
| -v | Verbosity level (0 - silent, 1 - standard, 2 - verbose) | 1 |
|
||||
| -wailsjsdir | The directory to generate the generated Wails JS modules | Value in `wails.json` |
|
||||
| -debounce | The time to wait for reload after an asset change is detected | 100 (milliseconds) |
|
||||
| -devserver "host:port" | The address to bind the wails dev server to | "localhost:34115" |
|
||||
| -frontenddevserverurl "url" | Use 3rd party dev server url to serve assets, EG Vite | "" |
|
||||
| -appargs "args" | Arguments passed to the application in shell style | |
|
||||
| -save | Saves the given `assetdir`, `reloaddirs`, `wailsjsdir`, `debounce`, `devserver` and `frontenddevserverurl` flags in `wails.json` to become the defaults for subsequent invocations. | |
|
||||
| -race | Construire avec le détecteur Go race | false |
|
||||
| -s | Ignorer la construction du frontend | false |
|
||||
|
||||
Exemple:
|
||||
|
||||
`wails dev -assetdir ./frontend/dist -wailsjsdir ./frontend/src -browser`
|
||||
|
||||
This command will do the following:
|
||||
Cette commande fera ce qui suit :
|
||||
|
||||
- Build the application and run it (more details [here](../guides/manual-builds.mdx)
|
||||
- Generate the Wails JS modules in `./frontend/src`
|
||||
- Watch for updates to files in `./frontend/dist` and reload on any change
|
||||
- Open a browser and connect to the application
|
||||
- Construisez l'application et exécutez-la (plus de détails [ici](../guides/manual-builds.mdx)
|
||||
- Générer les modules JS Wails dans `./frontend/src`
|
||||
- Surveillez les mises à jour des fichiers dans `./frontend/dist` et rechargez en cas de changement
|
||||
- Ouvre un navigateur et se connecte à l'application
|
||||
|
||||
There is more information on using this feature with existing framework scripts [here](../guides/application-development.mdx#live-reloading).
|
||||
Il y a plus d'informations sur l'utilisation de cette fonctionnalité avec les scripts de framework existants [ici](../guides/application-development.mdx#live-reloading).
|
||||
|
||||
## generate
|
||||
|
||||
### template
|
||||
|
||||
Wails uses templates for project generation. The `wails generate template` command helps scaffold a template so that it may be used for generating projects.
|
||||
Wails utilise des modèles pour la génération de projets. La commande `wails génère le template` aide à échafauder un modèle afin que il puisse être utilisé pour générer des projets.
|
||||
|
||||
| Option | Description |
|
||||
|:---------------- |:------------------------------------------- |
|
||||
| -name | The template name (Mandatory) |
|
||||
| -frontend "path" | Path to frontend project to use in template |
|
||||
| Option | Description |
|
||||
|:---------------- |:-------------------------------------------------------- |
|
||||
| -name | Le nom du modèle (Obligatoire) |
|
||||
| -frontend "path" | Chemin vers le projet frontend à utiliser dans le modèle |
|
||||
|
||||
For more details on creating templates, consult the [Templates guide](../guides/templates.mdx).
|
||||
Pour plus de détails sur la création de modèles, consultez le [Guide sur les modèles](../guides/templates.mdx).
|
||||
|
||||
### module
|
||||
|
||||
The `wails generate module` command allows you to manually generate the `wailsjs` directory for your application.
|
||||
La commande `wails génère le module` vous permet de générer manuellement le répertoire `wailsjs` pour votre application.
|
||||
|
||||
## update
|
||||
|
||||
`wails update` will update the version of the Wails CLI.
|
||||
`wails update` va mettre à jour la version du CLI Wails.
|
||||
|
||||
| Option | Description |
|
||||
|:------------------ |:------------------------------------- |
|
||||
| -pre | Update to latest pre-release version |
|
||||
| -version "version" | Install a specific version of the CLI |
|
||||
| Option | Description |
|
||||
|:------------------ |:----------------------------------------------------- |
|
||||
| -pre | Mettre à jour la version avec la dernière pre-release |
|
||||
| -version "version" | Installer une version spécifique du CLI |
|
||||
|
||||
## version
|
||||
|
||||
`wails version` will simply output the current CLI version.
|
||||
`wails version` va simplement afficher la version actuelle du CLI.
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ sidebar_position: 4
|
|||
|
||||
# Menus
|
||||
|
||||
It is possible to add an application menu to Wails projects. This is achieved by defining a [Menu](#menu) struct and setting it in the [`Menu`](../reference/options.mdx#menu) application config, or by calling the runtime method [MenuSetApplicationMenu](../reference/runtime/menu.mdx#menusetapplicationmenu).
|
||||
Il est possible d'ajouter un menu applicatif aux projets Wails. Ceci est réalisé en définissant une structure [Menu](#menu) et en la définissant dans la configuration de l'application [`Menu`](../reference/options.mdx#menu) , ou en appelant la méthode d'exécution [MenuSetApplicationMenu](../reference/runtime/menu.mdx#menusetapplicationmenu).
|
||||
|
||||
An example of how to create a menu:
|
||||
Un exemple de définition d'un menu :
|
||||
|
||||
```go
|
||||
AppMenu := menu.NewMenu()
|
||||
|
|
@ -33,13 +33,13 @@ An example of how to create a menu:
|
|||
// ...
|
||||
```
|
||||
|
||||
It is also possible to dynamically update the menu, by updating the menu struct and calling [MenuUpdateApplicationMenu](../reference/runtime/menu.mdx#menuupdateapplicationmenu).
|
||||
Il est également possible de mettre à jour dynamiquement le menu, en mettant à jour le menu struct et en appelant [MenuUpdateApplicationMenu](../reference/runtime/menu.mdx#menuupdateapplicationmenu).
|
||||
|
||||
The example above uses helper methods, however it's possible to build the menu structs manually.
|
||||
L'exemple ci-dessus utilise des méthodes d'aide, cependant il est possible de construire le menu manuellement.
|
||||
|
||||
## Menu
|
||||
|
||||
A Menu is a collection of MenuItems:
|
||||
Un Menu est une collection de MenuItems:
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu"
|
||||
type Menu struct {
|
||||
|
|
@ -47,19 +47,19 @@ type Menu struct {
|
|||
}
|
||||
```
|
||||
|
||||
For the Application menu, each MenuItem represents a single menu such as "Edit".
|
||||
Pour le menu de l'application, chaque MenuItem représente un seul menu tel que "Edit".
|
||||
|
||||
A simple helper method is provided for building menus:
|
||||
Une méthode simple d'aide est fournie pour les menus de construction :
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu"
|
||||
func NewMenuFromItems(first *MenuItem, rest ...*MenuItem) *Menu
|
||||
```
|
||||
|
||||
This makes the layout of the code more like that of a menu without the need to add the menu items manually after creating them. Alternatively, you can just create the menu items and add them to the menu manually.
|
||||
Cela rend la mise en page du code plus semblable à celle d'un menu sans avoir à ajouter les éléments de menu manuellement après leur création. Vous pouvez également créer les liens de menu et les ajouter au menu manuellement.
|
||||
|
||||
## MenuItem
|
||||
|
||||
A MenuItem represents an item within a Menu.
|
||||
Un MenuItem représente un élément dans un Menu.
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu"
|
||||
// MenuItem represents a menu item contained in a menu
|
||||
|
|
@ -76,52 +76,52 @@ type MenuItem struct {
|
|||
}
|
||||
```
|
||||
|
||||
| Field | Type | Notes |
|
||||
| ----------- | ------------------------------------ | ------------------------------------------------------------- |
|
||||
| Label | string | The menu text |
|
||||
| Accelerator | [\*keys.Accelerator](#accelerator) | Key binding for this menu item |
|
||||
| Type | [Type](#type) | Type of MenuItem |
|
||||
| Disabled | bool | Disables the menu item |
|
||||
| Hidden | bool | Hides this menu item |
|
||||
| Checked | bool | Adds check to item (Checkbox & Radio types) |
|
||||
| SubMenu | [\*Menu](#menu) | Sets the submenu |
|
||||
| Click | [Callback](#callback) | Callback function when menu clicked |
|
||||
| Role | string | Defines a [role](#role) for this menu item. Mac only for now. |
|
||||
| Champ | Type | Notes |
|
||||
| ----------- | ------------------------------------ | --------------------------------------------------------------------------------------- |
|
||||
| Label | string | Le texte du menu |
|
||||
| Accelerator | [\*keys.Accelerator](#accelerator) | Raccourci pour ce lien de menu |
|
||||
| Type | [Type](#type) | Type de MenuItem |
|
||||
| Disabled | bool | Désactive l'élément de menu |
|
||||
| Hidden | bool | Masque cet élément de menu |
|
||||
| Checked | bool | Ajoute une coche à l'élément (case à cocher & Types de radio) |
|
||||
| SubMenu | [\*Menu](#menu) | Définit un sous-menu |
|
||||
| Click | [Callback](#callback) | Fonction à appeler quand un click est fait sur cet élément du menu. |
|
||||
| Role | string | Définit un rôle [](#role) pour cet élément de menu. Pour Mac seulement, pour le moment. |
|
||||
|
||||
### Accelerator
|
||||
|
||||
Accelerators (sometimes called keyboard shortcuts) define a binding between a keystroke and a menu item. Wails defines an Accelerator as a combination or key + [Modifier](#modifier). They are available in the `"github.com/wailsapp/wails/v2/pkg/menu/keys"` package.
|
||||
Les accélérateurs (parfois appelés raccourcis clavier) définissent une liaison entre une clé et un élément du menu. Wails définit un accélérateur comme une combinaison ou une clé + [modificateur](#modifier). Ils sont disponibles dans le paquet `"github.com/wailsapp/wails/v2/pkg/menu/keys"`.
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu/keys"
|
||||
// Defines cmd+o on Mac and ctrl-o on Window/Linux
|
||||
myShortcut := keys.CmdOrCtrl("o")
|
||||
```
|
||||
|
||||
Keys are any single character on a keyboard with the exception of `+`, which is defined as `plus`. Some keys cannot be represented as characters so there are a set of named characters that may be used:
|
||||
Les clés sont n'importe quel caractère sur un clavier à l'exception de `+`, qui est défini comme `plus`. Certaines clés ne peuvent pas être représentées comme des caractères, il y a donc un ensemble de caractères nommés qui peuvent être utilisés :
|
||||
|
||||
| | | | |
|
||||
|:-----------:|:-----:|:-----:|:---------:|
|
||||
| `backspace` | `f1` | `f16` | `f31` |
|
||||
| `tab` | `f2` | `f17` | `f32` |
|
||||
| `return` | `f3` | `f18` | `f33` |
|
||||
| `enter` | `f4` | `f19` | `f34` |
|
||||
| `escape` | `f5` | `f20` | `f35` |
|
||||
| `left` | `f6` | `f21` | `numlock` |
|
||||
| `right` | `f7` | `f22` | |
|
||||
| `up` | `f8` | `f23` | |
|
||||
| `down` | `f9` | `f24` | |
|
||||
| `space` | `f10` | `f25` | |
|
||||
| `delete` | `f11` | `f36` | |
|
||||
| `home` | `f12` | `f37` | |
|
||||
| `end` | `f13` | `f38` | |
|
||||
| `page up` | `f14` | `f39` | |
|
||||
| `page down` | `f15` | `f30` | |
|
||||
| | | | |
|
||||
|:----------------:|:-----:|:-----:|:---------:|
|
||||
| `retour arrière` | `f1` | `f16` | `f31` |
|
||||
| `tabulation` | `f2` | `f17` | `f32` |
|
||||
| `retour` | `f3` | `f18` | `f33` |
|
||||
| `entrée` | `f4` | `f19` | `f34` |
|
||||
| `echap` | `f5` | `f20` | `f35` |
|
||||
| `gauche` | `f6` | `f21` | `numlock` |
|
||||
| `droite` | `f7` | `f22` | |
|
||||
| `haut` | `f8` | `f23` | |
|
||||
| `bas` | `f9` | `f24` | |
|
||||
| `espace` | `f10` | `f25` | |
|
||||
| `suppr` | `f11` | `f36` | |
|
||||
| `début` | `f12` | `f37` | |
|
||||
| `fin` | `f13` | `f38` | |
|
||||
| `page haut` | `f14` | `f39` | |
|
||||
| `page bas` | `f15` | `f30` | |
|
||||
|
||||
Wails also supports parsing accelerators using the same syntax as Electron. This is useful for storing accelerators in config files.
|
||||
Wails prend également en charge l'analyse des accélérateurs en utilisant la même syntaxe qu'Electron. Ceci est utile pour stocker les accélérateurs dans les fichiers de configuration .
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu/keys"
|
||||
// Defines cmd+o on Mac and ctrl-o on Window/Linux
|
||||
|
|
@ -130,7 +130,7 @@ Example:
|
|||
|
||||
#### Modifier
|
||||
|
||||
The following modifiers are keys that may be used in combination with the accelerator key:
|
||||
Les modificateurs suivants sont des touches qui peuvent être utilisées en combinaison avec la touche accélérateur:
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu/keys"
|
||||
const (
|
||||
|
|
@ -145,7 +145,7 @@ const (
|
|||
)
|
||||
```
|
||||
|
||||
A number of helper methods are available to create Accelerators using modifiers:
|
||||
Un certain nombre de méthodes d'aide sont disponibles pour créer des accélérateurs en utilisant des modificateurs:
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu/keys"
|
||||
func CmdOrCtrl(key string) *Accelerator
|
||||
|
|
@ -154,7 +154,7 @@ func Shift(key string) *Accelerator
|
|||
func Control(key string) *Accelerator
|
||||
```
|
||||
|
||||
Modifiers can be combined using `keys.Combo(key string, modifier1 Modifier, modifier2 Modifier, rest ...Modifier)`:
|
||||
Les modificateurs peuvent être combinés en utilisant `keys.Combo(key string, modifier1 Modifier, modifier2 Modifier, rest ...Modifier)`:
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu/keys"
|
||||
// Defines "Ctrl+Option+A" on Mac and "Ctrl+Alt+A" on Window/Linux
|
||||
|
|
@ -163,7 +163,7 @@ Modifiers can be combined using `keys.Combo(key string, modifier1 Modifier, modi
|
|||
|
||||
### Type
|
||||
|
||||
Each menu item must have a type and there are 5 types available:
|
||||
Chaque lien de menu doit avoir un type et il y a 5 types disponibles:
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu"
|
||||
const (
|
||||
|
|
@ -175,7 +175,7 @@ const (
|
|||
)
|
||||
```
|
||||
|
||||
For convenience, helper methods are provided to quickly create a menu item:
|
||||
Pour plus de commodité, des méthodes d'aide sont fournies pour créer rapidement un lien de menu :
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu"
|
||||
func Text(label string, accelerator *keys.Accelerator, click Callback) *MenuItem
|
||||
|
|
@ -185,7 +185,7 @@ func Checkbox(label string, checked bool, accelerator *keys.Accelerator, click C
|
|||
func SubMenu(label string, menu *Menu) *Menu
|
||||
```
|
||||
|
||||
You can also create menu items directly on a menu by using the "Add" helpers:
|
||||
Vous pouvez également créer des liens directement dans un menu en utilisant les méthodes "Add" :
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu"
|
||||
func (m *Menu) AddText(label string, accelerator *keys.Accelerator, click Callback) *MenuItem
|
||||
|
|
@ -195,11 +195,11 @@ func (m *Menu) AddCheckbox(label string, checked bool, accelerator *keys.Acceler
|
|||
func (m *Menu) AddSubMenu(label string, menu *Menu) *MenuI
|
||||
```
|
||||
|
||||
A note on radio groups: A radio group is defined as a number of radio menu items that are next to each other in the menu. This means that you do not need to group items together as it is automatic. However, that also means you cannot have 2 radio groups next to each other - there must be a non-radio item between them.
|
||||
Une note sur les groupes radio : Un groupe radio est défini comme un certain nombre d'éléments du menu radio qui sont à côté l'un de l'autre dans le menu. Cela signifie que vous n'avez pas besoin de regrouper les éléments car il est automatique. Cependant, cela signifie également que vous ne pouvez pas avoir 2 groupes radio les uns à côté des autres - il doit y avoir un élément non-radio entre eux.
|
||||
|
||||
### Callback
|
||||
|
||||
Each menu item may have a callback that is executed when the item is clicked:
|
||||
Chaque lien de menu peut avoir une fonction qui est exécutée lorsque l'élément est cliqué :
|
||||
|
||||
```go title="Package: github.com/wailsapp/wails/v2/pkg/menu"
|
||||
type Callback func(*CallbackData)
|
||||
|
|
@ -209,19 +209,19 @@ type CallbackData struct {
|
|||
}
|
||||
```
|
||||
|
||||
The function is given a `CallbackData` struct which indicates which menu item triggered the callback. This is useful when using radio groups that may share a callback.
|
||||
La fonction reçoit une structure `CallbackData` qui indique quel élément de menu a été cliqué. Ceci est utile lorsque utilise des groupes radio qui peuvent partager une fonction.
|
||||
|
||||
### Role
|
||||
|
||||
:::info Roles
|
||||
|
||||
Roles are currently supported on Mac only.
|
||||
Les rôles ne sont actuellement pris en charge que sur Mac.
|
||||
|
||||
:::
|
||||
|
||||
A menu item may have a role, which is essentially a pre-defined menu item. We currently support the following roles:
|
||||
Un lien de menu peut avoir un rôle, qui est essentiellement un lien de menu prédéfini. Nous supportons actuellement les rôles suivants :
|
||||
|
||||
| Role | Description |
|
||||
| ------------ | ------------------------------------------------------------------------ |
|
||||
| AppMenuRole | The standard Mac application menu. Can be created using `menu.AppMenu()` |
|
||||
| EditMenuRole | The standard Mac edit menu. Can be created using `menu.EditMenu()` |
|
||||
| Role | Description |
|
||||
| ------------ | ----------------------------------------------------------------------------------- |
|
||||
| AppMenuRole | Le menu standard de l'application Mac. Peut être créé en utilisant `menu.AppMenu()` |
|
||||
| EditMenuRole | Le menu d'édition standard pour Mac. Peut être créé en utilisant `menu.EditMenu()` |
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ sidebar_position: 3
|
|||
|
||||
# Options
|
||||
|
||||
## Application Options
|
||||
## Options de l'application
|
||||
|
||||
The `Options.App` struct contains the application configuration. It is passed to the `wails.Run()` method:
|
||||
La structure `Options.App` contient la configuration de l'application. Il est passé à la méthode `wails.Run()`:
|
||||
|
||||
```go title="Example"
|
||||
import (
|
||||
|
|
@ -50,6 +50,7 @@ func main() {
|
|||
OnBeforeClose: app.beforeClose,
|
||||
CSSDragProperty: "--wails-draggable",
|
||||
CSSDragValue: "drag",
|
||||
EnableFraudulentWebsiteDetection: false,
|
||||
ZoomFactor: 1.0,
|
||||
IsZoomControlEnabled: false,
|
||||
Bind: []interface{}{
|
||||
|
|
@ -77,7 +78,8 @@ func main() {
|
|||
// OnSuspend is called when Windows enters low power mode
|
||||
OnSuspend func()
|
||||
// OnResume is called when Windows resumes from low power mode
|
||||
OnResume func()
|
||||
OnResume func(),
|
||||
WebviewGpuDisabled: false,
|
||||
},
|
||||
Mac: &mac.Options{
|
||||
TitleBar: &mac.TitleBar{
|
||||
|
|
@ -100,6 +102,7 @@ func main() {
|
|||
Linux: &linux.Options{
|
||||
Icon: icon,
|
||||
WindowIsTranslucent: false,
|
||||
WebviewGpuPolicy: linux.WebviewGpuPolicyAlways,
|
||||
},
|
||||
Debug: options.Debug{
|
||||
OpenInspectorOnStartup: false,
|
||||
|
|
@ -115,115 +118,115 @@ func main() {
|
|||
|
||||
### Title
|
||||
|
||||
The text shown in the window's title bar.
|
||||
Le texte affiché dans la barre de titre de la fenêtre.
|
||||
|
||||
Name: Title<br/> Type: `string`
|
||||
Nom : Title<br/> Type : `string`
|
||||
|
||||
### Width
|
||||
|
||||
The initial width of the window.
|
||||
La largeur initiale de la fenêtre.
|
||||
|
||||
Name: Width<br/> Type: `int`<br/> Default: 1024.
|
||||
Nom: Width<br/> Type: `int`<br/> Défaut: 1024.
|
||||
|
||||
### Height
|
||||
|
||||
The initial height of the window.
|
||||
La hauteur initiale de la fenêtre.
|
||||
|
||||
Name: Height<br/> Type: `int`<br/> Default: 768
|
||||
Nom: Height<br/> Type: `int`<br/> Défaut: 768
|
||||
|
||||
### DisableResize
|
||||
|
||||
By default, the main window is resizable. Setting this to `true` will keep it a fixed size.
|
||||
Par défaut, la fenêtre principale est redimensionnable. Mettre ceci à `true` le conservera une taille fixe.
|
||||
|
||||
Name: DisableResize<br/> Type: `bool`
|
||||
Nom: DisableResize<br/> Type: `bool`
|
||||
|
||||
### Fullscreen
|
||||
|
||||
Deprecated: Please use [WindowStartState](#windowstartstate).
|
||||
Obsolète: Veuillez utiliser [WindowStartState](#windowstartstate).
|
||||
|
||||
### WindowStartState
|
||||
|
||||
Defines how the window should present itself at startup.
|
||||
Définit comment la fenêtre devrait se présenter au démarrage.
|
||||
|
||||
| Value | Win | Mac | Lin |
|
||||
| Valeur | Win | Mac | Lin |
|
||||
| ---------- | --- | --- | --- |
|
||||
| Fullscreen | ✅ | ✅ | ✅ |
|
||||
| Maximised | ✅ | ✅ | ✅ |
|
||||
| Minimised | ✅ | ❌ | ✅ |
|
||||
|
||||
Name: WindowStartState<br/> Type: `options.WindowStartState`
|
||||
Nom: WindowStartState<br/> Type: `options.WindowStartState`
|
||||
|
||||
### Frameless
|
||||
|
||||
When set to `true`, the window will have no borders or title bar. Also see [Frameless Windows](../guides/frameless.mdx).
|
||||
Quand réglé sur `true`, la fenêtre n'aura pas de bordure ou de barre de titre. Voir aussi les [fenêtres sans cadre sous Windows](../guides/frameless.mdx).
|
||||
|
||||
Name: Frameless<br/> Type: `bool`
|
||||
Nom: Frameless<br/> Type: `bool`
|
||||
|
||||
### MinWidth
|
||||
|
||||
This sets the minimum width for the window. If the value given in `Width` is less than this value, the window will be set to `MinWidth` by default.
|
||||
Définit la largeur minimale de la fenêtre. Si la valeur donnée dans `Width` est inférieure à cette valeur, la fenêtre sera définie à `MinWidth` par défaut.
|
||||
|
||||
Name: MinWidth<br/> Type: `int`
|
||||
Nom: MinWidth<br/> Type: `int`
|
||||
|
||||
### MinHeight
|
||||
|
||||
This sets the minimum height for the window. If the value given in `Height` is less than this value, the window will be set to `MinHeight` by default.
|
||||
Définit la hauteur minimale de la fenêtre. Si la valeur donnée dans `Height` est inférieure à cette valeur, la fenêtre sera définie à `MinHeight` par défaut.
|
||||
|
||||
Name: MinHeight<br/> Type: `int`
|
||||
Nom: MinHeight<br/> Type: `int`
|
||||
|
||||
### MaxWidth
|
||||
|
||||
This sets the maximum width for the window. If the value given in `Width` is more than this value, the window will be set to `MaxWidth` by default.
|
||||
Définit la largeur maximale de la fenêtre. Si la valeur donnée dans `Width` est supérieure à cette valeur, la fenêtre sera définie à `MaxWidth` par défaut.
|
||||
|
||||
Name: MaxWidth<br/> Type: `int`
|
||||
Nom: MaxWidth<br/> Type: `int`
|
||||
|
||||
### MaxHeight
|
||||
|
||||
This sets the maximum height for the window. If the value given in `Height` is more than this value, the window will be set to `MaxHeight` by default.
|
||||
Définit la hauteur maximale de la fenêtre. Si la valeur donnée en `Height` est supérieure à cette valeur, la fenêtre sera définie à `MaxHeight` par défaut.
|
||||
|
||||
Name: MaxHeight<br/> Type: `int`
|
||||
Nom: MaxHeight<br/> Type: `int`
|
||||
|
||||
### StartHidden
|
||||
|
||||
When set to `true`, the application will be hidden until [WindowShow](../reference/runtime/window.mdx#windowshow) is called.
|
||||
Lorsque réglé sur `true`, l'application sera masquée jusqu'à ce que [WindowShow](../reference/runtime/window.mdx#windowshow) soit appelé.
|
||||
|
||||
Name: StartHidden<br/> Type: `bool`
|
||||
Nom: StartHidden<br/> Type: `bool`
|
||||
|
||||
### HideWindowOnClose
|
||||
|
||||
By default, closing the window will close the application. Setting this to `true` means closing the window will
|
||||
Par défaut, la fermeture de la fenêtre fermera l'application. Définir ceci à `true` signifie que
|
||||
|
||||
hide the window instead.
|
||||
la fenêtre sera cachée à la place.
|
||||
|
||||
Name: HideWindowOnClose<br/> Type: `bool`
|
||||
Nom: HideWindowOnClose<br/> Type: `bool`
|
||||
|
||||
### BackgroundColour
|
||||
|
||||
This value is the default background colour of the window. Example: options.NewRGBA(255,0,0,128) - Red at 50% transparency
|
||||
Cette valeur est la couleur de fond par défaut de la fenêtre. Exemple: options.NewRGBA(255,0,0,128) - Rouge à 50% de transparence
|
||||
|
||||
Name: BackgroundColour<br/> Type: `*options.RGBA`<br/> Default: white
|
||||
Nom: BackgroundColour<br/> Type: `*options.RGBA`<br/> Défaut: white
|
||||
|
||||
### AlwaysOnTop
|
||||
|
||||
Indicates that the window should stay above other windows when losing focus.
|
||||
Indique que la fenêtre doit rester au-dessus des autres fenêtres lors de la perte de focus.
|
||||
|
||||
Name: AlwaysOnTop<br/> Type: `bool`
|
||||
Nom: AlwaysOnTop<br/> Type: `bool`
|
||||
|
||||
### Assets
|
||||
|
||||
Deprecated: Please use Assets on [AssetServer specific options](#assetserver).
|
||||
Obsolète: Veuillez utiliser des actifs sur les options [AssetServer spécifiques](#assetserver).
|
||||
|
||||
### AssetsHandler
|
||||
|
||||
Deprecated: Please use AssetsHandler on [AssetServer specific options](#assetserver).
|
||||
Obsolète : Veuillez utiliser AssetsHandler sur [Options spécifiques à AssetServer](#assetserver).
|
||||
|
||||
### AssetServer
|
||||
|
||||
This defines AssetServer specific options. It allows to customize the AssetServer with static assets, serving assets dynamically with an `http.Handler` or hook into the request chain with an `assetserver.Middleware`.
|
||||
Ceci définit les options spécifiques à AssetServer. Il permet de personnaliser l'AssetServer avec des actifs statiques, servant les assets dynamiquement avec un `http.Handler` ou brancher dans la chaîne de requêtes avec un `assetserver.Middleware`.
|
||||
|
||||
Not all features of an `http.Request` are currently supported, please see the following feature matrix:
|
||||
Toutes les fonctionnalités d'une `http.Request` ne sont pas actuellement prises en charge, veuillez consulter la matrice de fonctionnalité suivante :
|
||||
|
||||
| Feature | Win | Mac | Lin |
|
||||
| Fonctionalité | Win | Mac | Lin |
|
||||
| ----------------------- | --- | --- | ------ |
|
||||
| GET | ✅ | ✅ | ✅ |
|
||||
| POST | ✅ | ✅ | ✅ [^1] |
|
||||
|
|
@ -232,100 +235,100 @@ Not all features of an `http.Request` are currently supported, please see the fo
|
|||
| DELETE | ✅ | ✅ | ✅ [^1] |
|
||||
| Request Headers | ✅ | ✅ | ✅ [^1] |
|
||||
| Request Body | ✅ | ✅ | ❌ |
|
||||
| Request Body Streaming | ❌ | ❌ | ❌ |
|
||||
| Request Body Streaming | ✅ | ✅ | ❌ |
|
||||
| Response StatusCodes | ✅ | ✅ | ✅ [^1] |
|
||||
| Response Headers | ✅ | ✅ | ✅ [^1] |
|
||||
| Response Body | ✅ | ✅ | ✅ |
|
||||
| Response Body Streaming | ❌ | ❌ | ✅ |
|
||||
| Response Body Streaming | ❌ | ✅ | ✅ |
|
||||
| WebSockets | ❌ | ❌ | ❌ |
|
||||
| HTTP Redirects 30x | ✅ | ❌ | ❌ |
|
||||
|
||||
Name: AssetServer<br/> Type: `*assetserver.Options`
|
||||
Nom: AssetServer<br/> Type: `*assetserver.Options`
|
||||
|
||||
#### Assets
|
||||
|
||||
The static frontend assets to be used by the application.
|
||||
Les ressources statiques du frontend à être utilisées par l'application.
|
||||
|
||||
A GET request is first tried to be served from this `fs.FS`. If the `fs.FS` returns `os.ErrNotExist` for that file, the request handling will fallback to the [Handler](#handler) and tries to serve the GET request from it.
|
||||
Une requête GET est d'abord tentée d'être servie à partir de ce `fs.FS`. Si le `fs.FS` retourne `os. rrNotExist` pour ce fichier, le traitement des requêtes va revenir au [Handler](#handler) et essaie de répondre à la requête GET.
|
||||
|
||||
If set to nil, all GET requests will be forwarded to [Handler](#handler).
|
||||
Si la valeur est nulle, toutes les requêtes GET seront envoyées à [Handler](#handler).
|
||||
|
||||
Name: Assets<br/> Type: `fs.FS`
|
||||
Nom: Assets<br/> Type: `fs.FS`
|
||||
|
||||
#### Handler
|
||||
|
||||
The assets handler is a generic `http.Handler` for fallback handling of assets that can't be found.
|
||||
Le gestionnaire d'assets est un `http.Handler` générique pour la gestion de secours des assets qui ne peuvent pas être trouvés.
|
||||
|
||||
The handler will be called for every GET request that can't be served from [Assets](#assets), due to `os.ErrNotExist`. Furthermore all non GET requests will always be served from this Handler. If not defined, the result is the following in cases where the Handler would have been called:
|
||||
Le gestionnaire sera appelé pour chaque requête GET qui ne peut pas être servie à partir de [Assets](#assets), en raison de `os.ErrNotExist`. De plus, toutes les requêtes non GET seront toujours servies par ce gestionnaire. Si non défini, le résultat est le suivant dans les cas où le Gestionnaire aurait été appelé :
|
||||
|
||||
- GET request: `http.StatusNotFound`
|
||||
- Other request: `http.StatusMethodNotAllowed`
|
||||
- Requête GET : `http.StatusNotFound`
|
||||
- Autre requête : `http.StatusMethodNotAllowed`
|
||||
|
||||
NOTE: When used in combination with a Frontend DevServer there might be limitations, eg. Vite serves the index.html on every path, that does not contain a file extension.
|
||||
REMARQUE : Lorsqu'il est utilisé en combinaison avec un serveur de développement Frontend, il peut y avoir des limitations, par exemple. Vite affiche l'index.html sur chaque chemin qui ne contient pas d'extension de fichier.
|
||||
|
||||
Name: AssetsHandler<br/> Type: `http.Handler`
|
||||
Nom: AssetsHandler<br/> Type: `http.Handler`
|
||||
|
||||
#### Middleware
|
||||
|
||||
Middleware is a HTTP Middleware which allows to hook into the AssetServer request chain. It allows to skip the default request handler dynamically, e.g. implement specialized Routing etc. The Middleware is called to build a new `http.Handler` used by the AssetSever and it also receives the default handler used by the AssetServer as an argument.
|
||||
Middleware est un Middleware HTTP qui permet de se connecter à la chaîne de requêtes AssetServer. Il permet de sauter dynamiquement le gestionnaire de requête par défaut, par exemple implémenter un routage spécialisé, etc. Le Middleware est appelé pour construire un nouveau `http.Handler` utilisé par l'AssetSever et reçoit également le gestionnaire par défaut utilisé par le serveur AssetServer comme argument.
|
||||
|
||||
If not defined, the default AssetServer request chain is executed.
|
||||
Si elle n'est pas définie, la chaîne de requête AssetServer par défaut est exécutée.
|
||||
|
||||
Name: Middleware<br/> Type: `assetserver.Middleware`
|
||||
Nom: Middleware<br/> Type: `assetserver.Middleware`
|
||||
|
||||
### Menu
|
||||
|
||||
The menu to be used by the application. More details about Menus in the [Menu Reference](../reference/runtime/menu.mdx).
|
||||
Le menu à utiliser par l'application. Plus de détails sur les menus dans la [Référence des Menu](../reference/runtime/menu.mdx).
|
||||
|
||||
:::note
|
||||
|
||||
On Mac, if no menu is specified, a default menu will be created.
|
||||
Sur Mac, si aucun menu n'est spécifié, un menu par défaut sera créé.
|
||||
|
||||
:::
|
||||
|
||||
Name: Menu<br/> Type: `*menu.Menu`
|
||||
Nom: Menu<br/> Type: `*menu.Menu`
|
||||
|
||||
### Logger
|
||||
|
||||
The logger to be used by the application. More details about logging in the [Log Reference](../reference/runtime/log.mdx).
|
||||
Le logger à utiliser par l'application. Plus de détails sur la connexion dans la [Référence du logger](../reference/runtime/log.mdx).
|
||||
|
||||
Name: Logger<br/> Type: `logger.Logger`<br/> Default: Logs to Stdout
|
||||
Nom: Logger<br/> Type: `logger.Logger`<br/> Défaut: Logs envoyé à Stdout
|
||||
|
||||
### LogLevel
|
||||
|
||||
The default log level. More details about logging in the [Log Reference](../reference/runtime/log.mdx).
|
||||
Le niveau de log par défaut. Plus de détails sur la connexion dans la [Référence du logger](../reference/runtime/log.mdx).
|
||||
|
||||
Name: LogLevel<br/> Type: `logger.LogLevel`<br/> Default: `Info` in dev mode, `Error` in production mode
|
||||
Nom: LogLevel<br/> Type: `logger.LogLevel`<br/> Défaut: `Info` en mode dev, `Error` en mode production
|
||||
|
||||
### LogLevelProduction
|
||||
|
||||
The default log level for production builds. More details about logging in the [Log Reference](../reference/runtime/log.mdx).
|
||||
Le niveau de log par défaut pour les compilations de production. Plus de détails sur la connexion dans la [Référence du logger](../reference/runtime/log.mdx).
|
||||
|
||||
Name: LogLevelProduction<br/> Type: `logger.LogLevel`<br/> Default: `Error`
|
||||
Nom: LogLevelProduction<br/> Type: `logger.LogLevel`<br/> Défaut: `Error`
|
||||
|
||||
### OnStartup
|
||||
|
||||
This callback is called after the frontend has been created, but before `index.html` has been loaded. It is given the application context.
|
||||
Ce callback est appelé après la création du frontend, mais avant que `index.html` n'ait été chargé. Il lui donne le contexte de l'application.
|
||||
|
||||
Name: OnStartup<br/> Type: `func(ctx context.Context)`
|
||||
Nom: OnStartup<br/> Type: `func(ctx context.Context)`
|
||||
|
||||
### OnDomReady
|
||||
|
||||
This callback is called after the frontend has loaded `index.html` and its resources. It is given the application context.
|
||||
Ce callback est appelé après que le frontend ait chargé `index.html` et ses ressources. Il lui donne le contexte de l'application.
|
||||
|
||||
Name: OnDomReady<br/> Type: `func(ctx context.Context)`
|
||||
Nom: OnDomReady<br/> Type: `func(ctx context.Context)`
|
||||
|
||||
### OnShutdown
|
||||
|
||||
This callback is called after the frontend has been destroyed, just before the application terminates. It is given the application context.
|
||||
Ce calllback est appelé après que le frontend ait été détruit, juste avant la fin de l'application. Il lui donne le contexte de l'application.
|
||||
|
||||
Name: OnShutdown<br/> Type: `func(ctx context.Context)`
|
||||
Nom: OnShutdown<br/> Type: `func(ctx context.Context)`
|
||||
|
||||
### OnBeforeClose
|
||||
|
||||
If this callback is set, it will be called when the application is about to quit, either by clicking the window close button or calling `runtime.Quit`. Returning true will cause the application to continue, false will continue shutdown as normal. This is good for confirming with the user that they wish to exit the program.
|
||||
Si ce callback est défini, il sera appelé lorsque l'application est sur le point de quitter, soit en cliquant sur la fenêtre fermez le bouton ou en appelant `runtime.Quit`. Retourner "true" dans cette méthode entraînera la poursuite de l'application, "false" continuera à éteindre comme d'habitude. C'est un bon exemple pour confirmer avec l'utilisateur si il souhaite quitter le programme.
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
|
||||
```go title=windowsapp.go
|
||||
func (b *App) beforeClose(ctx context.Context) (prevent bool) {
|
||||
|
|
@ -342,141 +345,147 @@ func (b *App) beforeClose(ctx context.Context) (prevent bool) {
|
|||
}
|
||||
```
|
||||
|
||||
Name: OnBeforeClose<br/> Type: `func(ctx context.Context) bool`
|
||||
Nom: OnBeforeClose<br/> Type: `func(ctx context.Context) bool`
|
||||
|
||||
### CSSDragProperty
|
||||
|
||||
Indicates the CSS property to use to identify which elements can be used to drag the window. Default: `--wails-draggable`.
|
||||
Indique la propriété CSS à utiliser pour identifier quels éléments peuvent être utilisés pour faire glisser la fenêtre. Par défaut : `--wails-draggable`.
|
||||
|
||||
Name: CSSDragProperty<br/> Type: `string`
|
||||
Nom: CSSDragProperty<br/> Type: `string`
|
||||
|
||||
### CSSDragValue
|
||||
|
||||
Indicates what value the `CSSDragProperty` style should have to drag the window. Default: `drag`.
|
||||
Indique quelle valeur le style `CSSDragProperty` doit avoir pour faire glisser la fenêtre. Par défaut: `drag`.
|
||||
|
||||
Name: CSSDragValue<br/> Type: `string`
|
||||
Nom: CSSDragValue<br/> Type: `string`
|
||||
|
||||
### EnableFraudulentWebsiteDetection
|
||||
|
||||
EnableFraudulentWebsiteDetection enables scan services for fraudulent content, such as malware or phishing attempts. These services might send information from your app like URLs navigated to and possibly other content to cloud services of Apple and Microsoft.
|
||||
|
||||
Name: EnableFraudulentWebsiteDetection<br/> Type: `bool`
|
||||
|
||||
### ZoomFactor
|
||||
|
||||
Name: ZoomFactor<br/> Type: `float64`
|
||||
Nom: ZoomFactor<br/> Type: `float64`
|
||||
|
||||
This defines the zoom factor for the WebView2. This is the option matching the Edge user activated zoom in or out.
|
||||
Ceci définit le facteur de zoom pour WebView2. Il s'agit de l'option correspondant au zoom avant ou arrière défini par l'utilisateur.
|
||||
|
||||
### IsZoomControlEnabled
|
||||
|
||||
Name: IsZoomControlEnabled<br/> Type: `bool`
|
||||
Nom : IsZoomControlEnabled<br/> Type : `bool`
|
||||
|
||||
This enables the zoom factor to be changed by the user. Please note that the zoom factor can be set in the options while disallowing the user to change it at runtime (f.e. for a kiosk application or similar).
|
||||
Cela permet de modifier le facteur de zoom par l'utilisateur. Veuillez noter que le facteur de zoom peut être défini dans les options tandis que ne permet pas à l'utilisateur de le modifier à l'exécution (f.e. pour une application vitrine ou similaire).
|
||||
|
||||
### Bind
|
||||
|
||||
A slice of struct instances defining methods that need to be bound to the frontend.
|
||||
La liste des structs Go définissant des méthodes qui doivent être liées au frontend.
|
||||
|
||||
Name: Bind<br/> Type: `[]interface{}`
|
||||
Nom: Bind<br/> Type: `[]interface{}`
|
||||
|
||||
### Windows
|
||||
|
||||
This defines [Windows specific options](#windows).
|
||||
Ceci définit les options [spécifiques à Windows](#windows).
|
||||
|
||||
Name: Windows<br/> Type: `*windows.Options`
|
||||
Nom: Windows<br/> Type: `*windows.Options`
|
||||
|
||||
#### WebviewIsTransparent
|
||||
|
||||
Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications.
|
||||
Mettre ceci à `true` rendra l'arrière-plan du webview transparent quand une valeur alpha de `0` est utilisée. Cela signifie que si vous utilisez `rgba(0,0,0,0)` pour `la couleur d'arrière-plan` dans votre CSS, la fenêtre d'hôte sera affichée. Souvent combiné avec [WindowIsTranslucent](#WindowIsTranslucent) pour faire des applications d'apparence de givre.
|
||||
|
||||
Name: WebviewIsTransparent<br/> Type: `bool`
|
||||
Nom : WebviewIsTransparent<br/> Type : `bool`
|
||||
|
||||
#### WindowIsTranslucent
|
||||
|
||||
Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent).
|
||||
Définir ceci à `true` rendra l'arrière-plan de la fenêtre translucide. Souvent combiné avec [WebviewIsTransparent](#WebviewIsTransparent).
|
||||
|
||||
For Windows 11 versions before build 22621, this will use the [BlurBehind](https://learn.microsoft.com/en-us/windows/win32/dwm/blur-ovw) method for translucency, which can be slow. For Windows 11 versions after build 22621, this will enable the newer translucency types that are much faster. By default, the type of translucency used will be determined by Windows. To configure this, use the [BackdropType](#BackdropType) option.
|
||||
Pour les versions de Windows 11 avant la version 22621, cela utilisera la méthode [BlurBehind](https://learn.microsoft.com/en-us/windows/win32/dwm/blur-ovw) pour la translucidité, qui peut être lente. Pour les versions de Windows 11 après la version 22621, cela activera les nouveaux types de transparence qui sont beaucoup plus rapides. Par défaut, le type de transparence utilisé sera déterminé par Windows. Pour configurer ceci, utilisez l'option [BackdropType](#BackdropType).
|
||||
|
||||
Name: WindowIsTranslucent<br/> Type: `bool`
|
||||
Nom: WindowIsTranslucent<br/> Type: `bool`
|
||||
|
||||
#### BackdropType
|
||||
|
||||
:::note
|
||||
|
||||
Requires Windows 11 build 22621 or later.
|
||||
Nécessite Windows 11 version 22621 ou supérieure.
|
||||
|
||||
:::
|
||||
|
||||
Sets the translucency type of the window. This is only applicable if [WindowIsTranslucent](#WindowIsTranslucent) is set to `true`.
|
||||
Définit le type de transparence de la fenêtre. Ceci n'est applicable que si [WindowIsTranslucent](#WindowIsTranslucent) est défini à `true`.
|
||||
|
||||
Name: BackdropType<br/> Type `windows.BackdropType`
|
||||
Nom: BackdropType<br/> Type `windows.BackdropType`
|
||||
|
||||
The value can be one of the following:
|
||||
La valeur peut être l'une des valeurs suivantes :
|
||||
|
||||
| Value | Description |
|
||||
| ------- | ----------------------------------------------------------------------------------------- |
|
||||
| Auto | Let Windows decide which backdrop to use |
|
||||
| None | Do not use translucency |
|
||||
| Acrylic | Use [Acrylic](https://learn.microsoft.com/en-us/windows/apps/design/style/acrylic) effect |
|
||||
| Mica | Use [Mica](https://learn.microsoft.com/en-us/windows/apps/design/style/mica) effect |
|
||||
| Tabbed | Use Tabbed. This is a backdrop that is similar to Mica. |
|
||||
| Valeur | Description |
|
||||
| ------- | ------------------------------------------------------------------------------------------------- |
|
||||
| Auto | Laisser Windows décider quel arrière-plan utiliser |
|
||||
| None | Ne pas utiliser de transparence |
|
||||
| Acrylic | Utilisez l'effet [Acrylique](https://learn.microsoft.com/en-us/windows/apps/design/style/acrylic) |
|
||||
| Mica | Utiliser l'effet [Mica](https://learn.microsoft.com/en-us/windows/apps/design/style/mica) |
|
||||
| Tabbed | Utiliser Tabbed. C'est un arrière-plan qui est similaire à Mica. |
|
||||
|
||||
#### DisableWindowIcon
|
||||
|
||||
Setting this to `true` will remove the icon in the top left corner of the title bar.
|
||||
Définir ceci à `true` supprimera l'icône dans le coin supérieur gauche de la barre de titre.
|
||||
|
||||
Name: DisableWindowIcon<br/> Type: `bool`
|
||||
Nom: DisableWindowIcon<br/> Type: `bool`
|
||||
|
||||
#### DisableFramelessWindowDecorations
|
||||
|
||||
Setting this to `true` will remove the window decorations in [Frameless](#Frameless) mode. This means there will be no 'Aero Shadow' and no 'Rounded Corners' shown for the window. Please note that 'Rounded Corners' are only supported on Windows 11.
|
||||
Définir ceci à `true` supprimera les décorations de fenêtre en mode [sans cadre](#Frameless). Cela signifie qu'il n'y aura pas de « Aero Shadow» et aucun « Coins arrondis» ne sera affiché pour la fenêtre. Veuillez noter que les "coins arrondis" ne sont pris en charge que sur Windows 11.
|
||||
|
||||
Name: DisableFramelessWindowDecorations<br/> Type: `bool`
|
||||
Nom: DisableFramelessWindowDecorations<br/> Type: `bool`
|
||||
|
||||
#### WebviewUserDataPath
|
||||
|
||||
This defines the path where the WebView2 stores the user data. If empty `%APPDATA%\[BinaryName.exe]` will be used.
|
||||
Ceci définit le chemin où WebView2 stocke les données de l'utilisateur. Si vide, `%APPDATA%\[BinaryName.exe]` sera utilisé.
|
||||
|
||||
Name: WebviewUserDataPath<br/> Type: `string`
|
||||
Nom: WebviewUserDataPath<br/> Type: `string`
|
||||
|
||||
#### WebviewBrowserPath
|
||||
|
||||
This defines the path to a directory with WebView2 executable files and libraries. If empty, webview2 installed in the system will be used.
|
||||
Ceci définit le chemin vers un répertoire avec les fichiers exécutables et bibliothèques WebView2. Si l'option est vide, l'instance de webview2 installé dans le système sera utilisé.
|
||||
|
||||
Important information about distribution of fixed version runtime:
|
||||
Informations importantes sur la version corrigée :
|
||||
|
||||
- [How to get and extract runtime](https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#details-about-the-fixed-version-runtime-distribution-mode)
|
||||
- [Known issues for fixed version](https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#known-issues-for-fixed-version)
|
||||
- [The path of fixed version of the WebView2 Runtime should not contain \Edge\Application\.](https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.1245.22#createcorewebview2environmentwithoptions)
|
||||
- [Comment récupérer et extraire l'exécutable](https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#details-about-the-fixed-version-runtime-distribution-mode)
|
||||
- [Problèmes connus pour la version corrigée](https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#known-issues-for-fixed-version)
|
||||
- [Le chemin de la version corrigée du runtime WebView2 ne doit pas contenir \Edge\Application\.](https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.1245.22#createcorewebview2environmentwithoptions)
|
||||
|
||||
Name: WebviewBrowserPath<br/> Type: `string`
|
||||
Nom: WebviewBrowserPath<br/> Type: `string`
|
||||
|
||||
#### Theme
|
||||
|
||||
Minimum Windows Version: Windows 10 2004/20H1
|
||||
Version minimale de Windows : Windows 10 2004/20H1
|
||||
|
||||
This defines the theme that the application should use:
|
||||
Ceci définit le thème que l'application doit utiliser :
|
||||
|
||||
| Value | Description |
|
||||
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| SystemDefault | _Default_. The theme will be based on the system default. If the user changes their theme, the application will update to use the new setting |
|
||||
| Dark | The application will use a dark theme exclusively |
|
||||
| Light | The application will use a light theme exclusively |
|
||||
| Valeur | Description |
|
||||
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| SystemDefault | _Default_. Le thème sera basé sur la valeur par défaut du système. Si l'utilisateur change de thème, l'application se mettra à jour pour utiliser le nouveau paramètre |
|
||||
| Dark | L'application utilisera uniquement un thème sombre |
|
||||
| Light | L'application utilisera uniquement un thème clair |
|
||||
|
||||
Name: Theme<br/> Type: `windows.Theme`
|
||||
Nom: Theme<br/> Type: `windows.Theme`
|
||||
|
||||
#### CustomTheme
|
||||
|
||||
:::note
|
||||
|
||||
Minimum Windows Version: Windows 10/11 2009/21H2 Build 22000
|
||||
Version minimale de Windows : Windows 10/11 2009/21H2 Build 22000
|
||||
|
||||
:::
|
||||
|
||||
Allows you to specify custom colours for TitleBar, TitleText and Border for both light and dark mode, as well as when the window is active or inactive.
|
||||
Vous permet de spécifier des couleurs personnalisées pour la barre de titre, le texte de titre et la bordure pour le mode clair et foncé. ainsi que lorsque la fenêtre est active ou inactive.
|
||||
|
||||
Name: CustomTheme<br/> Type: `windows.CustomTheme`
|
||||
Nom: CustomTheme<br/> Type: `windows.CustomTheme`
|
||||
|
||||
##### CustomTheme type
|
||||
##### Type CustomTheme
|
||||
|
||||
The CustomTheme struct uses `int32` to specify the colour values. These are in the standard(!) Windows format of: `0x00BBGGAA`. A helper function is provided to do RGB conversions into this format: `windows.RGB(r,g,b uint8)`.
|
||||
Le struct CustomTheme utilise `int32` pour spécifier les valeurs de couleurs. Celles-ci sont au format standard(!) Windows soit : `0x00BBGGAA`. Une fonction d'aide est fournie pour effectuer les conversions de RGB dans ce format : `windows.RGB(r,g,b uint8)`.
|
||||
|
||||
NOTE: Any value not provided will default to black.
|
||||
NOTE : Toute valeur non fournie sera par défaut noire.
|
||||
|
||||
```go
|
||||
type ThemeSettings struct {
|
||||
|
|
@ -495,7 +504,7 @@ type ThemeSettings struct {
|
|||
}
|
||||
```
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
|
||||
```go
|
||||
CustomTheme: &windows.ThemeSettings{
|
||||
|
|
@ -518,45 +527,51 @@ Example:
|
|||
|
||||
#### Messages
|
||||
|
||||
A struct of strings used by the webview2 installer if a valid webview2 runtime is not found.
|
||||
Un struct de chaînes utilisées par l'installateur webview2 si un runtime webview2 valide n'est pas trouvé.
|
||||
|
||||
Name: Messages<br/> Type: `*windows.Messages`
|
||||
Nom: Messages<br/> Type: `*windows.Messages`
|
||||
|
||||
Customise this for any language you choose to support.
|
||||
Personnalisez ceci pour n'importe quelle langue que vous choisissez de supporter.
|
||||
|
||||
#### ResizeDebounceMS
|
||||
|
||||
ResizeDebounceMS is the amount of time to debounce redraws of webview2 when resizing the window. The default value (0) will perform redraws as fast as it can.
|
||||
ResizeDebounceMS est le temps entre deux réajustements du contenu de la fenêtre lors du redimensionnement de la fenêtre. La valeur par défaut (0) effectuera des réajustements aussi vite qu'il le peut.
|
||||
|
||||
Name: ResizeDebounceMS<br/> Type: `uint16`
|
||||
Nom: ResizeDebounceMS<br/> Type: `uint16`
|
||||
|
||||
#### OnSuspend
|
||||
|
||||
If set, this function will be called when Windows initiates a switch to low power mode (suspend/hibernate)
|
||||
Si défini, cette fonction sera appelée lorsque Windows passera en mode économie d'énergie
|
||||
|
||||
Name: OnSuspend<br/> Type: `func()`
|
||||
Nom: OnSuspend<br/> Type: `func()`
|
||||
|
||||
#### OnResume
|
||||
|
||||
If set, this function will be called when Windows resumes from low power mode (suspend/hibernate)
|
||||
Si défini, cette fonction sera appelée lorsque Windows sortira du mode économie d'énergie
|
||||
|
||||
Name: OnResume<br/> Type: `func()`
|
||||
Nom: OnResume<br/> Type: `func()`
|
||||
|
||||
#### WebviewGpuIsDisabled
|
||||
|
||||
Setting this to `true` will disable GPU hardware acceleration for the webview.
|
||||
|
||||
Name: WebviewGpuIsDisabled<br/> Type: `bool`
|
||||
|
||||
### Mac
|
||||
|
||||
This defines [Mac specific options](#mac).
|
||||
Ceci définit [les options spécifiques à Mac](#mac).
|
||||
|
||||
Name: Mac<br/> Type: `*mac.Options`
|
||||
Nom: Mac<br/> Type: `*mac.Options`
|
||||
|
||||
#### TitleBar
|
||||
|
||||
The TitleBar struct provides the ability to configure the look and feel of the title bar.
|
||||
La structure TitleBar permet de configurer l'apparence de la barre de titre.
|
||||
|
||||
Name: TitleBar<br/> Type: [`*mac.TitleBar`](#titlebar-struct)
|
||||
Nom: TitleBar<br/> Type: [`*mac.TitleBar`](#titlebar-struct)
|
||||
|
||||
##### Titlebar struct
|
||||
##### Struct de la Titlebar
|
||||
|
||||
The titlebar of the application can be customised by using the TitleBar options:
|
||||
La barre de titre de l'application peut être personnalisée en utilisant les options suivantes de TitleBar :
|
||||
|
||||
```go
|
||||
type TitleBar struct {
|
||||
|
|
@ -569,24 +584,24 @@ type TitleBar struct {
|
|||
}
|
||||
```
|
||||
|
||||
| Name | Description |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| TitlebarAppearsTransparent | Makes the titlebar transparent. This has the effect of hiding the titlebar and the content fill the window. [Apple Docs](https://developer.apple.com/documentation/appkit/nswindow/1419167-titlebarappearstransparent?language=objc) |
|
||||
| HideTitle | Hides the title of the window. [Apple Docs](https://developer.apple.com/documentation/appkit/nswindowtitlevisibility?language=objc) |
|
||||
| HideTitleBar | Removes [NSWindowStyleMaskTitled](https://developer.apple.com/documentation/appkit/nswindowstylemask/nswindowstylemasktitled/) from the style mask |
|
||||
| FullSizeContent | Makes the webview fill the entire window. [Apple Docs](https://developer.apple.com/documentation/appkit/nswindowstylemask/nswindowstylemaskfullsizecontentview) |
|
||||
| UseToolbar | Adds a default toolbar to the window. [Apple Docs](https://developer.apple.com/documentation/appkit/nstoolbar?language=objc) |
|
||||
| HideToolbarSeparator | Removes the line beneath the toolbar. [Apple Docs](https://developer.apple.com/documentation/appkit/nstoolbar/1516954-showsbaselineseparator?language=objc) |
|
||||
| Nom | Description |
|
||||
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| TitlebarAppearsTransparent | Rend la barre de titre transparente. Cela a pour effet de masquer la barre de titre et le contenu remplit la fenêtre. [Apple Docs](https://developer.apple.com/documentation/appkit/nswindow/1419167-titlebarappearstransparent?language=objc) |
|
||||
| HideTitle | Masque le titre de la fenêtre. [Apple Docs](https://developer.apple.com/documentation/appkit/nswindowtitlevisibility?language=objc) |
|
||||
| HideTitleBar | Supprime [NSWindowStyleMaskTitled](https://developer.apple.com/documentation/appkit/nswindowstylemask/nswindowstylemasktitled/) du style |
|
||||
| FullSizeContent | Fait que la webview remplisse toute la fenêtre. [Apple Docs](https://developer.apple.com/documentation/appkit/nswindowstylemask/nswindowstylemaskfullsizecontentview) |
|
||||
| UseToolbar | Ajoute une barre d'outils par défaut à la fenêtre. [Apple Docs](https://developer.apple.com/documentation/appkit/nstoolbar?language=objc) |
|
||||
| HideToolbarSeparator | Supprime la ligne située sous la barre d'outils. [Apple Docs](https://developer.apple.com/documentation/appkit/nstoolbar/1516954-showsbaselineseparator?language=objc) |
|
||||
|
||||
Preconfigured titlebar settings are available:
|
||||
Des paramètres préconfigurés sont disponibles :
|
||||
|
||||
| Setting | Example |
|
||||
| Configuration | Exemple |
|
||||
| --------------------------- | ---------------------------------------------- |
|
||||
| `mac.TitleBarDefault()` |  |
|
||||
| `mac.TitleBarHidden()` |  |
|
||||
| `mac.TitleBarHiddenInset()` |  |
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
|
||||
```go
|
||||
Mac: &mac.Options{
|
||||
|
|
@ -594,30 +609,30 @@ Mac: &mac.Options{
|
|||
}
|
||||
```
|
||||
|
||||
Click [here](https://github.com/lukakerr/NSWindowStyles) for some inspiration on customising the titlebar.
|
||||
Cliquez sur [ici](https://github.com/lukakerr/NSWindowStyles) si vous voulez de l'inspiration sur la personnalisation de la barre de titre.
|
||||
|
||||
#### Appearance
|
||||
|
||||
Appearance is used to set the style of your app in accordance with Apple's [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) names.
|
||||
L'apparence est utilisée pour définir le style de votre application en accord avec les noms [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) d'Apple.
|
||||
|
||||
Name: Appearance<br/> Type: [`mac.AppearanceType`](#appearance-type)
|
||||
Nom: Appearance<br/> Type: [`mac.AppearanceType`](#appearance-type)
|
||||
|
||||
##### Appearance type
|
||||
##### Type d'Appearance
|
||||
|
||||
You can specify the application's [appearance](https://developer.apple.com/documentation/appkit/nsappearance?language=objc).
|
||||
Vous pouvez spécifier l'apparence [de l'application](https://developer.apple.com/documentation/appkit/nsappearance?language=objc).
|
||||
|
||||
| Value | Description |
|
||||
| ----------------------------------------------------- | --------------------------------------------------------------- |
|
||||
| DefaultAppearance | DefaultAppearance uses the default system value |
|
||||
| NSAppearanceNameAqua | The standard light system appearance |
|
||||
| NSAppearanceNameDarkAqua | The standard dark system appearance |
|
||||
| NSAppearanceNameVibrantLight | The light vibrant appearance |
|
||||
| NSAppearanceNameAccessibilityHighContrastAqua | A high-contrast version of the standard light system appearance |
|
||||
| NSAppearanceNameAccessibilityHighContrastDarkAqua | A high-contrast version of the standard dark system appearance |
|
||||
| NSAppearanceNameAccessibilityHighContrastVibrantLight | A high-contrast version of the light vibrant appearance |
|
||||
| NSAppearanceNameAccessibilityHighContrastVibrantDark | A high-contrast version of the dark vibrant appearance |
|
||||
| Valeur | Description |
|
||||
| ----------------------------------------------------- | ------------------------------------------------------------------- |
|
||||
| DefaultAppearance | DefaultAppararance utilise la valeur système par défaut |
|
||||
| NSAppearanceNameAqua | Utilise l'apparence thème clair standard |
|
||||
| NSAppearanceNameDarkAqua | Utilise l'apparence thème sombre standard |
|
||||
| NSAppearanceNameVibrantLight | Utilise une apparence avec une lumière vibrante |
|
||||
| NSAppearanceNameAccessibilityHighContrastAqua | Utilise l'apparence thème clair standard avec un constrate élevé |
|
||||
| NSAppearanceNameAccessibilityHighContrastDarkAqua | Utilise l'apparence thème sombre standard avec un contraste élevé |
|
||||
| NSAppearanceNameAccessibilityHighContrastVibrantLight | Utilise l'apparence lumière vibrante avec un constrate élevé |
|
||||
| NSAppearanceNameAccessibilityHighContrastVibrantDark | Utilise l'apparence du thème sombre vibrant avec un constrate élevé |
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
|
||||
```go
|
||||
Mac: &mac.Options{
|
||||
|
|
@ -627,23 +642,23 @@ Mac: &mac.Options{
|
|||
|
||||
#### WebviewIsTransparent
|
||||
|
||||
Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications.
|
||||
Mettre ceci à `true` rendra l'arrière-plan du webview transparent quand une valeur alpha de `0` est utilisée. Cela signifie que si vous utilisez `rgba(0,0,0,0)` pour `la couleur d'arrière-plan` dans votre CSS, la fenêtre d'hôte sera affichée. Souvent combiné avec [WindowIsTranslucent](#WindowIsTranslucent) pour faire des applications d'apparence de givre.
|
||||
|
||||
Name: WebviewIsTransparent<br/> Type: `bool`
|
||||
Nom : WebviewIsTransparent<br/> Type : `bool`
|
||||
|
||||
#### WindowIsTranslucent
|
||||
|
||||
Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications.
|
||||
Définir ceci à `true` rendra l'arrière-plan de la fenêtre translucide. Souvent combiné avec [WebviewIsTransparent](#WebviewIsTransparent) pour donner un aspect givré à la fenêtre.
|
||||
|
||||
Name: WindowIsTranslucent<br/> Type: `bool`
|
||||
Nom: WindowIsTranslucent<br/> Type: `bool`
|
||||
|
||||
#### About
|
||||
|
||||
This configuration lets you set the title, message and icon for the "About" menu item in the app menu created by the "AppMenu" role.
|
||||
Cette configuration vous permet de définir le titre, le message et l'icône pour l'élément de menu "À propos" dans le menu de l'application créé par le rôle "AppMenu".
|
||||
|
||||
Name: About<br/> Type: [`*mac.AboutInfo`](#about-struct)
|
||||
Nom: About<br/> Type: [`*mac.AboutInfo`](#about-struct)
|
||||
|
||||
##### About struct
|
||||
##### Struct de About
|
||||
|
||||
```go
|
||||
|
||||
|
|
@ -654,7 +669,7 @@ type AboutInfo struct {
|
|||
}
|
||||
```
|
||||
|
||||
If these settings are provided, an "About" menu item will appear in the app menu (when using the `AppMenu` role). Given this configuration:
|
||||
Si ces paramètres sont fournis, un lien de menu "À propos" apparaîtra dans le menu de l'application (lors de l'utilisation du rôle `AppMenu`). Exemple:
|
||||
|
||||
```go
|
||||
//go:embed build/appicon.png
|
||||
|
|
@ -673,7 +688,7 @@ func main() {
|
|||
})
|
||||
```
|
||||
|
||||
The "About" menu item will appear in the app menu:
|
||||
L'élément de menu "À propos" apparaîtra dans le menu de l'application:
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -685,7 +700,7 @@ The "About" menu item will appear in the app menu:
|
|||
<br />
|
||||
```
|
||||
|
||||
When clicked, that will open an about message box:
|
||||
Lorsqu'il est cliqué, cela ouvrira la boîte de message "à propos" :
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -700,38 +715,52 @@ When clicked, that will open an about message box:
|
|||
|
||||
### Linux
|
||||
|
||||
This defines [Linux specific options](#linux).
|
||||
Ceci définit [les options spécifiques à Linux](#linux).
|
||||
|
||||
Name: Linux<br/> Type: `*linux.Options`
|
||||
Nom: Linux<br/> Type: `*linux.Options`
|
||||
|
||||
#### Icon
|
||||
|
||||
Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified).
|
||||
Définit l'icône représentant la fenêtre. Cette icône est utilisée lorsque la fenêtre est réduite (aussi appelée iconified).
|
||||
|
||||
Name: Icon<br/> Type: `[]byte`
|
||||
Nom: Icon<br/> Type: `[]byte`
|
||||
|
||||
Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary.
|
||||
Certains gestionnaires de fenêtres ou environnements de bureau peuvent également le placer dans le cadre de la fenêtre, ou l'afficher dans d'autres contextes. Sur d'autres, l'icône n'est pas du tout utilisée, donc son utilisation peut varier.
|
||||
|
||||
NOTE: Gnome on Wayland at least does not display this icon. To have a application icon there, a `.desktop` file has to be used. On KDE it should work.
|
||||
NOTE : Gnome sur Wayland n'affiche pas cette icône. Pour y avoir une icône d'application, un fichier `.desktop` doit être utilisé. Sous KDE, cela devrait fonctionner.
|
||||
|
||||
The icon should be provided in whatever size it was naturally drawn; that is, don’t scale the image before passing it. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
|
||||
L’icône doit être fournie dans la taille qu’elle a été dessinée naturellement, c’est-à-dire ne pas redimensionner l’image avant de la passer. La mise à l'échelle est reportée à la dernière minute, lorsque la taille finale désirée est connue, pour permettre une meilleure qualité.
|
||||
|
||||
#### WindowIsTranslucent
|
||||
|
||||
Setting this to `true` will make the window background translucent. Some window managers may ignore it, or result in a black window.
|
||||
Définir ceci à `true` rendra l'arrière-plan de la fenêtre translucide. Certains gestionnaires de fenêtres peuvent l'ignorer, ou résulter en une fenêtre noire.
|
||||
|
||||
Name: WindowIsTranslucent<br/> Type: `bool`
|
||||
Nom: WindowIsTranslucent<br/> Type: `bool`
|
||||
|
||||
#### WebviewGpuPolicy
|
||||
|
||||
This option is used for determining the webview's hardware acceleration policy.
|
||||
|
||||
Name: WebviewGpuPolicy<br/> Type: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type)<br/> Default: `WebviewGpuPolicyAlways`
|
||||
|
||||
##### WebviewGpuPolicy type
|
||||
|
||||
| Valeur | Description |
|
||||
| ------------------------ | -------------------------------------------------------------------- |
|
||||
| WebviewGpuPolicyAlways | Hardware acceleration is always enabled |
|
||||
| WebviewGpuPolicyOnDemand | Hardware acceleration is enabled/disabled as request by web contents |
|
||||
| WebviewGpuPolicyNever | Hardware acceleration is always disabled |
|
||||
|
||||
### Debug
|
||||
|
||||
This defines [Debug specific options](#Debug) that apply to debug builds.
|
||||
Ceci définit [les options spécifiques au débogage](#Debug) qui s'appliquent aux compilations de débogage.
|
||||
|
||||
Name: Debug<br/> Type: `options.Debug`
|
||||
Nom: Debug<br/> Type: `options.Debug`
|
||||
|
||||
#### OpenInspectorOnStartup
|
||||
|
||||
Setting this to `true` will open the WebInspector on startup of the application.
|
||||
Définir cette option à `true` ouvrira l'inspecteur Web au démarrage de l'application.
|
||||
|
||||
Name: OpenInspectorOnStartup<br/> Type: `bool`
|
||||
Nom: OpenInspectorOnStartup<br/> Type: `bool`
|
||||
|
||||
[^1]: This requires WebKit2GTK 2.36+ support and your app needs to be build with the build tag `webkit2_36` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app.
|
||||
[^1]: Cela nécessite la prise en charge de WebKit2GTK 2.36+ et votre application doit être construite avec la balise de compilation `webkit2_36` pour activer le support de cette fonctionnalité. Cela augmente aussi la version minnimale de WebKit2GTK à 2.36 pour votre application.
|
||||
|
|
|
|||
|
|
@ -28,30 +28,30 @@ La configuration du projet se trouve dans le fichier `wails.json` du répertoire
|
|||
"appargs": "[Arguments passés à l'application en mode shell lors du mode dev]",
|
||||
"runNonNativeBuildHooks": false, // Définit si les évènements de compilation doivent être exécutés même s'ils sont définis pour un système d'exploitation autre que le système d'exploitation hôte.
|
||||
"preBuildHooks": {
|
||||
"GOOS/GOARCH": "[La commande qui sera exécutée avant une compilation du GOOS/GOARCH: ${platform} est remplacée par le "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
|
||||
"GOOS/*": "[The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.]",
|
||||
"*/*": "[The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".]"
|
||||
"GOOS/GOARCH": "[La commande qui sera exécutée avant une compilation du GOOS/GOARCH: ${platform} est remplacée par le "GOOS/GOARCH". Le crochet "GOOS/GOARCH" est exécuté avant les crochets "GOOS/*" et"*/*" .]",
|
||||
"GOOS/*": "[Cette commande sera exécutée avant la construction du GOOS spécifié: ${platform} est remplacé avec "GOOS/GOARCH". Le crochet "GOOS/*" est exécuté avant le crochet "*/*".]",
|
||||
"*/*": "[La commande sera exécutée avant tout autre chose lors de la construction: ${platform} est remplacé avec "GOOS/GOARCH".]"
|
||||
},
|
||||
"postBuildHooks": {
|
||||
"GOOS/GOARCH": "[The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
|
||||
"GOOS/*": "[The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.]",
|
||||
"*/*": "[The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.]"
|
||||
"GOOS/GOARCH": "[La command sera exécutée après une construction du GOOS/GOARCH spécifié: ${platform} est remplacé par "GOOS/GOARCH" et ${bin} avec le chemin vers le binaire compilé. Le crochet "GOOS/GOARCH" est exécuté avant les crochets "GOOS/*" et "*/*".]",
|
||||
"GOOS/*": "[La commande sera exécutée après une construction du GOOS spécifié: ${platform} est remplacé par "GOOS/GOARCH" et ${bin} avec le chemin vers le binaire compilé. Le crochet "GOOS/*" est exécuté avant le crochet "*/*".]",
|
||||
"*/*": "[La commande sera exécutée après chaque construction: ${platform} est remplacé par "GOOS/GOARCH" et ${bin} avec le chemin vers le binaire compilé.]"
|
||||
},
|
||||
"info": { // Data used to populate manifests and version info.
|
||||
"companyName": "[The company name. Default: [The project name]]",
|
||||
"productName": "[The product name. Default: [The project name]]",
|
||||
"productVersion": "[The version of the product. Default: '1.0.0']",
|
||||
"copyright": "[The copyright of the product. Default: 'Copyright.........']",
|
||||
"comments": "[A short comment of the app. Default: 'Built using Wails (https://wails.app)']"
|
||||
"info": { // Data utilisée pour remplir le manifests et version info.
|
||||
"companyName": "[Le nom de la société. Par défaut: [Le nom du projet]]",
|
||||
"productName": "[Le nom du produit. Par défaut: [Le nom du projet]]",
|
||||
"productVersion": "[La version du produit. Par défaut: '1.0.0']",
|
||||
"copyright": "[Le copyright du produit. Par défaut: 'Copyright.........']",
|
||||
"comments": "[Un bref commentaire de l'application. Par défaut: 'Built using Wails (https://wails.app)']"
|
||||
},
|
||||
"nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']",
|
||||
"obfuscated": "[Whether the app should be obfuscated. Default: false]",
|
||||
"garbleargs": "[The arguments to pass to the garble command when using the obfuscated flag]"
|
||||
"nsisType": "['multiple': Un installateur par architecture. 'single' : un seul installateur universel pour toutes les architectures en cours de construction. Par défaut: 'multiple']",
|
||||
"obfuscated": "[Si l'application doit être masquée. Par défaut: false]",
|
||||
"garbleargs": "[Les arguments à passer à la commande garble lors de l'utilisation de l'option obfuscated ]"
|
||||
}
|
||||
```
|
||||
|
||||
This file is read by the Wails CLI when running `wails build` or `wails dev`.
|
||||
Ce fichier est lu par le CLI Wails lorsque vous exécutez `wails build` ou `wails dev`.
|
||||
|
||||
The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config and thus become defaults for subsequent runs.
|
||||
Les options `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` dans `wails build/dev` vont mettre à jour les configs du projet qui deviendront les configurations par défaut pour les éxécutions suivantes.
|
||||
|
||||
The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
|
||||
Le schéma JSON pour ce fichier se trouve [ici](https://wails.io/schemas/config.v2.json).
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
# Clipboard
|
||||
|
||||
This part of the runtime provides access to the operating system's clipboard.<br/> The current implementation only handles text.
|
||||
|
||||
### ClipboardGetText
|
||||
|
||||
This method reads the currently stored text from the clipboard.
|
||||
|
||||
Go: `ClipboardGetText(ctx context.Context) (string, error)`<br/> Returns: a string (if the clipboard is empty an empty string will be returned) or an error.
|
||||
|
||||
JS: `ClipboardGetText(): Promise<string>`<br/> Returns: a promise with a string result (if the clipboard is empty an empty string will be returned).
|
||||
|
||||
### ClipboardSetText
|
||||
|
||||
This method writes a text to the clipboard.
|
||||
|
||||
Go: `ClipboardSetText(ctx context.Context, text string) error`<br/> Returns: an error if there is any.
|
||||
|
||||
JS: `ClipboardSetText(text: string): Promise<boolean>`<br/> Returns: a promise with true result if the text was successfully set on the clipboard, false otherwise.
|
||||
|
|
@ -128,11 +128,11 @@ type MessageDialogOptions struct {
|
|||
|
||||
#### Windows
|
||||
|
||||
Windows has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue".
|
||||
Windows a des boites de dialogue standard dans lesquels les boutons ne sont pas personnalisables. La valeur retournée sera une des valeurs suivantes : "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" ou "Continue".
|
||||
|
||||
For Question dialogs, the default button is "Yes" and the cancel button is "No". This can be changed by setting the `DefaultButton` value to `"No"`.
|
||||
Pour les boites de dialogues pour les questions, le bouton par défaut est "Oui" et le bouton d'annulation est "Non". Cela peut être modifié en définissant la valeur `DefaultButton` à `"No"`.
|
||||
|
||||
Example:
|
||||
Exemple:
|
||||
```go
|
||||
result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
|
||||
Type: runtime.QuestionDialog,
|
||||
|
|
@ -144,23 +144,23 @@ Example:
|
|||
|
||||
#### Linux
|
||||
|
||||
Linux has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Yes", "No"
|
||||
Linux a des boites de dialogue standard dans lesquels les boutons ne sont pas personnalisables. La valeur retournée sera de :"Ok", "Cancel", "Yes", "No"
|
||||
|
||||
#### Mac
|
||||
|
||||
A message dialog on Mac may specify up to 4 buttons. If no `DefaultButton` or `CancelButton` is given, the first button is considered default and is bound to the `return` key.
|
||||
Une boîte de dialogue sur Mac peut avoir jusqu'à 4 boutons. Si aucun `DefaultButton` ou `CancelButton` n'est donné, le premier bouton est considéré comme par défaut et est lié à la touche `entrée`.
|
||||
|
||||
For the following code:
|
||||
Pour le code suivant :
|
||||
|
||||
```go
|
||||
selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
|
||||
Title: "It's your turn!",
|
||||
Message: "Select a number",
|
||||
Buttons: []string{"one", "two", "three", "four"},
|
||||
Title: "C'est ton tour",
|
||||
Message: "Choisi un nombre",
|
||||
Buttons: []string{"un", "deux", "trois", "quatre"},
|
||||
})
|
||||
```
|
||||
|
||||
the first button is shown as default:
|
||||
le premier bouton est affiché comme étant celui par défaut :
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -173,7 +173,7 @@ the first button is shown as default:
|
|||
<br />
|
||||
```
|
||||
|
||||
And if we specify `DefaultButton` to be "two":
|
||||
Et si nous spécifions que le `DefaultButton` est "deux":
|
||||
|
||||
```go
|
||||
selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
|
||||
|
|
@ -184,7 +184,7 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
|
|||
})
|
||||
```
|
||||
|
||||
the second button is shown as default. When `return` is pressed, the value "two" is returned.
|
||||
le deuxième bouton est affiché comme étant la réponse par défaut. Lorsque la touche `entrée` est appuyée, la valeur "deux" est retournée.
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -197,7 +197,7 @@ the second button is shown as default. When `return` is pressed, the value "two"
|
|||
<br />
|
||||
```
|
||||
|
||||
If we now specify `CancelButton` to be "three":
|
||||
Si nous spécifions maintenant `CancelButton` à "trois":
|
||||
|
||||
```go
|
||||
selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
|
||||
|
|
@ -209,7 +209,7 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
|
|||
})
|
||||
```
|
||||
|
||||
the button with "three" is shown at the bottom of the dialog. When `escape` is pressed, the value "three" is returned:
|
||||
le bouton avec "trois" est affiché en bas de la boîte de dialogue. Si la touche `echap` est appuyée, la valeur "trois" est retournée:
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -246,7 +246,7 @@ type FileFilter struct {
|
|||
|
||||
#### Windows
|
||||
|
||||
Windows allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
|
||||
Windows vous permet d'utiliser plusieurs filtres de fichiers dans les boîtes de dialogue. Chaque FileFilter s'affichera comme une entrée séparée dans la boîte de dialogue :
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -263,7 +263,7 @@ Windows allows you to use multiple file filters in dialog boxes. Each FileFilter
|
|||
|
||||
#### Linux
|
||||
|
||||
Linux allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
|
||||
Linux vous permet d'utiliser plusieurs filtres de fichiers dans les boîtes de dialogue. Chaque FileFilter s'affichera comme une entrée séparée dans la boîte de dialogue :
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -280,7 +280,7 @@ Linux allows you to use multiple file filters in dialog boxes. Each FileFilter w
|
|||
|
||||
#### Mac
|
||||
|
||||
Mac dialogs only have the concept of a single set of patterns to filter files. If multiple FileFilters are provided, Wails will use all the Patterns defined.
|
||||
Les dialogues Mac n'ont qu'un ensemble unique de motifs pour filtrer les fichiers. Si plusieurs filtres de fichiers sont fournis, Wails utilisera tous les modèles définis.
|
||||
|
||||
Exemple:
|
||||
|
||||
|
|
@ -299,4 +299,4 @@ Exemple:
|
|||
})
|
||||
```
|
||||
|
||||
This will result in the Open File dialog using `*.png,*.jpg,*.mov,*.mp4` as a filter.
|
||||
Cela se traduira par l'ouverture de la boîte de dialogue "Ouvrir un fichier" en utilisant `*.png,*.jpg,*.mov,*.mp4` comme filtres.
|
||||
|
|
|
|||
|
|
@ -2,36 +2,36 @@
|
|||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Events
|
||||
# Événements
|
||||
|
||||
The Wails runtime provides a unified events system, where events can be emitted or received by either Go or JavaScript. Optionally, data may be passed with the events. Listeners will receive the data in the local data types.
|
||||
Le runtime Wails fournit un système d'événements unifiés, où les événements peuvent être émis ou reçus par Go ou JavaScript. En option, des données peuvent être transmises avec les événements. Les écouteurs vont recevoir les données dans les types de donnée du langage correspondant.
|
||||
|
||||
### EventsOn
|
||||
|
||||
This method sets up a listener for the given event name. When an event of type `eventName` is [emitted](#EventsEmit), the callback is triggered. Any additional data sent with the emitted event will be passed to the callback. It returns a function to cancel the listener.
|
||||
Cette méthode définit un listener pour le nom d'événement donné. Lorsqu'un événement de type `eventName` est [émis](#EventsEmit), la méthode définie en callback est déclenchée. Toutes les données supplémentaires envoyées avec l'événement émis seront passées en paramètre à la méthode définie en callback. Il renvoie une fonction pour annuler l'écouteur.
|
||||
|
||||
Go: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()`<br/> JS: `EventsOn(eventName string, callback function(optionalData?: any)): () => void`
|
||||
|
||||
### EventsOff
|
||||
|
||||
This method unregisters the listener for the given event name, optionally multiple listeneres can be unregistered via `additionalEventNames`.
|
||||
Cette méthode désactive l'évènement correspondant au nom donné, éventuellement plusieurs évènements peuvent être désinscrits via `additionalEventNames`.
|
||||
|
||||
Go: `EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)`<br/> JS: `EventsOff(eventName string, ...additionalEventNames)`
|
||||
|
||||
### EventsOnce
|
||||
|
||||
This method sets up a listener for the given event name, but will only trigger once. It returns a function to cancel the listener.
|
||||
Cette méthode définit un évènement pour le nom donné, mais ne se déclenchera qu'une seule fois. Il renvoie une fonction pour annuler l'évènement.
|
||||
|
||||
Go: `EventsOnce(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()`<br/> JS: `EventsOnce(eventName string, callback function(optionalData?: any)): () => void`
|
||||
|
||||
### EventsOnMultiple
|
||||
|
||||
This method sets up a listener for the given event name, but will only trigger a maximum of `counter` times. It returns a function to cancel the listener.
|
||||
Cette méthode définit un évènement pour le nom donné, mais ne se déclenchera au maximum qu'un certain nombre de fois, définit avec le paramètre `counter`. Il renvoie une fonction pour annuler l'écouteur.
|
||||
|
||||
Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optionalData ...interface{}), counter int) func()`<br/> JS: `EventsOnMultiple(eventName string, callback function(optionalData?: any), counter int): () => void`
|
||||
|
||||
### EventsEmit
|
||||
|
||||
This method emits the given event. Optional data may be passed with the event. This will trigger any event listeners.
|
||||
Cette méthode émet l'événement donné. En option, des données peuvent être transmises avec l'événement. Cela déclenchera tous les événements.
|
||||
|
||||
Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})`<br/> JS: `EventsEmit(ctx context, optionalData function(optionalData?: any))`
|
||||
Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})`<br/> JS: `EventsEmit(eventName: string, ...optionalData: any)`
|
||||
|
|
|
|||
|
|
@ -4,26 +4,27 @@ sidebar_position: 1
|
|||
|
||||
# Introduction
|
||||
|
||||
The runtime is a library that provides utility methods for your application. There is both a Go and JavaScript runtime and the aim is to try and keep them at parity where possible.
|
||||
Le runtime est une bibliothèque qui fournit des méthodes utilitaires pour votre application. Il y a à la fois un runtime Go et JavaScript et le but est d'essayer de les maintenir à parité dans la mesure du possible.
|
||||
|
||||
It has utility methods for:
|
||||
Il a des méthodes utilitaires pour :
|
||||
|
||||
- [Window](window.mdx)
|
||||
- [Fenêtre](window.mdx)
|
||||
- [Menu](menu.mdx)
|
||||
- [Boîte de dialogue](dialog.mdx)
|
||||
- [Événements](events.mdx)
|
||||
- [Browser](browser.mdx)
|
||||
- [Navigateur](browser.mdx)
|
||||
- [Log](log.mdx)
|
||||
- [Clipboard](clipboard.mdx)
|
||||
|
||||
The Go Runtime is available through importing `github.com/wailsapp/wails/v2/pkg/runtime`. All methods in this package take a context as the first parameter. This context should be obtained from the [OnStartup](../options.mdx#onstartup) or [OnDomReady](../options.mdx#ondomready) hooks.
|
||||
Le Go Runtime est disponible en important `github.com/wailsapp/wails/v2/pkg/runtime`. Toutes les méthodes de ce paquet prennent un contexte comme premier paramètre. Ce contexte doit être obtenu à partir des méthodes [OnStartup](../options.mdx#onstartup) ou [OnDomReady](../options.mdx#ondomready).
|
||||
|
||||
:::info Note
|
||||
|
||||
Whilst the context will be provided to the [OnStartup](../options.mdx#onstartup) method, there's no guarantee the runtime will work in this method as the window is initialising in a different thread. If you wish to call runtime methods at startup, use [OnDomReady](../options.mdx#ondomready).
|
||||
Alors que le contexte sera fourni à la méthode [OnStartup](../options.mdx#onstartup) , il n'y a aucune garantie que l'exécution fonctionnera dans cette méthode car la fenêtre s'initialise dans un autre thread. Si vous souhaitez appeler des méthodes d'exécution au démarrage, utilisez [OnDomReady](../options.mdx#ondomready).
|
||||
|
||||
:::
|
||||
|
||||
The JavaScript library is available to the frontend via the `window.runtime` map. There is a runtime package generated when using `dev` mode that provides TypeScript declarations for the runtime. This should be located in the `wailsjs` directory in your frontend directory.
|
||||
La bibliothèque JavaScript est disponible sur le frontend via la carte `window.runtime`. Il y a un package d'exécution généré lors de l'utilisation du mode `dev` qui fournit des déclarations TypeScript pour l'exécution. Ceci devrait être situé dans le répertoire `wailsjs` dans votre répertoire frontend.
|
||||
|
||||
### Cacher
|
||||
|
||||
|
|
@ -33,7 +34,7 @@ Cache l'application.
|
|||
|
||||
:::info Note
|
||||
|
||||
On Mac, this will hide the application in the same way as the `Hide` menu item in standard Mac applications. This is different to hiding the window, but the application still being in the foreground. For Windows and Linux, this is currently the same as `WindowHide`.
|
||||
Sur Mac, cela masquera l'application de la même manière que le bouton `Masquer` du menu des applications Mac standard. C'est une manière différente de cacher l'application, mais elle sera toujours au premier plan. Pour Windows et Linux, c'est actuellement la même chose que `WindowHide`.
|
||||
|
||||
:::
|
||||
|
||||
|
|
@ -43,7 +44,7 @@ Affiche l'application.
|
|||
|
||||
:::info Note
|
||||
|
||||
On Mac, this will bring the application back into the foreground. For Windows and Linux, this is currently the same as `WindowShow`.
|
||||
Sur Mac, cela va ramener l'application au premier plan. Pour Windows et Linux, c'est actuellement la même chose que `WindowShow`.
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ sidebar_position: 3
|
|||
|
||||
# Log
|
||||
|
||||
The Wails runtime provides a logging mechanism that may be called from Go or JavaScript. Comme la plupart des loggers, il y a un certain nombre de niveaux de log :
|
||||
Le runtime Wails fournit un mécanisme de journalisation qui peut être appelé depuis Go ou JavaScript. Comme la plupart des loggers, il y a un certain nombre de niveaux de log :
|
||||
|
||||
- Trace
|
||||
- Debug
|
||||
|
|
@ -101,7 +101,7 @@ Go: `LogFatalf(ctx context.Context, format string, args ...interface{})`<br/>
|
|||
|
||||
### LogSetLogLevel
|
||||
|
||||
Définit le niveau des logs. In JavaScript, the number relates to the following log levels:
|
||||
Définit le niveau des logs. En JavaScript, le nombre se rapporte aux niveaux de log suivants :
|
||||
|
||||
| Valeur | Niveau de log |
|
||||
| ------ | ------------- |
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ Sous Windows, seules les valeurs 0 et 255 sont prises en charge pour A. Toute va
|
|||
|
||||
Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)`<br/> JS: `WindowSetBackgroundColour(R, G, B, A)`
|
||||
|
||||
## TypeScript Object Definitions
|
||||
## Définitions d'objets TypeScript
|
||||
|
||||
### Position
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "v2.0.0",
|
||||
"description": "The label for version v2.0.0"
|
||||
"message": "v2.3.0",
|
||||
"description": "The label for version v2.3.0"
|
||||
},
|
||||
"sidebar.docs.category.Getting Started": {
|
||||
"message": "Premiers pas",
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "v2.1.0",
|
||||
"description": "The label for version v2.1.0"
|
||||
"message": "v2.3.1",
|
||||
"description": "The label for version v2.3.1"
|
||||
},
|
||||
"sidebar.docs.category.Getting Started": {
|
||||
"message": "Premiers pas",
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "v2.2.0",
|
||||
"description": "The label for version v2.2.0"
|
||||
"message": "v2.4.0",
|
||||
"description": "The label for version v2.4.0"
|
||||
},
|
||||
"sidebar.docs.category.Getting Started": {
|
||||
"message": "Premiers pas",
|
||||
|
|
@ -13,23 +13,75 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
## v2.4.0 - 2022-03-08
|
||||
|
||||
### Ajouts
|
||||
- Added Webview GPU acceleration options for [Windows](/docs/reference/options#webviewgpuisdisabled) and [Linux](/docs/reference/options#webviewgpupolicy). Added by @Lyimmi in [PR](https://github.com/wailsapp/wails/pull/2266)
|
||||
- Added `EnableFraudulentWebsiteDetection` option to opt-in to scan services for fraudulent content, such as malware or phishing attempts. Older releases had the scan services per default activated. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2269)
|
||||
- Allow an [AssetServer Middleware](/docs/reference/options#middleware) to specify the `Content-Type` of a file served by the [Assets](/docs/reference/options#assets-1) `fs.FS`. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2286)
|
||||
- The AssetServer now detects more mimetypes by extension, e.g. `.mjs`. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2391)
|
||||
|
||||
### Changements
|
||||
- Improved fullscreen mode for frameless window on Windows. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279), [PR](https://github.com/wailsapp/wails/pull/2288) and [PR](https://github.com/wailsapp/wails/pull/2299)
|
||||
- On Windows unmaximising a window has no effect anymore when the window is in fullscreen mode, this makes it consistent with e.g. macOS. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279)
|
||||
- Frameless resize now sets the cursor on documentElement, otherwise resizing cursor won't be shown outside of the body rectangle. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2289)
|
||||
- Improved the `--wails-draggable` experience to be more reactive. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2302)
|
||||
- NSIS template now installs the shortcuts for all users and not only for the current user. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2373)
|
||||
|
||||
### Corrections
|
||||
- Fixed failing build hooks when `build/bin` was missing. Fixed by @Lyimmi in [PR](https://github.com/wailsapp/wails/pull/2273)
|
||||
- Fixed fullscreen mode for frameless window on Windows to fully cover the taskbar when changing into fullscreen from maximised state. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279)
|
||||
- Fixed set window background colour on Windows when setting the colour via runtime. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279)
|
||||
- Fixed the showing of a white border around a fullscreen window when `DisableWindowIcon` is active on Windows. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2299)
|
||||
- Fixed the sometimes lagging drag experience with `--wails-draggable` on Windows. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2302)
|
||||
- Fixed applying the default arch to platform flag in wails cli. If only a `GOOS` has been supplied as platform flag e.g. `wails build --platform windows` the current architecture wasn't applied and the build failed. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2309)
|
||||
- Fixed a segfault on opening the inspector on older macOS versions. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2397)
|
||||
- Fixed the macos single architecture builds not respecting an output file name specified with the '-o' flag. Fixed by @gwynforthewyn in [PR](https://github.com/wailsapp/wails/pull/2358)
|
||||
- Fixed `undo`/`redo` on macOS. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2430)
|
||||
- Fixed `Events*` runtime functions in JavaScript not returning the function to cancel the watcher. Fixed by @zllovesuki in [PR](https://github.com/wailsapp/wails/pull/2434)
|
||||
- Fixed AppOptions merging defaults when a custom logger is used. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2452)
|
||||
- Fixed race condition and missing unlock of mutex in events handling. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2453)
|
||||
|
||||
## v2.3.0 - 2022-12-29
|
||||
|
||||
### Ajouts
|
||||
- Ajout de l'option `OpenInspectorOnStartup` au débogage pour permettre d'ouvrir le WebInspector au démarrage de l'application en mode débogage . Ajouté par @stffabi : [PR](https://github.com/wailsapp/wails/pull/2080)
|
||||
- Sur MacOS, `wails doctor` affiche à présent la version de Xcode installée. Ajouté par @stffabi : [PR](https://github.com/wailsapp/wails/pull/2089)
|
||||
- L'[AssetServer](/docs/reference/options#assetserver) supporte à présent les range-requests si l' [Assets](/docs/reference/options/#assets-1) `fs.FS` importe `io.ReadSeeker`. Ajouté par @stffabi : [PR](https://github.com/wailsapp/wails/pull/2091)
|
||||
- Ajouter une nouvelle propriété `bindings` dans le fichier de configuration `wails.json`. More information on the new property can be found in the updated [schema](/schemas/config.v2.json). Les propriétés `prefix` et `suffix` vous permettent de contrôler le nom d'entité TypeScript généré dans le fichier `model.ts`. Ajouté par @OlegGulevskyy dans [PR](https://github.com/wailsapp/wails/pull/2101)
|
||||
- Ajouter une nouvelle propriété `bindings` dans le fichier de configuration `wails.json`. Plus d'informations sur la nouvelle propriété peuvent être trouvées dans le [schéma](/schemas/config.v2.json) mis à jour. Les propriétés `prefix` et `suffix` vous permettent de contrôler le nom d'entité TypeScript généré dans le fichier `model.ts`. Ajouté par @OlegGulevskyy dans [PR](https://github.com/wailsapp/wails/pull/2101)
|
||||
- La méthode `WindowSetAlwaysOnTop` est maintenant exposée dans l'exécutable JS. Fixé par @gotid dans la [PR](https://github.com/wailsapp/wails/pull/2128)
|
||||
- The [AssetServer](/docs/reference/options#assetserver) now supports serving the index.html file when requesting a directory. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2110)
|
||||
- Added support for WebKit2GTK 2.36+ on Linux. This brings additional features for the [AssetServer](/docs/reference/options#assetserver), like support for HTTP methods and Headers. The app must be compiled with the Go build tag `webkit2_36` to activate support for this features. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app. Fixed by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2151)
|
||||
- L'[AssetServer](/docs/reference/options#assetserver) prend maintenant en charge le service du fichier index.html lors de la demande d'un répertoire. Ajouté par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2110)
|
||||
- Ajout du support de WebKit2GTK 2.36+ sous Linux. Cela apporte des fonctionnalités supplémentaires pour l' [AssetServer](/docs/reference/options#assetserver), comme le support des méthodes HTTP et des en-têtes. L'application doit être compilée avec la balise Go `webkit2_36` pour activer le support de ces fonctionnalités. Cela repousse également l'exigence minimale de WebKit2GTK à 2.36 pour votre application. Correction par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2151)
|
||||
- Ajout de la prise en charge de la sélection des entrées de fichier sur macOS. Ajouté par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2209)
|
||||
- Ajout du flux de requête/réponse de l'AssetServer sur macOS. Ajouté par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2219)
|
||||
- Added request path checks for the AssetServer. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2235)
|
||||
- Added new App Store guide. Added by @achhabra2 in [PR](https://github.com/wailsapp/wails/pull/2142)
|
||||
- Added extra libwebkit check for dnf package manager (required for latest Fedora). Fixed by @NullCode1337 in this [PR](https://github.com/wailsapp/wails/pull/2218)
|
||||
- Added new `-nomodsync` flag to disable the automatic syncing of the `go.mod` file. Added by @leaanthony in [PR](https://github.com/wailsapp/wails/pull/2215)
|
||||
- Added support for adding prefix and postfix text to generated Typescript classes. Ajouté par @OlegGulevskyy dans [PR](https://github.com/wailsapp/wails/pull/2101)
|
||||
- Added reference to NSIS as optional dependency. Added by @acheong08 in [PR](https://github.com/wailsapp/wails/pull/2070)
|
||||
- Added Korean translation for the website. Added by @cybertramp in [PR](https://github.com/wailsapp/wails/pull/2093)
|
||||
|
||||
### Corrections
|
||||
- Le booléen activant la fonctionnalité `noreload` n'était pas utilisable dans le mode développement de wails. Corrigé par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2081)
|
||||
- `le dossier build/bin` se dupliquait sur chaque rechargement en mode `wails dev`. Corrigé par @OlegGulevskyy dans cette [PR](https://github.com/wailsapp/wails/pull/2103)
|
||||
- Empêcher une fine ligne blanche au bas d'une fenêtre sans cadre sous Windows. Correction par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2111)
|
||||
- Better signal handling for Linux. Fixed by @leaanthony in this [PR](https://github.com/wailsapp/wails/pull/2152)
|
||||
- Meilleure gestion des signaux pour Linux. Corrigé par @leaanthony dans cette [PR](https://github.com/wailsapp/wails/pull/2152)
|
||||
- Running the docs locally was broken due to mandatory crowdin token requirement. Fixed by @OlegGulevskyy in this [PR](https://github.com/wailsapp/wails/pull/2231)
|
||||
- Generated typescript for Go functions that returned a single error was incorrect. Fixed by @ATenderholt in this [PR](https://github.com/wailsapp/wails/pull/2247)
|
||||
- The right mouse event was not being raised correctly for Linux. Fixed by @leaanthony in this [PR](https://github.com/wailsapp/wails/pull/2190)
|
||||
- Remove extra spaces in Wails version when querying `go.mod`. Fixed by @matholt in this [PR](https://github.com/wailsapp/wails/pull/2197)
|
||||
- Fix go tests failure on Mac. Fixed by @avengerweb in this [PR](https://github.com/wailsapp/wails/pull/2187)
|
||||
- Fix go test errors. Fixed by @misitebao & @avengerweb in [these](https://github.com/wailsapp/wails/pull/2169) [PRs](https://github.com/wailsapp/wails/pull/2187)
|
||||
- Added `WindowSetAlwaysOnTop` to the JS runtime. Fixé par @gotid dans la [PR](https://github.com/wailsapp/wails/pull/2128)
|
||||
- Fixed obfuscated flag typo in docs. Fixed by @ckilb in [PR](https://github.com/wailsapp/wails/pull/2102)
|
||||
- Fixed React Hash Router link in docs. Fixed by @marvinhosea in [PR](https://github.com/wailsapp/wails/pull/2050)
|
||||
|
||||
### Changements
|
||||
- Improve error message if no `index.html` could be found in the assets and validate assetserver options. Changed by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2110)
|
||||
- Amélioration du message d'erreur si aucun `index.html` ne peut être trouvé dans les assets et de la validation des options d'assetserver. Changé par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2110)
|
||||
- Promotion de Go WebView2Loader d'expérimental à stable. Cela signifie que maintenant, par défaut, toutes les constructions de Wails utilisent le nouveau chargeur introduit avec `v2.2.0`. L'ancien chargeur reste utilisable avec la balise de compilation `native_webview2loader` pour les prochaines versions. Changé par @stffabi dans cette [PR](https://github.com/wailsapp/wails/pull/2199)
|
||||
- Refactored CLI. Changed by @leaanthony in this [PR](https://github.com/wailsapp/wails/pull/2123)
|
||||
- Remove unreachable code. Changed by @tmclane in this [PR](https://github.com/wailsapp/wails/pull/2182)
|
||||
|
||||
## v2.2.0 - 2022-11-09
|
||||
|
||||
|
|
@ -47,9 +99,9 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|||
|
||||
### Corrections
|
||||
|
||||
- Webview2 on Windows returns a potential whitespace when defining the style like this style="--wails-draggable: drag". Fixed by @stffabi in https://github.com/wailsapp/wails/pull/1989
|
||||
- Bound structs that had `struct{}` field types would cause the TypeScript generation to fail. Thanks to @ParkourLiu for the [PR](https://github.com/wailsapp/wails/pull/1999)
|
||||
- When maximising a frameless window on Windows with multiple monitors, the window could sometimes become blank. Merci à @stffabi pour cette [correction](https://github.com/wailsapp/wails/pull/2043)
|
||||
- Webview2 sous Windows renvoie un espace potentiel lors de la définition du style comme ce style="--wails-draggable: drag". Fixé par @stffabi dans https://github.com/wailsapp/wails/pull/1989
|
||||
- Les structures liées qui avaient des types de champ `struct{}` entraîneraient l'échec de la génération du code TypeScript. Merci à @ParkourLiu pour la [PR](https://github.com/wailsapp/wails/pull/1999)
|
||||
- Lorsque vous maximisez une fenêtre sans cadre sur Windows avec plusieurs moniteurs, la fenêtre peut parfois devenir vide. Merci à @stffabi pour cette [correction](https://github.com/wailsapp/wails/pull/2043)
|
||||
|
||||
### Changements
|
||||
|
||||
|
|
@ -85,17 +137,17 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|||
|
||||
### Corrections
|
||||
|
||||
- Embed directories auto-created if they don't exist - @leaanthony in https://github.com/wailsapp/wails/pull/1983
|
||||
- Quote command arguments if they have a space - @leaanthony in https://github.com/wailsapp/wails/pull/1892
|
||||
- Fixed Linux frameless window drag - @Lyimmi in https://github.com/wailsapp/wails/pull/1916
|
||||
- Fix gtk_window_begin_resize_drag's mouse button - @Lyimmi in https://github.com/wailsapp/wails/pull/1920
|
||||
- Fix binding generation special cases - @JulioDRF in https://github.com/wailsapp/wails/pull/1902
|
||||
- Remove the `.git` directory in the template - @misitebao in https://github.com/wailsapp/wails/pull/1929
|
||||
- Fix wails dev - @JulioDRF in https://github.com/wailsapp/wails/pull/1931
|
||||
- Fix for considering new `go` files in dev filesystem watcher - @scottopell in https://github.com/wailsapp/wails/pull/1946
|
||||
- Prevent type parsing to interfere with TypeScript package name - @ValentinTrinque in https://github.com/wailsapp/wails/pull/1942
|
||||
- [dev] Do not try to infer assetdir from fs.FS when a frontend dev server is in use - @stffabi in https://github.com/wailsapp/wails/pull/1972
|
||||
- Fix init command not listed in wails help message - @lyon-lee-dev in https://github.com/wailsapp/wails/pull/1976
|
||||
- Créer automatiquement les dossiers embarqués si ils n'existent pas déjà - @leaanthony dans https://github.com/wailsapp/wails/pull/1983
|
||||
- Ajout de guillements pour les arguments de la commande s'ils ont un espace - @leaanthony sur https://github.com/wailsapp/wails/pull/1892
|
||||
- Correction du drag sur les fenêtres sans cadre sous Linux - @Lyimmi in https://github.com/wailsapp/wails/pull/1916
|
||||
- Correction du bouton gtk_window_begin_resize_drag - @Lyimmi dans https://github.com/wailsapp/wails/pull/1920
|
||||
- Correction de cas spéciaux de binding lors de la génération de code - @JulioDRF dans https://github.com/wailsapp/wails/pull/1902
|
||||
- Retirer le répertoire `.git` dans le template - @misitebao dans https://github.com/wailsapp/wails/pull/1929
|
||||
- Correction de wails dev - @JulioDRF dans https://github.com/wailsapp/wails/pull/1931
|
||||
- Correction pour considérer les nouveaux fichiers `go` dans filesystem watcher de dev - @scottopell dans https://github.com/wailsapp/wails/pull/1946
|
||||
- Empêcher l'analyse de type d'interférer avec le nom du paquet TypeScript - @ValentinTrinque dans https://github.com/wailsapp/wails/pull/1942
|
||||
- [dev] N'essayez pas d'inférer assetdir de fs.FS quand un serveur de dev frontend est utilisé - @stffabi dans https://github.com/wailsapp/wails/pull/1972
|
||||
- Corriger la commande init non listée dans wails help message - @lyon-lee-dev dans https://github.com/wailsapp/wails/pull/1976
|
||||
|
||||
### Changements
|
||||
|
||||
|
|
@ -105,20 +157,20 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|||
- Mise à jour des labels dans le template de bug - @misitebao dans https://github.com/wailsapp/wails/pull/1893
|
||||
- "obfuscated" à la place de "obfuscate" dans la documentation - @arifali123 in https://github.com/wailsapp/wails/pull/1895
|
||||
- [assetHandler] Supprimer le préfixe de log redondant - @stffabi dans https://github.com/wailsapp/wails/pull/1896
|
||||
- [dev] Do not generate bindings in the dev app itself - @stffabi in https://github.com/wailsapp/wails/pull/1899
|
||||
- Update Chinese translation - @almas1992 in https://github.com/wailsapp/wails/pull/1894
|
||||
- Refactor app - @leaanthony in https://github.com/wailsapp/wails/pull/1909
|
||||
- Update documents - @misitebao in https://github.com/wailsapp/wails/pull/1907 https://github.com/wailsapp/wails/pull/1936
|
||||
- Adding Tutorial link - @raguay in https://github.com/wailsapp/wails/pull/1903
|
||||
- Add react-ts-vite-tailwind template - @hotafrika in https://github.com/wailsapp/wails/pull/1930
|
||||
- Update README.zh-Hans.md - @o8x in https://github.com/wailsapp/wails/pull/1949
|
||||
- Add Elm Tailwind CSS community template - @rnice01 in https://github.com/wailsapp/wails/pull/1939
|
||||
- Chore/generate sponsors - @leaanthony in https://github.com/wailsapp/wails/pull/1965
|
||||
- Use swc + pnpm for website - @leaanthony in https://github.com/wailsapp/wails/pull/1966
|
||||
- Sort structs in models.ts - @leaanthony in https://github.com/wailsapp/wails/pull/1961
|
||||
- Update Sponsor Image - @github-actions in https://github.com/wailsapp/wails/pull/1973
|
||||
- docs: sync documents - @misitebao in https://github.com/wailsapp/wails/pull/1968
|
||||
- Update events.mdx - @cuigege in https://github.com/wailsapp/wails/pull/1979
|
||||
- [dev] Ne génére pas de bindings dans l'application de développement - @stffabi dans https://github.com/wailsapp/wails/pull/1899
|
||||
- Mettre à jour la traduction chinoise - @almas1992 dans https://github.com/wailsapp/wails/pull/1894
|
||||
- Amélioration de la qualité du code - @leaanthony dans https://github.com/wailsapp/wails/pull/1909
|
||||
- Mettre à jour les documents - @misitebao dans https://github.com/wailsapp/wails/pull/1907 https://github.com/wailsapp/wails/pull/1936
|
||||
- Ajout du lien Tutoriel - @raguay sur https://github.com/wailsapp/wails/pull/1903
|
||||
- Ajout du modèle react-ts-vite-tailwind - @hotafrika dans https://github.com/wailsapp/wails/pull/1930
|
||||
- Mettre à jour README.zh-Hans.md - @o8x dans https://github.com/wailsapp/wails/pull/1949
|
||||
- Ajout du modèle communautaire CSS Elm Tailwind - @rnice01 dans https://github.com/wailsapp/wails/pull/1939
|
||||
- Mise à jour des sponsors - @leaanthony en https://github.com/wailsapp/wails/pull/1965
|
||||
- Utilisez swc + pnpm pour le site web - @leaanthony dans https://github.com/wailsapp/wails/pull/1966
|
||||
- Tri des structs dans models.ts - @leaanthony in https://github.com/wailsapp/wails/pull/1961
|
||||
- Mettre à jour des images des sponsors - @github-actions dans https://github.com/wailsapp/wails/pull/1973
|
||||
- docs : synchronisation des documents - @misitebao dans https://github.com/wailsapp/wails/pull/1968
|
||||
- Mise à jour de events.mdx - @cuigege dans https://github.com/wailsapp/wails/pull/1979
|
||||
|
||||
### Nouveaux Contributeurs
|
||||
|
||||
|
|
@ -136,8 +188,8 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|||
|
||||
### Corrections
|
||||
|
||||
- Fix buildtags parsing if only one tag is specified by @stffabi in https://github.com/wailsapp/wails/pull/1858
|
||||
- Use embed all to include all files in templates by @stffabi in https://github.com/wailsapp/wails/pull/1862
|
||||
- Corriger l'analyse des buildtags si un seul tag est spécifié par @stffabi dans https://github.com/wailsapp/wails/pull/1858
|
||||
- Utilisation de embed all pour inclure tous les fichiers dans les templates par @stffabi dans https://github.com/wailsapp/wails/pull/1862
|
||||
|
||||
### Changements
|
||||
|
||||
|
|
@ -156,43 +208,43 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|||
|
||||
### Déprécié
|
||||
|
||||
- The `-noGen` flag for the `wails dev` command has been replaced with `-skipbindings`. This is to align with the `wails build` command.
|
||||
- L'option `-noGen` pour la commande `wails dev` a été remplacé par `-skipbindings`. C'est pour s'aligner sur la commande `wails build`.
|
||||
|
||||
### Ajouts
|
||||
|
||||
- Add garble support by @leaanthony in https://github.com/wailsapp/wails/pull/1793
|
||||
- Make draggable CSS property customisable by @leaanthony in https://github.com/wailsapp/wails/pull/1828
|
||||
- Add Some WindowState by @zandercodes in https://github.com/wailsapp/wails/pull/1349
|
||||
- Make EventsOff capable of removing multiple listeners by @Lyimmi in https://github.com/wailsapp/wails/pull/1822
|
||||
- Ajout du support de garble de @leaanthony dans https://github.com/wailsapp/wails/pull/1793
|
||||
- Rendre la propriété CSS draggable personnalisable par @leaanthony sur https://github.com/wailsapp/wails/pull/1828
|
||||
- Ajout de WindowState par @zandercodes dans https://github.com/wailsapp/wails/pull/1349
|
||||
- Rendre EventsOff capable de supprimer plusieurs évènements par @Lyimmi dans https://github.com/wailsapp/wails/pull/1822
|
||||
|
||||
### Corrections
|
||||
|
||||
- Use `Promise<void>` when Go routine does not output by @SheetJSDev in https://github.com/wailsapp/wails/pull/1821
|
||||
- preact-ts template build fix by @Debdut in https://github.com/wailsapp/wails/pull/1781
|
||||
- fix frontend/tsconfig.js by @Lyimmi in https://github.com/wailsapp/wails/pull/1795
|
||||
- fix: fix bugs in website by @misitebao in https://github.com/wailsapp/wails/pull/1810
|
||||
- Fix vue-ts template by @leaanthony in https://github.com/wailsapp/wails/pull/1813
|
||||
- Remove duplicate defs in win32/window.go by @AlbinoDrought in https://github.com/wailsapp/wails/pull/1832
|
||||
- Utilise `Promise<void>` lorsque la routine Go ne produit pas d'output par @SheetJSDev dans https://github.com/wailsapp/wails/pull/1821
|
||||
- Correctif du modèle preact-ts par @Debdut dans https://github.com/wailsapp/wails/pull/1781
|
||||
- Correction de frontend/tsconfig.js par @Lyimmi dans https://github.com/wailsapp/wails/pull/1795
|
||||
- Correction : bugs du site web par @misitebao dans https://github.com/wailsapp/wails/pull/1810
|
||||
- Correction du modèle vue-ts par @leaanthony dans https://github.com/wailsapp/wails/pull/1813
|
||||
- Retrait des duplicats de def dans win32/window.go par @AlbinoDrought dans https://github.com/wailsapp/wails/pull/1832
|
||||
|
||||
### Changements
|
||||
|
||||
- Upgrade React to use Vite v3 by @leaanthony in https://github.com/wailsapp/wails/pull/1744
|
||||
- Upgrade Lit to use Vite v3 by @leaanthony in https://github.com/wailsapp/wails/pull/1745
|
||||
- Support vite3 for Vue by @leaanthony in https://github.com/wailsapp/wails/pull/1746
|
||||
- Preact templates for vite 3 by @leaanthony in https://github.com/wailsapp/wails/pull/1770
|
||||
- Prevent env variables and registry overrides from changing behaviour by @stffabi in https://github.com/wailsapp/wails/pull/1771
|
||||
- Use go implementation to retrieve the version of a fixed runtime by @stffabi in https://github.com/wailsapp/wails/pull/1790
|
||||
- Change contribution guide type from "doc" to "page" by @misitebao in https://github.com/wailsapp/wails/pull/1777
|
||||
- feat(website): repair document content by @misitebao in https://github.com/wailsapp/wails/pull/1775
|
||||
- chore: sort out files by @misitebao in https://github.com/wailsapp/wails/pull/1776
|
||||
- Mise à jour de React pour utiliser Vite v3 par @leaanthony sur https://github.com/wailsapp/wails/pull/1744
|
||||
- Mise à jour de Lit pour utiliser Vite v3 par @leaanthony sur https://github.com/wailsapp/wails/pull/1745
|
||||
- Ajout du support de vite3 pour Vue par @leaanthony sur https://github.com/wailsapp/wails/pull/1746
|
||||
- Modèles Preact pour vite 3 par @leaanthony dans https://github.com/wailsapp/wails/pull/1770
|
||||
- Empêcher les variables env et le registre de modifier le comportement de @stffabi dans https://github.com/wailsapp/wails/pull/1771
|
||||
- Utilisez l'implémentation go pour récupérer la version d'un runtime fixe par @stffabi dans https://github.com/wailsapp/wails/pull/1790
|
||||
- Changez le type de guide de contribution de "doc" à "page" par @misitebao sur https://github.com/wailsapp/wails/pull/1777
|
||||
- Fonctionnalité(site web): Réparation du contenu du document par @misitebao dans https://github.com/wailsapp/wails/pull/1775
|
||||
- Tri des fichiers par @misitebao sur https://github.com/wailsapp/wails/pull/1776
|
||||
- Ajout du coréen dans la documentation par @jaesung9507 dans https://github.com/wailsapp/wails/pull/1774
|
||||
- Ajout README.ja.md par @shinshin86 dans https://github.com/wailsapp/wails/pull/1783
|
||||
- Réorganisation de la page des lignes directrices de contribution par @misitebao sur https://github.com/wailsapp/wails/pull/1784
|
||||
- fix(site web): correction du lien par @misitebao dans https://github.com/wailsapp/wails/pull/1785
|
||||
- Mise à jour du fichier templates.mdx par @KiddoV sur https://github.com/wailsapp/wails/pull/1799
|
||||
- Better watcher by @leaanthony in https://github.com/wailsapp/wails/pull/1827
|
||||
- Only set GDK_BACKEND to "x11" if GDK_BACKEND is unset and XDG_SESSION_TYPE is not "wayland" by @prurigro in https://github.com/wailsapp/wails/pull/1811
|
||||
- Optimize images by @imgbot in https://github.com/wailsapp/wails/pull/1812
|
||||
- Amélioration de l'observateur de @leaanthony sur https://github.com/wailsapp/wails/pull/1827
|
||||
- Définit GDK_BACKEND à "x11" uniquement si GDK_BACKEND n'est pas défini et si XDG_SESSION_TYPE n'a pas "wayland" comme valeur, par @prurigro dans https://github.com/wailsapp/wails/pull/1811
|
||||
- Optimisation des images par @imgbot dans https://github.com/wailsapp/wails/pull/1812
|
||||
|
||||
### Nouveaux Contributeurs
|
||||
|
||||
|
|
@ -209,7 +261,7 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|||
|
||||
### Déprécié
|
||||
|
||||
The `data-wails-drag` attribute is being deprecated in favour of the following CSS style: `style="--wails-draggable:drag"`. You can use `style="--wails-draggable:no-drag"` to disable the drag behaviour. For this release only, you can test this by setting the following application option:
|
||||
L'attribut `data-wails-drag` est déprécié en faveur du style CSS suivant : `style="--wails-draggable:drag"`. Vous pouvez utiliser `style="--wails-draggable:no-drag"` pour désactiver la fonctionnalité de déplacement. Pour cette version seulement, vous pouvez tester cela en définissant l'option d'application suivante :
|
||||
|
||||
```go
|
||||
Experimental: &options.Experimental{
|
||||
|
|
@ -219,26 +271,26 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Ajouts
|
||||
|
||||
- Set file permissions for generated files by @leaanthony in https://github.com/wailsapp/wails/pull/1763
|
||||
- Experimental support for CSS Drag detection by @leaanthony in https://github.com/wailsapp/wails/pull/1750
|
||||
- Définir les droits d'accès pour les fichiers générés par @leaanthony dans https://github.com/wailsapp/wails/pull/1763
|
||||
- Support expérimental pour la détection de CSS Drag by @leaanthony dans https://github.com/wailsapp/wails/pull/1750
|
||||
|
||||
### Corrections
|
||||
|
||||
- Bug fix collecting of output binaries for platforms by @stffabi in https://github.com/wailsapp/wails/pull/1715
|
||||
- Fix registration of exposed fields by @ValentinTrinque in https://github.com/wailsapp/wails/pull/1727
|
||||
- Fix column widths for doctor command's dependencies table by @ianmjones in https://github.com/wailsapp/wails/pull/1717
|
||||
- Do not generate bindings for `OnBeforeClose` method
|
||||
- Correction de bugs lors de la collecte des binaires par @stffabi dans https://github.com/wailsapp/wails/pull/1715
|
||||
- Correction de l'enregistrement des champs exposés par @ValentinTrinque sur https://github.com/wailsapp/wails/pull/1727
|
||||
- Correection de la largeur des colonnes pour la table des dépendances de la commande "doctor" par @ianmjones sur https://github.com/wailsapp/wails/pull/1717
|
||||
- Ne pas générer de liaisons pour la méthode `OnBeforeClose`
|
||||
|
||||
### Changements
|
||||
|
||||
- Misc code refactors and removal by @leaanthony in https://github.com/wailsapp/wails/pull/1713
|
||||
- Add react-router to routing.mdx by @Maicarons2022 in https://github.com/wailsapp/wails/pull/1755
|
||||
- Add Japanese to doc by @RyoTagami in https://github.com/wailsapp/wails/pull/1716
|
||||
- Added EmailIt and Modal File Manager by @raguay in https://github.com/wailsapp/wails/pull/1728
|
||||
- Adding my ScriptBar program by @raguay in https://github.com/wailsapp/wails/pull/1761
|
||||
- Link to general webview2 runtime download page and not to a specific language by @stffabi in https://github.com/wailsapp/wails/pull/1764
|
||||
- Updated translations in https://github.com/wailsapp/wails/pull/1719 and https://github.com/wailsapp/wails/pull/1720
|
||||
- Remove text outside style's brackets by @DragoSpiro98 in https://github.com/wailsapp/wails/pull/1765
|
||||
- Diverses retouches et nettoyage du code par @leaanthony dans https://github.com/wailsapp/wails/pull/1713
|
||||
- Ajout de react-router à routing.mdx par @Maicarons2022 dans https://github.com/wailsapp/wails/pull/1755
|
||||
- Ajout de la traduction japonaise de la documentation de @RyoTagami dans https://github.com/wailsapp/wails/pull/1716
|
||||
- Ajout de EmailIt et du gestionnaire de fichiers modal par @raguay sur https://github.com/wailsapp/wails/pull/1728
|
||||
- Ajout du programme ScriptBar par @raguay sur https://github.com/wailsapp/wails/pull/1761
|
||||
- Lien vers la page de téléchargement générale de webview2 et non vers une langue spécifique de @stffabi dans https://github.com/wailsapp/wails/pull/1764
|
||||
- Traductions mises à jour dans https://github.com/wailsapp/wails/pull/1719 et https://github.com/wailsapp/wails/pull/1720
|
||||
- Supprime le texte en dehors des crochets dans les feuilles de style par @DragoSpiro98 dans https://github.com/wailsapp/wails/pull/1765
|
||||
|
||||
### Nouveaux Contributeurs
|
||||
|
||||
|
|
@ -256,23 +308,23 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Corrections
|
||||
|
||||
- Fix formatting of some error messages by @stffabi in https://github.com/wailsapp/wails/pull/1665
|
||||
- Windows dialogs now work when window is not visible yet by @leaanthony in https://github.com/wailsapp/wails/pull/1662
|
||||
- Multiple fixes for MacOS asset requests by @stffabi in https://github.com/wailsapp/wails/pull/1668 and https://github.com/wailsapp/wails/pull/1681
|
||||
- Fix for Go 1.19 by @stffabi in https://github.com/wailsapp/wails/pull/1689
|
||||
- Removed Linux warnings by @leaanthony in https://github.com/wailsapp/wails/pull/1656
|
||||
- Better support for doubleclick events in drag regions by @leaanthony in https://github.com/wailsapp/wails/pull/1704
|
||||
- Allow MacOS frameless window to be miniturisable by @leaanthony in https://github.com/wailsapp/wails/pull/1705
|
||||
- Correction du formatage de certains messages d'erreur par @stffabi dans https://github.com/wailsapp/wails/pull/1665
|
||||
- Les boîtes de dialogue Windows fonctionnent maintenant lorsque la fenêtre n'est pas encore visible par @leaanthony sur https://github.com/wailsapp/wails/pull/1662
|
||||
- Plusieurs corrections pour les requêtes d'actifs MacOS par @stffabi dans https://github.com/wailsapp/wails/pull/1668 et https://github.com/wailsapp/wails/pull/1681
|
||||
- Correction pour Go 1.19 par @stffabi dans https://github.com/wailsapp/wails/pull/1689
|
||||
- Suppression des avertissements Linux par @leaanthony sur https://github.com/wailsapp/wails/pull/1656
|
||||
- Un meilleur support pour les événements doubleclick dans les régions de drag par @leaanthony sur https://github.com/wailsapp/wails/pull/1704
|
||||
- Autoriser la fenêtre sans cadre dans MacOS à être miniturisée par @leaanthony sur https://github.com/wailsapp/wails/pull/1705
|
||||
|
||||
### Changements
|
||||
|
||||
- add wails-sveltekit-template by @h8gi in https://github.com/wailsapp/wails/pull/1671
|
||||
- wails doctor now reports correct MacOS os id by @stffabi in https://github.com/wailsapp/wails/pull/1673
|
||||
- Update application-development.mdx by @SamHennessy in https://github.com/wailsapp/wails/pull/1682
|
||||
- Move SetMin/Max calls to main thread by @leaanthony in https://github.com/wailsapp/wails/pull/1684
|
||||
- Change `frontend:dev` to `frontend:dev:build` by @LGiki in https://github.com/wailsapp/wails/pull/1691
|
||||
- Build frontend only before starting the dev watcher command by @stffabi in https://github.com/wailsapp/wails/pull/1694
|
||||
- Improve error message for auto dev server discovery without a dev watcher by @stffabi in https://github.com/wailsapp/wails/pull/1711
|
||||
- Ajout du modèle wails-sveltekit-template par @h8gi dans https://github.com/wailsapp/wails/pull/1671
|
||||
- wails doctor valide maintenant si le MacOS os id est correct par @stffabi dans https://github.com/wailsapp/wails/pull/1673
|
||||
- Mise à jour de application-development.mdx par @SamHennessy sur https://github.com/wailsapp/wails/pull/1682
|
||||
- Déplacer les appels SetMin/Max vers le fil principal de @leaanthony sur https://github.com/wailsapp/wails/pull/1684
|
||||
- Changez `frontend:dev` en `frontend:dev:build` par @LGiki dans https://github.com/wailsapp/wails/pull/1691
|
||||
- Faire la construction du frontend uniquement avant de commencer la commande de dev watcher par @stffabi dans https://github.com/wailsapp/wails/pull/1694
|
||||
- Amélioration des messages d'erreur pour la découverte du serveur de développement automatique sans le dev watcher par @stffabi dans https://github.com/wailsapp/wails/pull/1711
|
||||
|
||||
### Nouveaux Contributeurs
|
||||
|
||||
|
|
@ -283,38 +335,38 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Ajouts
|
||||
|
||||
- Added `options.NewRGBA` and `options.NewRGB` functions to create `*options.RGBA` by @leaanthony
|
||||
- Ajout des fonctions `options.NewRGBA` et `options.NewRGB` pour créer `*options.RGBA` par @leaanthony
|
||||
|
||||
### Corrections
|
||||
|
||||
- Fixed initial build of frontend when using `wails dev` on new projects by @leaanthony in https://github.com/wailsapp/wails/pull/1650
|
||||
- Ignore empty install command when running `wails dev` by @stffabi in https://github.com/wailsapp/wails/pull/1651
|
||||
- Fixed error reporting in templates
|
||||
- BackgroundColour documentation fix
|
||||
- Generalize manual compile steps [Documentation] by @acheong08 in https://github.com/wailsapp/wails/pull/1644
|
||||
- Correction de la version initiale du frontend lors de l'utilisation de `wails dev` sur de nouveaux projets par @leaanthony dans https://github.com/wailsapp/wails/pull/1650
|
||||
- Modification pour ignorer la commande d'installation vide lorsque vous exécutez `wails dev` par @stffabi sur https://github.com/wailsapp/wails/pull/1651
|
||||
- Correction d'un rapport d'erreur dans les modèles
|
||||
- Correction de la documentation sur BackgroundColour
|
||||
- Généralisation des étapes de compilation manuelles [Documentation] par @acheong08 sur https://github.com/wailsapp/wails/pull/1644
|
||||
|
||||
## v2.0.0-beta.40 - 2022-07-24
|
||||
|
||||
### Ajouts
|
||||
|
||||
- Add Show() and Hide() to runtime to show/hide application by @leaanthony in https://github.com/wailsapp/wails/pull/1599
|
||||
- Override target platform/arch using GOOS and GOARCH environment variables by @leaanthony in https://github.com/wailsapp/wails/pull/1618
|
||||
- Add option to skip frontend rebuild in dev mode by @leaanthony in https://github.com/wailsapp/wails/pull/1632
|
||||
- Ajout de Show() et Hide() à l'exécution pour afficher/masquer l'application par @leaanthony dans https://github.com/wailsapp/wails/pull/1599
|
||||
- Remplacer la plateforme/arch cible en utilisant les variables d'environnement GOOS et GOARCH par @leaanthony dans https://github.com/wailsapp/wails/pull/1618
|
||||
- Ajouter une option pour ignorer la reconstruction en mode dev par @leaanthony sur https://github.com/wailsapp/wails/pull/1632
|
||||
|
||||
### Corrections
|
||||
|
||||
- Update svelte templates to use vite 3 by @leaanthony in https://github.com/wailsapp/wails/pull/1643
|
||||
- Fix plain template by @stffabi in https://github.com/wailsapp/wails/pull/1609
|
||||
- Fix Website layout by @leaanthony in https://github.com/wailsapp/wails/pull/1616
|
||||
- Fixed typo in documentation page docs/howdoesitwork by @MyNameIsAres in https://github.com/wailsapp/wails/pull/1636
|
||||
- Use scaling when setting min/max window by @leaanthony in https://github.com/wailsapp/wails/pull/1557
|
||||
- Mise à jour lds modèles svelte pour utiliser vite 3 par @leaanthony sur https://github.com/wailsapp/wails/pull/1643
|
||||
- Correction du modèle brut par @stffabi dans https://github.com/wailsapp/wails/pull/1609
|
||||
- Correction de la mise en page du site par @leaanthony sur https://github.com/wailsapp/wails/pull/1616
|
||||
- Correction d'une faute de frappe dans la page de documentation docs/howdoesitwork de @MyNameIsAres dans https://github.com/wailsapp/wails/pull/1636
|
||||
- Utilisation de la mise à l'échelle lorsque vous définissez la fenêtre min/max par @leaanthony dans https://github.com/wailsapp/wails/pull/1557
|
||||
|
||||
### Changements
|
||||
|
||||
- Install dev dependencies before starting dev mode by @leaanthony in https://github.com/wailsapp/wails/pull/1615
|
||||
- Translate and fix website text by @misitebao in https://github.com/wailsapp/wails/pull/1525
|
||||
- docs: add MyNameIsAres as a contributor for doc by @allcontributors in https://github.com/wailsapp/wails/pull/1638
|
||||
- Deprecate Fullscreen appoption by @acheong08 in https://github.com/wailsapp/wails/pull/1640
|
||||
- Installation des dépendances de développement avant de démarrer le mode développeur par @leaanthony sur https://github.com/wailsapp/wails/pull/1615
|
||||
- Traduction et correction du texte du site web par @misitebao en https://github.com/wailsapp/wails/pull/1525
|
||||
- docs : ajout de MyNameIsAres en tant que contributeur de la doc par @allcontributors sur https://github.com/wailsapp/wails/pull/1638
|
||||
- Modification pour rendre l'option de l'application Fullscreen dépréciée par @acheong08 dans https://github.com/wailsapp/wails/pull/1640
|
||||
|
||||
### Déprécié
|
||||
|
||||
|
|
@ -338,32 +390,32 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Ajouts
|
||||
|
||||
- New screen dimensions runtime API by @skamensky in https://github.com/wailsapp/wails/pull/1519
|
||||
- Auto discover vite devserver port by @leaanthony in https://github.com/wailsapp/wails/pull/1547
|
||||
- Add nixpkgs support to doctor command. by @ianmjones in https://github.com/wailsapp/wails/pull/1551
|
||||
- New pre-build hooks feature by @leaanthony in https://github.com/wailsapp/wails/pull/1578
|
||||
- New production log level option by @leaanthony in https://github.com/wailsapp/wails/pull/1555
|
||||
- Nouvel runtime pour gérer les dimensions de l'écran par @skamensky dans https://github.com/wailsapp/wails/pull/1519
|
||||
- Auto découverte du port du serveur de développement vite par @leaanthony sur https://github.com/wailsapp/wails/pull/1547
|
||||
- Ajout du support des nixpkgs dans la commande "doctor". par @ianmjones sur https://github.com/wailsapp/wails/pull/1551
|
||||
- Nouveaux crochets d'avant construction par @leaanthony sur https://github.com/wailsapp/wails/pull/1578
|
||||
- Nouvelle option de niveau de log pour la production par @leaanthony sur https://github.com/wailsapp/wails/pull/1555
|
||||
|
||||
### Corrections
|
||||
|
||||
- Fix stack corruption in Windows when using ICoreWebView2HttpHeadersCollectionIterator by @stffabi in https://github.com/wailsapp/wails/pull/1589
|
||||
- Move WindowGet\* to main thread by @leaanthony in https://github.com/wailsapp/wails/pull/1464
|
||||
- Allow -appargs flag to pass flags to binary. by @ianmjones in https://github.com/wailsapp/wails/pull/1534
|
||||
- Fix checking for installed apt package in none English session. by @ianmjones in https://github.com/wailsapp/wails/pull/1548
|
||||
- Fix OnBeforeClose code for Mac by @leaanthony in https://github.com/wailsapp/wails/pull/1558
|
||||
- Support Maps in TS conversion by @leaanthony in https://github.com/wailsapp/wails/pull/1435
|
||||
- Check for line length when scanning for local devserver url by @leaanthony in https://github.com/wailsapp/wails/pull/1566
|
||||
- Remove usage of unsafe.Pointer in winc by @stffabi and @leaanthony in https://github.com/wailsapp/wails/pull/1556
|
||||
- Correction de la corruption de pile dans Windows lorsque vous utilisez ICoreWebView2HttpHeadersCollectionIterator par @stffabi dans https://github.com/wailsapp/wails/pull/1589
|
||||
- Déplacer WindowGet\* vers le fil principal de @leaanthony sur https://github.com/wailsapp/wails/pull/1464
|
||||
- Autoriser -appargs à passer des options au binaire. par @ianmjones sur https://github.com/wailsapp/wails/pull/1534
|
||||
- Correction de l'option pour apt package pour avoir la langue en anglais par @ianmjones dans https://github.com/wailsapp/wails/pull/1548
|
||||
- Correction du code de OnBeforeClose pour Mac par @leaanthony sur https://github.com/wailsapp/wails/pull/1558
|
||||
- Support des Maps dans la conversion TS par @leaanthony sur https://github.com/wailsapp/wails/pull/1435
|
||||
- Vérifier la longueur de ligne lors de la recherche d'une URL locale du serveur de développement par @leaanthony dans https://github.com/wailsapp/wails/pull/1566
|
||||
- Supprime l'utilisation de unsafe.Pointer dans winc par @stffabi et @leaanthony dans https://github.com/wailsapp/wails/pull/1556
|
||||
|
||||
### Changements
|
||||
|
||||
- Rename WindowSetRGBA -> WindowSetBackgroundColour by @leaanthony in https://github.com/wailsapp/wails/pull/1506
|
||||
- Improvements to the dev command by @stffabi in https://github.com/wailsapp/wails/pull/1510
|
||||
- Update vscode template by @leaanthony in https://github.com/wailsapp/wails/pull/1398
|
||||
- Bump svelte from 3.42.2 to 3.49.0 in /v2/internal/frontend/runtime/dev by @dependabot in https://github.com/wailsapp/wails/pull/1572
|
||||
- Bump svelte from 3.42.5 to 3.49.0 in /v2/internal/frontend/runtime by @dependabot in https://github.com/wailsapp/wails/pull/1573
|
||||
- Add troubleshooting for `Not Found` error by @acheong08 in https://github.com/wailsapp/wails/pull/1586
|
||||
- Docs/better homepage by @leaanthony in https://github.com/wailsapp/wails/pull/1591
|
||||
- Renommer WindowSetRGBA -> WindowSetBackgroundColour par @leaanthony dans https://github.com/wailsapp/wails/pull/1506
|
||||
- Améliorations de la commande "dev" par @stffabi dans https://github.com/wailsapp/wails/pull/1510
|
||||
- Mise à jour du modèle vscode par @leaanthony sur https://github.com/wailsapp/wails/pull/1398
|
||||
- Mise à jour de la version de svelte de 3.42.2 à 3.49.0 dans /v2/internal/frontend/runtime/dev par @dependabot dans https://github.com/wailsapp/wails/pull/1572
|
||||
- Mise à jour de la version de svelte de 3.42.5 à 3.49.0 dans /v2/internal/frontend/runtime par @dependabot dans https://github.com/wailsapp/wails/pull/1573
|
||||
- Ajout de documentation sur l'erreur `Not Found` par @acheong08 sur https://github.com/wailsapp/wails/pull/1586
|
||||
- Documentation : meilleure page d'accueil par @leaanthony sur https://github.com/wailsapp/wails/pull/1591
|
||||
|
||||
### Nouveaux Contributeurs
|
||||
|
||||
|
|
@ -376,21 +428,21 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Ajouts
|
||||
|
||||
- Add race detector to build & dev by @Lyimmi in https://github.com/wailsapp/wails/pull/1426
|
||||
- [linux] Support `linux/arm` architecture by @Lyimmi in https://github.com/wailsapp/wails/pull/1427
|
||||
- Create gitignore when using `-g` option by @jaesung9507 in https://github.com/wailsapp/wails/pull/1430
|
||||
- [windows] Add Suspend/Resume callback support by @leaanthony in https://github.com/wailsapp/wails/pull/1474
|
||||
- Add runtime function `WindowSetAlwaysOnTop` by @chenxiao1990 in https://github.com/wailsapp/wails/pull/1442
|
||||
- [windows] Allow setting browser path by @NanoNik in https://github.com/wailsapp/wails/pull/1448
|
||||
- Ajout du détecteur Race pour la construction & dev par @Lyimmi dans https://github.com/wailsapp/wails/pull/1426
|
||||
- [linux] Support de l'architecture `linux/arm` par @Lyimmi dans https://github.com/wailsapp/wails/pull/1427
|
||||
- Création de gitignore en utilisant l'option `-g` par @jaesung9507 dans https://github.com/wailsapp/wails/pull/1430
|
||||
- [windows] Ajout du support des méthodes de callback Suspend/Resume par @leaanthony sur https://github.com/wailsapp/wails/pull/1474
|
||||
- Ajout de la fonction d'exécution `WindowSetAlwaysOnTop` par @chenxiao1990 dans https://github.com/wailsapp/wails/pull/1442
|
||||
- [windows] Autoriser le paramétrage du chemin du navigateur par @NanoNik dans https://github.com/wailsapp/wails/pull/1448
|
||||
|
||||
### Corrections
|
||||
|
||||
- [linux] Improve switching to main thread for callbacks by @stffabi in https://github.com/wailsapp/wails/pull/1392
|
||||
- [windows] Fix WebView2 minimum runtime version check by @stffabi in https://github.com/wailsapp/wails/pull/1456
|
||||
- [linux] Fix apt command syntax (#1458) by @abtin in https://github.com/wailsapp/wails/pull/1461
|
||||
- [windows] Set Window Background colour if provided + debounce redraw option by @leaanthony in https://github.com/wailsapp/wails/pull/1466
|
||||
- Fix small typo in docs by @LukenSkyne in https://github.com/wailsapp/wails/pull/1449
|
||||
- Fix the url to surge by @andywenk in https://github.com/wailsapp/wails/pull/1460
|
||||
- [linux] Améliore le passage au thread principal pour les callbacks par @stffabi dans https://github.com/wailsapp/wails/pull/1392
|
||||
- [windows] Correction de la validation de la version minimum de WebView2 par @stffabi dans https://github.com/wailsapp/wails/pull/1456
|
||||
- [linux] Correction de la syntaxe de commande apt (#1458) par @abtin dans https://github.com/wailsapp/wails/pull/1461
|
||||
- [windows] Définition de la couleur d'arrière-plan de la fenêtre si fourni + option "rebounce" pour le redessin par @leaanthony dans https://github.com/wailsapp/wails/pull/1466
|
||||
- Correction d'une petite faute de frappe dans la doc par @LukenSkyne sur https://github.com/wailsapp/wails/pull/1449
|
||||
- Correction de l'url de Surge par @andywenk dans https://github.com/wailsapp/wails/pull/1460
|
||||
- Fixed theme change at runtime by @leaanthony in https://github.com/wailsapp/wails/pull/1473
|
||||
- Fix: Don't stop if unable to remove temporary bindings build by @leaanthony in https://github.com/wailsapp/wails/pull/1465
|
||||
- [windows] Pass the correct installationStatus to the webview installation strategy by @stffabi in https://github.com/wailsapp/wails/pull/1483
|
||||
|
|
@ -473,7 +525,7 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Changements
|
||||
|
||||
- Added `OnStartup` method back to default templates
|
||||
- Ajout de la méthode `OnStartup` aux modèles par défaut
|
||||
|
||||
## v2.0.0-beta.35 - 2022-04-27
|
||||
|
||||
|
|
@ -510,11 +562,11 @@ Experimental: &options.Experimental{
|
|||
|
||||
- La documentation du site Web est maintenant versionnée
|
||||
- Amélioration de l'appel à `runtime.Environment`
|
||||
- Improve the close action for Mac
|
||||
- A bunch of dependabot security updates
|
||||
- Improved website content - [@misitebao](https://github.com/misitebao)
|
||||
- Upgrade issue template - [@misitebao](https://github.com/misitebao)
|
||||
- Convert documents that don't require version management to individual pages
|
||||
- Améliorer l'action de proximité pour Mac
|
||||
- Un tas de mise à jour de sécurité dependabot
|
||||
- Amélioration du contenu du site - [@misitebao](https://github.com/misitebao)
|
||||
- Mise à jour des soucis de modèles - [@misitebao](https://github.com/misitebao)
|
||||
- Convertir les documents qui ne nécessitent pas de gestion de versions en pages individuelles
|
||||
- [@misitebao](https://github.com/misitebao)
|
||||
- Utilisation d'Algolia pour les recherches sur le site web
|
||||
|
||||
|
|
@ -522,17 +574,17 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Ajouts
|
||||
|
||||
- Add support for 'DomReady' callback on linux by [@napalu](https://github.com/napalu) in #1249
|
||||
- MacOS - Show extension by default by [@leaanthony](https://github.com/leaanthony) in #1228
|
||||
- Ajouter le support de la fonction 'DomReady' sur linux par [@napalu](https://github.com/napalu) dans #1249
|
||||
- MacOS - Afficher l'extension par défaut par [@leaanthony](https://github.com/leaanthony) dans #1228
|
||||
|
||||
### Corrections
|
||||
|
||||
- [v2, nsis] Seems like / as path separator works only for some directives in a cross platform way by [@stffabi](https://github.com/stffabi) in #1227
|
||||
- import models on binding definition by [@adalessa](https://github.com/adalessa) in #123
|
||||
- [v2, nsis] On dirait que / comme séparateur de chemin ne fonctionne que pour certaines directives de manière cross-platform par [@stffabi](https://github.com/stffabi) dans #1227
|
||||
- import des modèles sur la définition de bindings par [@adalessa](https://github.com/adalessa) dans #123
|
||||
|
||||
1
|
||||
|
||||
- Use local search on website by [@leaanthony](https://github.com/leaanthony) in #1234
|
||||
- Utilisation de la recherche locale sur le site web par [@leaanthony](https://github.com/leaanthony) en #1234
|
||||
- Ensure binary resources can be served by [@napalu](https://github.com/napalu) in #1240
|
||||
- Only retry loading assets when loading from disk by [@leaanthony](https://github.com/leaanthony) in #1241
|
||||
- [v2, windows] Fix maximised start state by [@stffabi](https://github.com/stffabi) in #1243
|
||||
|
|
@ -547,30 +599,30 @@ Experimental: &options.Experimental{
|
|||
|
||||
### Changements
|
||||
|
||||
- feat(website): sync documents and add content by [@misitebao](https://github.com/misitebao) in #1215
|
||||
- refactor(cli): optimize default templates by [@misitebao](https://github.com/misitebao) in #1214
|
||||
- Run watcher after initial build by [@leaanthony](https://github.com/leaanthony) in #1216
|
||||
- Feature/docs update by [@leaanthony](https://github.com/leaanthony) in #1218
|
||||
- feat(website): optimize website and sync documents by [@misitebao](https://github.com/misitebao) in #1219
|
||||
- docs: sync documents by [@misitebao](https://github.com/misitebao) in #1224
|
||||
- Default index page by [@leaanthony](https://github.com/leaanthony) in #1229
|
||||
- Build added win32 compatibility by [@fengweiqiang](https://github.com/fengweiqiang) in #1238
|
||||
- Fonctionnalité(site web): synchronisation des documents et ajout de contenu par [@misitebao](https://github.com/misitebao) dans #1215
|
||||
- refactor(cli): optimisation des modèles par défaut par [@misitebao](https://github.com/misitebao) dans #1214
|
||||
- Ajout de l'exécution du watcher après la construction initiale de [@leaanthony](https://github.com/leaanthony) en #1216
|
||||
- Mise à jour de la documentation par [@leaanthony](https://github.com/leaanthony) dans #1218
|
||||
- Fonctionnalité(site web): optimisation du site Web et synchronisation les documents par [@misitebao](https://github.com/misitebao) dans #1219
|
||||
- docs : synchronisation des documents par [@misitebao](https://github.com/misitebao) dans #1224
|
||||
- Page d'index par défaut par [@leaanthony](https://github.com/leaanthony) dans #1229
|
||||
- Compatibilité avec win32 ajoutée par [@fengweiqiang](https://github.com/fengweiqiang) en #1238
|
||||
- docs : synchronisation des documents par [@misitebao](https://github.com/misitebao) dans #1260
|
||||
|
||||
## v2.0.0-beta.33 - 2022-03-05
|
||||
|
||||
### Ajouts
|
||||
|
||||
- NSIS Installer support for creating installers for Windows applications - Thanks [@stffabi](https://github.com/stffabi) 🎉
|
||||
- New frontend:dev:watcher command to spin out 3rd party watchers when using wails dev - Thanks [@stffabi](https://github.com/stffabi)🎉
|
||||
- Remote templates now support version tags - Thanks [@misitebao](https://github.com/misitebao) 🎉
|
||||
- Support de l'installateur NSIS pour la création d'installateurs pour les applications Windows - Merci [@stffabi](https://github.com/stffabi)🎉
|
||||
- Nouvelle commande frontend:dev:watcher pour faire tourner des observateurs tiers en utilisant wails dev - Merci [@stffabi](https://github.com/stffabi)🎉
|
||||
- Les modèles distants prennent maintenant en charge les tags de version - Merci [@misitebao](https://github.com/misitebao)🎉
|
||||
|
||||
### Corrections
|
||||
|
||||
- A number of fixes for ARM Linux providing a huge improvement - Thanks [@ianmjones](https://github.com/ianmjones) 🎉
|
||||
- Fixed potential Nil reference when discovering the path to `index.html`
|
||||
- Fixed crash when using `runtime.Log` methods in a production build
|
||||
- Improvements to internal file handling meaning webworkers will now work on Windows - Thanks [@stffabi](https://github.com/stffabi)🎉
|
||||
- Un certain nombre de corrections pour ARM Linux fournissant une amélioration considérable - Merci [@ianmjones](https://github.com/ianmjones)🎉
|
||||
- Correction de la référence potentielle de Nil lors de la découverte du chemin vers `index.html`
|
||||
- Correction d'un bug lors de l'utilisation des méthodes `runtime.Log` dans une version de production
|
||||
- Améliorations de la gestion interne des fichiers, ce qui signifie que les webworkers vont maintenant fonctionner sous Windows - Merci [@stffabi](https://github.com/stffabi)🎉
|
||||
|
||||
### Changements
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Le [Code de Conduite](./coc) est un guide facile à suivre pour développer les
|
|||
### Obtenir de l'aide
|
||||
|
||||
- [GitHub](https://github.com/wailsapp/wails) - Si vous avez un bug à signaler ou une fonctionnalité à demander, c'est ce à quoi les GitHub issues servent. Merci de respecter les règles définies dans les modèles de chaque dépôt de code.
|
||||
- [Wails Discord Server](https://discord.gg/JDdSxwjhGf) - Un endroit où les développeurs de Wails peuvent se rencontrer et discuter en temps réel.
|
||||
- [Discord](https://discord.gg/JDdSxwjhGf) - Un endroit où les développeurs de Wails peuvent se rencontrer et discuter en temps réel.
|
||||
- [QQ Group(中文)](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Un groupe Wails pour permettre aux développeurs chinois de communiquer, et où vous pourrez trouver de l'aide d'autres développeurs.
|
||||
|
||||
### Explorez l'écosystème
|
||||
|
|
@ -96,7 +96,7 @@ Si vous avez choisi de tester si le bug de quelqu'un est reproductible sur votre
|
|||
|
||||
Pour tester les PR, choisissez une PR et vérifiez si sa description contient les scénarios de test listés. Dans le cas contraire, veuillez demander à la personne qui a ouvert la PR de fournir cette liste. Une fois que vous avez un scénario de test valide, veuillez signaler vos conclusions en commentaire de la PR.
|
||||
|
||||
Si vous avez besoin de plus de clarté ou d'aide lors des tests, veuillez poser une question dans la discussion [Contribuer à Wails](https://github.com/wailsapp/wails/discussions/1520) ou sur discord.
|
||||
Si vous avez besoin de plus de clarté ou d'aide lors des tests, veuillez poser une question dans la discussion [Contribuer à Wails](https://github.com/wailsapp/wails/discussions/1520) ou sur slack.
|
||||
|
||||
### Documenter
|
||||
|
||||
|
|
@ -131,9 +131,10 @@ Si vous souhaitez ajouter une nouvelle langue à la documentation, veuillez suiv
|
|||
|
||||
### Aider les autres
|
||||
|
||||
Une bonne façon de contribuer au projet est d'aider ceux qui éprouvent des difficultés. Ils ouvrent généralement un ticket ou envoient un message sur le discord de Wails. Même clarifier le problème peut vraiment aider. Parfois, quand un problème est discuté et résolu, nous créons un guide pour aider ceux qui sont confrontés aux mêmes problèmes.
|
||||
Une bonne façon de contribuer au projet est d'aider ceux qui éprouvent des difficultés. This is normally reported as a ticket or a message on the Wails discord server. Même clarifier le problème peut vraiment aider. Parfois, quand un problème est discuté et résolu, nous créons un guide pour aider ceux qui sont confrontés aux mêmes problèmes.
|
||||
|
||||
To join the Wails discord server, click [here](https://discord.gg/JDdSxwjhGf).
|
||||
|
||||
Pour rejoindre le canal de discord de Wails, acceptez l'invitation [ici](https://discord.com/invite/JDdSxwjhGf).
|
||||
:::note
|
||||
|
||||
Travail en cours
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
- [Stffabi](https://github.com/stffabi) - Chef technique, développeur et mainteneur
|
||||
- [Misite Bao](https://github.com/misitebao) - Sorcier de la documentation, traducteur chinois, testeur pour Windows, découvreur principal de bugs
|
||||
- [Travis McLane](https://github.com/tmclane) - Travaux de compilation sur plusieurs plateformes, testeur MacOS
|
||||
- [Byron Chris](https://github.com/bh90210) - Sorcier des distributions Linux, testeur Linux
|
||||
- [Lyimmi](https://github.com/Lyimmi) - All things Linux
|
||||
|
||||
## Partenaires
|
||||
<img src="/img/sponsors.svg" style={{"width":"85%","max-width":"800px;"}} />
|
||||
<img src="/img/sponsor/jetbrains-grayscale.webp" style={{"width":"100px"}} />
|
||||
|
||||
## Contributeurs
|
||||
|
||||
|
|
@ -15,172 +16,244 @@
|
|||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/leaanthony"><img src="https://avatars.githubusercontent.com/u/1943904?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Lea Anthony</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Code">💻</a> <a href="#ideas-leaanthony" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-leaanthony" title="Design">🎨</a> <a href="#content-leaanthony" title="Content">🖋</a> <a href="#example-leaanthony" title="Examples">💡</a> <a href="#mentoring-leaanthony" title="Mentoring">🧑🏫</a> <a href="#projectManagement-leaanthony" title="Project Management">📆</a> <a href="#tool-leaanthony" title="Tools">🔧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aleaanthony" title="Bug reports">🐛</a> <a href="#blog-leaanthony" title="Blogposts">📝</a> <a href="#maintenance-leaanthony" title="Maintenance">🚧</a> <a href="#platform-leaanthony" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="#question-leaanthony" title="Answering Questions">💬</a> <a href="#research-leaanthony" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Tests">⚠️</a> <a href="#tutorial-leaanthony" title="Tutorials">✅</a> <a href="#talk-leaanthony" title="Talks">📢</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/stffabi"><img src="https://avatars.githubusercontent.com/u/9464631?v=4?s=75" width="75px;" alt=""/><br /><sub><b>stffabi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Code">💻</a> <a href="#ideas-stffabi" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-stffabi" title="Design">🎨</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astffabi" title="Bug reports">🐛</a> <a href="#maintenance-stffabi" title="Maintenance">🚧</a> <a href="#platform-stffabi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="#question-stffabi" title="Answering Questions">💬</a> <a href="#research-stffabi" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/tmclane"><img src="https://avatars.githubusercontent.com/u/511975?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Travis McLane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Code">💻</a> <a href="#research-tmclane" title="Research">🔬</a> <a href="#platform-tmclane" title="Packaging/porting to new platform">📦</a> <a href="#ideas-tmclane" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Atmclane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Atmclane" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Tests">⚠️</a> <a href="#question-tmclane" title="Answering Questions">💬</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://misitebao.com/"><img src="https://avatars.githubusercontent.com/u/28185258?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Misite Bao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=misitebao" title="Documentation">📖</a> <a href="#translation-misitebao" title="Translation">🌍</a> <a href="#research-misitebao" title="Research">🔬</a> <a href="#maintenance-misitebao" title="Maintenance">🚧</a></td>
|
||||
<td align="center"><a href="https://github.com/bh90210"><img src="https://avatars.githubusercontent.com/u/22690219?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Byron Chris</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Code">💻</a> <a href="#research-bh90210" title="Research">🔬</a> <a href="#maintenance-bh90210" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abh90210" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Abh90210" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Tests">⚠️</a> <a href="#question-bh90210" title="Answering Questions">💬</a> <a href="#ideas-bh90210" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-bh90210" title="Design">🎨</a> <a href="#platform-bh90210" title="Packaging/porting to new platform">📦</a> <a href="#infra-bh90210" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center"><a href="https://github.com/konez2k"><img src="https://avatars.githubusercontent.com/u/32417933?v=4?s=75" width="75px;" alt=""/><br /><sub><b>konez2k</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=konez2k" title="Code">💻</a> <a href="#platform-konez2k" title="Packaging/porting to new platform">📦</a> <a href="#ideas-konez2k" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/dedo1911"><img src="https://avatars.githubusercontent.com/u/1364496?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Dario Emerson</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adedo1911" title="Bug reports">🐛</a> <a href="#ideas-dedo1911" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://ianmjones.com/"><img src="https://avatars.githubusercontent.com/u/4710?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ian M. Jones</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aianmjones" title="Bug reports">🐛</a> <a href="#ideas-ianmjones" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aianmjones" title="Reviewed Pull Requests">👀</a> <a href="#platform-ianmjones" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/marktohark"><img src="https://avatars.githubusercontent.com/u/19359934?v=4?s=75" width="75px;" alt=""/><br /><sub><b>marktohark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marktohark" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/rh12503"><img src="https://avatars.githubusercontent.com/u/48951973?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ryan H</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rh12503" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://codybentley.dev/"><img src="https://avatars.githubusercontent.com/u/6968902?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Cody Bentley</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=codydbentley" title="Code">💻</a> <a href="#platform-codydbentley" title="Packaging/porting to new platform">📦</a> <a href="#ideas-codydbentley" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-codydbentley" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/napalu"><img src="https://avatars.githubusercontent.com/u/6690378?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Florent</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=napalu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Anapalu" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/akhudek"><img src="https://avatars.githubusercontent.com/u/147633?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Alexander Hudek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=akhudek" title="Code">💻</a> <a href="#financial-akhudek" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://twitter.com/timkippdev"><img src="https://avatars.githubusercontent.com/u/37030721?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tim Kipp</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=timkippdev" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/gelleson"><img src="https://avatars.githubusercontent.com/u/44272887?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Altynbek Kaliakbarov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gelleson" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Chronophylos"><img src="https://avatars.githubusercontent.com/u/14890588?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nikolai Zimmermann</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Chronophylos" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/k-muchmore"><img src="https://avatars.githubusercontent.com/u/16393095?v=4?s=75" width="75px;" alt=""/><br /><sub><b>k-muchmore</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=k-muchmore" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://peakd.com/@snider"><img src="https://avatars.githubusercontent.com/u/631881?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Snider</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Code">💻</a> <a href="#ideas-Snider" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Documentation">📖</a> <a href="#financial-Snider" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/albert-sun"><img src="https://avatars.githubusercontent.com/u/54585592?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Albert Sun</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/adalessa"><img src="https://avatars.githubusercontent.com/u/7914601?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ariel</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=adalessa" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aadalessa" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://triplebits.com/"><img src="https://avatars.githubusercontent.com/u/4365245?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ilgıt Yıldırım</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ilgityildirim" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ailgityildirim" title="Bug reports">🐛</a> <a href="#financial-ilgityildirim" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Vaelatern"><img src="https://avatars.githubusercontent.com/u/7906072?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Toyam Cox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Vaelatern" title="Code">💻</a> <a href="#platform-Vaelatern" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AVaelatern" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/hi019"><img src="https://avatars.githubusercontent.com/u/65871571?v=4?s=75" width="75px;" alt=""/><br /><sub><b>hi019</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=hi019" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ahi019" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://artooro.com/"><img src="https://avatars.githubusercontent.com/u/393395?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Arthur Wiebe</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=artooro" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aartooro" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://sectcs.com/"><img src="https://avatars.githubusercontent.com/u/16898783?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Balakrishna Prasad Ganne</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aayush420" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/BillBuilt"><img src="https://avatars.githubusercontent.com/u/28831382?v=4?s=75" width="75px;" alt=""/><br /><sub><b>BillBuilt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=BillBuilt" title="Code">💻</a> <a href="#platform-BillBuilt" title="Packaging/porting to new platform">📦</a> <a href="#ideas-BillBuilt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-BillBuilt" title="Answering Questions">💬</a> <a href="#financial-BillBuilt" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Juneezee"><img src="https://avatars.githubusercontent.com/u/20135478?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Eng Zer Jun</b></sub></a><br /><a href="#maintenance-Juneezee" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/commits?author=Juneezee" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://lgiki.net/"><img src="https://avatars.githubusercontent.com/u/20807713?v=4?s=75" width="75px;" alt=""/><br /><sub><b>LGiki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LGiki" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/lontten"><img src="https://avatars.githubusercontent.com/u/30745595?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Lontten</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=lontten" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/phoenix147"><img src="https://avatars.githubusercontent.com/u/809358?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Lukas Crepaz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=phoenix147" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aphoenix147" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://utf9k.net/"><img src="https://avatars.githubusercontent.com/u/14816406?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Marcus Crane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Amarcus-crane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=marcus-crane" title="Documentation">📖</a> <a href="#financial-marcus-crane" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://qaisjp.com/"><img src="https://avatars.githubusercontent.com/u/923242?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Qais Patankar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=qaisjp" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://wakefulcloud.dev/"><img src="https://avatars.githubusercontent.com/u/38930607?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Wakeful-Cloud</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Wakeful-Cloud" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AWakeful-Cloud" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Lyimmi"><img src="https://avatars.githubusercontent.com/u/8627125?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Zámbó, Levente</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Code">💻</a> <a href="#platform-Lyimmi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALyimmi" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/Ironpark"><img src="https://avatars.githubusercontent.com/u/4973597?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ironpark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Ironpark" title="Code">💻</a> <a href="#ideas-Ironpark" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/mondy"><img src="https://avatars.githubusercontent.com/u/3961824?v=4?s=75" width="75px;" alt=""/><br /><sub><b>mondy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://ryben.dev/"><img src="https://avatars.githubusercontent.com/u/6241454?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Benjamin Ryan</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Aredraskal" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/fallendusk"><img src="https://avatars.githubusercontent.com/u/565631?v=4?s=75" width="75px;" alt=""/><br /><sub><b>fallendusk</b></sub></a><br /><a href="#platform-fallendusk" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=fallendusk" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://twitter.com/matryer"><img src="https://avatars.githubusercontent.com/u/101659?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Mat Ryer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=matryer" title="Code">💻</a> <a href="#ideas-matryer" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amatryer" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/abtin"><img src="https://avatars.githubusercontent.com/u/441372?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Abtin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=abtin" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aabtin" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/lanzafame"><img src="https://avatars.githubusercontent.com/u/5924712?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Adrian Lanzafame</b></sub></a><br /><a href="#platform-lanzafame" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=lanzafame" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/polikow"><img src="https://avatars.githubusercontent.com/u/58259700?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Aleksey Polyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Apolikow" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=polikow" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/alexmat"><img src="https://avatars.githubusercontent.com/u/745421?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Alexander Matviychuk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=alexmat" title="Code">💻</a> <a href="#platform-alexmat" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/AlienRecall"><img src="https://avatars.githubusercontent.com/u/68950287?v=4?s=75" width="75px;" alt=""/><br /><sub><b>AlienRecall</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=AlienRecall" title="Code">💻</a> <a href="#platform-AlienRecall" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://blog.checkyo.tech/"><img src="https://avatars.githubusercontent.com/u/17457975?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Aman</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=achhabra2" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/amaury-tobias"><img src="https://avatars.githubusercontent.com/u/37311888?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Amaury Tobias Quiroz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=amaury-tobias" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aamaury-tobias" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="http://blog.nms.de/"><img src="https://avatars.githubusercontent.com/u/51517?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Andreas Wenk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=andywenk" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/stankovic98"><img src="https://avatars.githubusercontent.com/u/29852655?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Antonio Stanković</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stankovic98" title="Code">💻</a> <a href="#platform-stankovic98" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/antimatter96"><img src="https://avatars.githubusercontent.com/u/12068176?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Arpit Jain</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=antimatter96" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/aschey"><img src="https://avatars.githubusercontent.com/u/5882266?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Austin Schey</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aschey" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aaschey" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/benjamin-thomas"><img src="https://avatars.githubusercontent.com/u/1557738?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Benjamin Thomas</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=benjamin-thomas" title="Code">💻</a> <a href="#platform-benjamin-thomas" title="Packaging/porting to new platform">📦</a> <a href="#ideas-benjamin-thomas" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://www.bertramtruong.com/"><img src="https://avatars.githubusercontent.com/u/1100843?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Bertram Truong</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bt" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abt" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="http://techwizworld.net/"><img src="https://avatars.githubusercontent.com/u/175873?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Blake Bourque</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TechplexEngineer" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="http://vk.com/raitonoberu"><img src="https://avatars.githubusercontent.com/u/64320078?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Denis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=raitonoberu" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/diogox"><img src="https://avatars.githubusercontent.com/u/13244408?v=4?s=75" width="75px;" alt=""/><br /><sub><b>diogox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=diogox" title="Code">💻</a> <a href="#platform-diogox" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/kyoto44"><img src="https://avatars.githubusercontent.com/u/17720761?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Dmitry Gomzyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kyoto44" title="Code">💻</a> <a href="#platform-kyoto44" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/edwardbrowncross"><img src="https://avatars.githubusercontent.com/u/35063432?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Edward Browncross</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=edwardbrowncross" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://pr0gramming.ca/"><img src="https://avatars.githubusercontent.com/u/14944216?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Elie Grenon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=elie-g" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/fdidron"><img src="https://avatars.githubusercontent.com/u/1848786?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Florian Didron</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Afdidron" title="Bug reports">🐛</a> <a href="#ideas-fdidron" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Afdidron" title="Reviewed Pull Requests">👀</a> <a href="#platform-fdidron" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/GargantuaX"><img src="https://avatars.githubusercontent.com/u/14013111?v=4?s=75" width="75px;" alt=""/><br /><sub><b>GargantuaX</b></sub></a><br /><a href="#financial-GargantuaX" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://bednya.ga/"><img src="https://avatars.githubusercontent.com/u/12101721?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Igor Minin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Igogrek" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AIgogrek" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://www.jae-sung.com/"><img src="https://avatars.githubusercontent.com/u/39658806?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Jae-Sung Lee</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jaesung9507" title="Code">💻</a> <a href="#ideas-jaesung9507" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/Jarek-SRT"><img src="https://avatars.githubusercontent.com/u/3391365?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Jarek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Jarek-SRT" title="Code">💻</a> <a href="#platform-Jarek-SRT" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/Junkher"><img src="https://avatars.githubusercontent.com/u/85776620?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Junker</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Junkher" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/kraney"><img src="https://avatars.githubusercontent.com/u/5760081?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Kris Raney</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kraney" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Akraney" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/LukenSkyne"><img src="https://avatars.githubusercontent.com/u/29918069?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Luken</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LukenSkyne" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://markstenglein.com/"><img src="https://avatars.githubusercontent.com/u/9255772?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Mark Stenglein</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ocelotsloth" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aocelotsloth" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/buddyabaddon"><img src="https://avatars.githubusercontent.com/u/33861511?v=4?s=75" width="75px;" alt=""/><br /><sub><b>buddyabaddon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=buddyabaddon" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/MikeSchaap"><img src="https://avatars.githubusercontent.com/u/35368821?v=4?s=75" width="75px;" alt=""/><br /><sub><b>MikeSchaap</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MikeSchaap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AMikeSchaap" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Orijhins"><img src="https://avatars.githubusercontent.com/u/47521598?v=4?s=75" width="75px;" alt=""/><br /><sub><b>NYSSEN Michaël</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Orijhins" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AOrijhins" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/NanoNik"><img src="https://avatars.githubusercontent.com/u/11991329?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nan0</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Code">💻</a> <a href="#ideas-NanoNik" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3ANanoNik" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center"><a href="https://github.com/marcio199226"><img src="https://avatars.githubusercontent.com/u/10244404?v=4?s=75" width="75px;" alt=""/><br /><sub><b>oskar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marcio199226" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/pierrejoye"><img src="https://avatars.githubusercontent.com/u/282408?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Pierre Joye</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Apierrejoye" title="Bug reports">🐛</a> <a href="#ideas-pierrejoye" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/Rested"><img src="https://avatars.githubusercontent.com/u/2003608?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Reuben Thomas-Davis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Rested" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ARested" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/mewmew"><img src="https://avatars.githubusercontent.com/u/1414531?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Robin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mewmew" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amewmew" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://threema.id/YSB3TVF7"><img src="https://avatars.githubusercontent.com/u/70367451?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sebastian Bauer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Code">💻</a> <a href="#ideas-sebastian0x62" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Asebastian0x62" title="Reviewed Pull Requests">👀</a> <a href="#question-sebastian0x62" title="Answering Questions">💬</a></td>
|
||||
<td align="center"><a href="https://github.com/sidwebworks"><img src="https://avatars.githubusercontent.com/u/58144379?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sidharth Rathi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sidwebworks" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asidwebworks" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/sithembiso"><img src="https://avatars.githubusercontent.com/u/6559905?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sithembiso Khumalo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sithembiso" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asithembiso" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/LanguageAgnostic"><img src="https://avatars.githubusercontent.com/u/19310562?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Soheib El-Harrache</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LanguageAgnostic" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALanguageAgnostic" title="Bug reports">🐛</a> <a href="#financial-LanguageAgnostic" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://www.sophieau.com/"><img src="https://avatars.githubusercontent.com/u/11145039?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sophie Au</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SophieAu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ASophieAu" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/stefpap"><img src="https://avatars.githubusercontent.com/u/22637722?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Stefanos Papadakis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stefpap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astefpap" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/s12chung"><img src="https://avatars.githubusercontent.com/u/263394?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Steve Chung</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=s12chung" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3As12chung" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://tortloff.de/"><img src="https://avatars.githubusercontent.com/u/41272726?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Timm Ortloff</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TAINCER" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/tomanagle"><img src="https://avatars.githubusercontent.com/u/8683577?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tom</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tomanagle" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.linkedin.com/in/valentintrinque"><img src="https://avatars.githubusercontent.com/u/4662842?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Valentin Trinqué</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ValentinTrinque" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AValentinTrinque" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://mattn.kaoriya.net/"><img src="https://avatars.githubusercontent.com/u/10111?v=4?s=75" width="75px;" alt=""/><br /><sub><b>mattn</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mattn" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amattn" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/bearsh"><img src="https://avatars.githubusercontent.com/u/1089356?v=4?s=75" width="75px;" alt=""/><br /><sub><b>bearsh</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Code">💻</a> <a href="#ideas-bearsh" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/chenxiao1990"><img src="https://avatars.githubusercontent.com/u/16933565?v=4?s=75" width="75px;" alt=""/><br /><sub><b>chenxiao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Code">💻</a> <a href="#ideas-chenxiao1990" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/fengweiqiang"><img src="https://avatars.githubusercontent.com/u/22905300?v=4?s=75" width="75px;" alt=""/><br /><sub><b>fengweiqiang</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fengweiqiang" title="Code">💻</a> <a href="#platform-fengweiqiang" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/flin7"><img src="https://avatars.githubusercontent.com/u/58138185?v=4?s=75" width="75px;" alt=""/><br /><sub><b>flin7</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=flin7" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/fred21O4"><img src="https://avatars.githubusercontent.com/u/67189813?v=4?s=75" width="75px;" alt=""/><br /><sub><b>fred21O4</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fred21O4" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/gardc"><img src="https://avatars.githubusercontent.com/u/41453409?v=4?s=75" width="75px;" alt=""/><br /><sub><b>gardc</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gardc" title="Documentation">📖</a> <a href="#tutorial-gardc" title="Tutorials">✅</a></td>
|
||||
<td align="center"><a href="https://github.com/rayshoo"><img src="https://avatars.githubusercontent.com/u/52561899?v=4?s=75" width="75px;" alt=""/><br /><sub><b>rayshoo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rayshoo" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/Yz4230"><img src="https://avatars.githubusercontent.com/u/38999742?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ishiyama Yuzuki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Yz4230" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AYz4230" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://baiyue.one/"><img src="https://avatars.githubusercontent.com/u/43716063?v=4?s=75" width="75px;" alt=""/><br /><sub><b>佰阅</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Baiyuetribe" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/daodao97"><img src="https://avatars.githubusercontent.com/u/15009280?v=4?s=75" width="75px;" alt=""/><br /><sub><b>刀刀</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=daodao97" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adaodao97" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/jicg"><img src="https://avatars.githubusercontent.com/u/6479672?v=4?s=75" width="75px;" alt=""/><br /><sub><b>归位</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jicg" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ajicg" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/skamensky"><img src="https://avatars.githubusercontent.com/u/19151369?v=4?s=75" width="75px;" alt=""/><br /><sub><b>skamensky</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Code">💻</a> <a href="#ideas-skamensky" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/apps/dependabot"><img src="https://avatars.githubusercontent.com/in/29110?v=4?s=75" width="75px;" alt=""/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dependabot[bot]" title="Code">💻</a> <a href="#maintenance-dependabot[bot]" title="Maintenance">🚧</a></td>
|
||||
<td align="center"><a href="https://www.linkedin.com/in/dsieradzki/"><img src="https://avatars.githubusercontent.com/u/10297559?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Damian Sieradzki</b></sub></a><br /><a href="#financial-dsieradzki" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/boostchicken"><img src="https://avatars.githubusercontent.com/u/427295?v=4?s=75" width="75px;" alt=""/><br /><sub><b>John Dorman</b></sub></a><br /><a href="#financial-boostchicken" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://blog.iansinnott.com/"><img src="https://avatars.githubusercontent.com/u/3154865?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ian Sinnott</b></sub></a><br /><a href="#financial-iansinnott" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Shackelford-Arden"><img src="https://avatars.githubusercontent.com/u/7362263?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Arden Shackelford</b></sub></a><br /><a href="#financial-Shackelford-Arden" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Bironou"><img src="https://avatars.githubusercontent.com/u/107761511?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Bironou</b></sub></a><br /><a href="#financial-Bironou" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/CharlieGo19"><img src="https://avatars.githubusercontent.com/u/62405980?v=4?s=75" width="75px;" alt=""/><br /><sub><b>CharlieGo_</b></sub></a><br /><a href="#financial-CharlieGo19" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/overnet"><img src="https://avatars.githubusercontent.com/u/6376126?v=4?s=75" width="75px;" alt=""/><br /><sub><b>overnet</b></sub></a><br /><a href="#financial-overnet" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://jugglingjsons.dev/"><img src="https://avatars.githubusercontent.com/u/20739064?v=4?s=75" width="75px;" alt=""/><br /><sub><b>jugglingjsons</b></sub></a><br /><a href="#financial-jugglingjsons" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://selvin.dev/"><img src="https://avatars.githubusercontent.com/u/1922523?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Selvin Ortiz</b></sub></a><br /><a href="#financial-selvindev" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/zandercodes"><img src="https://avatars.githubusercontent.com/u/46308805?v=4?s=75" width="75px;" alt=""/><br /><sub><b>ZanderCodes</b></sub></a><br /><a href="#financial-zandercodes" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/DonTomato"><img src="https://avatars.githubusercontent.com/u/1098084?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Michael Voronov</b></sub></a><br /><a href="#financial-DonTomato" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://lt.hn/"><img src="https://avatars.githubusercontent.com/u/83868036?v=4?s=75" width="75px;" alt=""/><br /><sub><b>letheanVPN</b></sub></a><br /><a href="#financial-letheanVPN" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://taigrr.com/"><img src="https://avatars.githubusercontent.com/u/8261498?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tai Groot</b></sub></a><br /><a href="#financial-taigrr" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/easy-web-it"><img src="https://avatars.githubusercontent.com/u/95484991?v=4?s=75" width="75px;" alt=""/><br /><sub><b>easy-web-it</b></sub></a><br /><a href="#financial-easy-web-it" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://michaelolson1996.github.io/portfolio"><img src="https://avatars.githubusercontent.com/u/45323107?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Michael Olson</b></sub></a><br /><a href="#financial-michaelolson1996" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://eden.network/"><img src="https://avatars.githubusercontent.com/u/4912777?v=4?s=75" width="75px;" alt=""/><br /><sub><b>EdenNetwork Italia</b></sub></a><br /><a href="#financial-EdenNetworkItalia" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/ondoki"><img src="https://avatars.githubusercontent.com/u/88536792?v=4?s=75" width="75px;" alt=""/><br /><sub><b>ondoki</b></sub></a><br /><a href="#financial-ondoki" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/questrail"><img src="https://avatars.githubusercontent.com/u/3536569?v=4?s=75" width="75px;" alt=""/><br /><sub><b>QuEST Rail LLC</b></sub></a><br /><a href="#financial-questrail" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Gilgames000"><img src="https://avatars.githubusercontent.com/u/22778436?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Gilgameš</b></sub></a><br /><a href="#financial-Gilgames000" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/bbergshaven"><img src="https://avatars.githubusercontent.com/u/4091634?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Bernt-Johan Bergshaven</b></sub></a><br /><a href="#financial-bbergshaven" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/bglw"><img src="https://avatars.githubusercontent.com/u/40188355?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Liam Bigelow</b></sub></a><br /><a href="#financial-bglw" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/nickarellano"><img src="https://avatars.githubusercontent.com/u/13930605?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nick Arellano</b></sub></a><br /><a href="#financial-nickarellano" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/fcjr"><img src="https://avatars.githubusercontent.com/u/2053002?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Frank Chiarulli Jr.</b></sub></a><br /><a href="#financial-fcjr" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/tylertravisty"><img src="https://avatars.githubusercontent.com/u/8620352?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tyler</b></sub></a><br /><a href="#financial-tylertravisty" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/trea"><img src="https://avatars.githubusercontent.com/u/1181448?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Trea Hauet</b></sub></a><br /><a href="#financial-trea" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://picatz.github.io/"><img src="https://avatars.githubusercontent.com/u/14850816?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Kent 'picat' Gruber</b></sub></a><br /><a href="#financial-picatz" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/tc-hib"><img src="https://avatars.githubusercontent.com/u/55949036?v=4?s=75" width="75px;" alt=""/><br /><sub><b>tc-hib</b></sub></a><br /><a href="#financial-tc-hib" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/acheong08"><img src="https://avatars.githubusercontent.com/u/36258159?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Antonio</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=acheong08" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/MyNameIsAres"><img src="https://avatars.githubusercontent.com/u/32432637?v=4?s=75" width="75px;" alt=""/><br /><sub><b>MyNameIsAres</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MyNameIsAres" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://mai.car.ons"><img src="https://avatars.githubusercontent.com/u/101958587?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Maicarons J</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Maicarons2022" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/KiddoV"><img src="https://avatars.githubusercontent.com/u/28552977?v=4?s=75" width="75px;" alt=""/><br /><sub><b>kiddov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Documentation">📖</a> <a href="#financial-KiddoV" title="Financial">💵</a> <a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Tests">⚠️</a> <a href="#ideas-KiddoV" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://nicolas-coutin.com/"><img src="https://avatars.githubusercontent.com/u/6564012?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nicolas Coutin</b></sub></a><br /><a href="#financial-Ilshidur" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/ParvinEyvazov"><img src="https://avatars.githubusercontent.com/u/32189770?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Parvin Eyvazov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ParvinEyvazov" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/leaanthony"><img src="https://avatars.githubusercontent.com/u/1943904?v=4?s=75" width="75px;" alt="Lea Anthony"/><br /><sub><b>Lea Anthony</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Code">💻</a> <a href="#ideas-leaanthony" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-leaanthony" title="Design">🎨</a> <a href="#content-leaanthony" title="Content">🖋</a> <a href="#example-leaanthony" title="Examples">💡</a> <a href="#mentoring-leaanthony" title="Mentoring">🧑🏫</a> <a href="#projectManagement-leaanthony" title="Project Management">📆</a> <a href="#tool-leaanthony" title="Tools">🔧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aleaanthony" title="Bug reports">🐛</a> <a href="#blog-leaanthony" title="Blogposts">📝</a> <a href="#maintenance-leaanthony" title="Maintenance">🚧</a> <a href="#platform-leaanthony" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="#question-leaanthony" title="Answering Questions">💬</a> <a href="#research-leaanthony" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Tests">⚠️</a> <a href="#tutorial-leaanthony" title="Tutorials">✅</a> <a href="#talk-leaanthony" title="Talks">📢</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/stffabi"><img src="https://avatars.githubusercontent.com/u/9464631?v=4?s=75" width="75px;" alt="stffabi"/><br /><sub><b>stffabi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Code">💻</a> <a href="#ideas-stffabi" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-stffabi" title="Design">🎨</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astffabi" title="Bug reports">🐛</a> <a href="#maintenance-stffabi" title="Maintenance">🚧</a> <a href="#platform-stffabi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="#question-stffabi" title="Answering Questions">💬</a> <a href="#research-stffabi" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tmclane"><img src="https://avatars.githubusercontent.com/u/511975?v=4?s=75" width="75px;" alt="Travis McLane"/><br /><sub><b>Travis McLane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Code">💻</a> <a href="#research-tmclane" title="Research">🔬</a> <a href="#platform-tmclane" title="Packaging/porting to new platform">📦</a> <a href="#ideas-tmclane" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Atmclane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Atmclane" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Tests">⚠️</a> <a href="#question-tmclane" title="Answering Questions">💬</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://misitebao.com/"><img src="https://avatars.githubusercontent.com/u/28185258?v=4?s=75" width="75px;" alt="Misite Bao"/><br /><sub><b>Misite Bao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=misitebao" title="Documentation">📖</a> <a href="#translation-misitebao" title="Translation">🌍</a> <a href="#research-misitebao" title="Research">🔬</a> <a href="#maintenance-misitebao" title="Maintenance">🚧</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bh90210"><img src="https://avatars.githubusercontent.com/u/22690219?v=4?s=75" width="75px;" alt="Byron Chris"/><br /><sub><b>Byron Chris</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Code">💻</a> <a href="#research-bh90210" title="Research">🔬</a> <a href="#maintenance-bh90210" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abh90210" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Abh90210" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Tests">⚠️</a> <a href="#question-bh90210" title="Answering Questions">💬</a> <a href="#ideas-bh90210" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-bh90210" title="Design">🎨</a> <a href="#platform-bh90210" title="Packaging/porting to new platform">📦</a> <a href="#infra-bh90210" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/konez2k"><img src="https://avatars.githubusercontent.com/u/32417933?v=4?s=75" width="75px;" alt="konez2k"/><br /><sub><b>konez2k</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=konez2k" title="Code">💻</a> <a href="#platform-konez2k" title="Packaging/porting to new platform">📦</a> <a href="#ideas-konez2k" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/dedo1911"><img src="https://avatars.githubusercontent.com/u/1364496?v=4?s=75" width="75px;" alt="Dario Emerson"/><br /><sub><b>Dario Emerson</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adedo1911" title="Bug reports">🐛</a> <a href="#ideas-dedo1911" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://ianmjones.com/"><img src="https://avatars.githubusercontent.com/u/4710?v=4?s=75" width="75px;" alt="Ian M. Jones"/><br /><sub><b>Ian M. Jones</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aianmjones" title="Bug reports">🐛</a> <a href="#ideas-ianmjones" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aianmjones" title="Reviewed Pull Requests">👀</a> <a href="#platform-ianmjones" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/marktohark"><img src="https://avatars.githubusercontent.com/u/19359934?v=4?s=75" width="75px;" alt="marktohark"/><br /><sub><b>marktohark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marktohark" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/rh12503"><img src="https://avatars.githubusercontent.com/u/48951973?v=4?s=75" width="75px;" alt="Ryan H"/><br /><sub><b>Ryan H</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rh12503" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://codybentley.dev/"><img src="https://avatars.githubusercontent.com/u/6968902?v=4?s=75" width="75px;" alt="Cody Bentley"/><br /><sub><b>Cody Bentley</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=codydbentley" title="Code">💻</a> <a href="#platform-codydbentley" title="Packaging/porting to new platform">📦</a> <a href="#ideas-codydbentley" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-codydbentley" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/napalu"><img src="https://avatars.githubusercontent.com/u/6690378?v=4?s=75" width="75px;" alt="Florent"/><br /><sub><b>Florent</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=napalu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Anapalu" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/akhudek"><img src="https://avatars.githubusercontent.com/u/147633?v=4?s=75" width="75px;" alt="Alexander Hudek"/><br /><sub><b>Alexander Hudek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=akhudek" title="Code">💻</a> <a href="#financial-akhudek" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://twitter.com/timkippdev"><img src="https://avatars.githubusercontent.com/u/37030721?v=4?s=75" width="75px;" alt="Tim Kipp"/><br /><sub><b>Tim Kipp</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=timkippdev" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gelleson"><img src="https://avatars.githubusercontent.com/u/44272887?v=4?s=75" width="75px;" alt="Altynbek Kaliakbarov"/><br /><sub><b>Altynbek Kaliakbarov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gelleson" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Chronophylos"><img src="https://avatars.githubusercontent.com/u/14890588?v=4?s=75" width="75px;" alt="Nikolai Zimmermann"/><br /><sub><b>Nikolai Zimmermann</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Chronophylos" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/k-muchmore"><img src="https://avatars.githubusercontent.com/u/16393095?v=4?s=75" width="75px;" alt="k-muchmore"/><br /><sub><b>k-muchmore</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=k-muchmore" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://peakd.com/@snider"><img src="https://avatars.githubusercontent.com/u/631881?v=4?s=75" width="75px;" alt="Snider"/><br /><sub><b>Snider</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Code">💻</a> <a href="#ideas-Snider" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Documentation">📖</a> <a href="#financial-Snider" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/albert-sun"><img src="https://avatars.githubusercontent.com/u/54585592?v=4?s=75" width="75px;" alt="Albert Sun"/><br /><sub><b>Albert Sun</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/adalessa"><img src="https://avatars.githubusercontent.com/u/7914601?v=4?s=75" width="75px;" alt="Ariel"/><br /><sub><b>Ariel</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=adalessa" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aadalessa" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://triplebits.com/"><img src="https://avatars.githubusercontent.com/u/4365245?v=4?s=75" width="75px;" alt="Ilgıt Yıldırım"/><br /><sub><b>Ilgıt Yıldırım</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ilgityildirim" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ailgityildirim" title="Bug reports">🐛</a> <a href="#financial-ilgityildirim" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Vaelatern"><img src="https://avatars.githubusercontent.com/u/7906072?v=4?s=75" width="75px;" alt="Toyam Cox"/><br /><sub><b>Toyam Cox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Vaelatern" title="Code">💻</a> <a href="#platform-Vaelatern" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AVaelatern" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/hi019"><img src="https://avatars.githubusercontent.com/u/65871571?v=4?s=75" width="75px;" alt="hi019"/><br /><sub><b>hi019</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=hi019" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ahi019" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://artooro.com/"><img src="https://avatars.githubusercontent.com/u/393395?v=4?s=75" width="75px;" alt="Arthur Wiebe"/><br /><sub><b>Arthur Wiebe</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=artooro" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aartooro" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://sectcs.com/"><img src="https://avatars.githubusercontent.com/u/16898783?v=4?s=75" width="75px;" alt="Balakrishna Prasad Ganne"/><br /><sub><b>Balakrishna Prasad Ganne</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aayush420" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/BillBuilt"><img src="https://avatars.githubusercontent.com/u/28831382?v=4?s=75" width="75px;" alt="BillBuilt"/><br /><sub><b>BillBuilt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=BillBuilt" title="Code">💻</a> <a href="#platform-BillBuilt" title="Packaging/porting to new platform">📦</a> <a href="#ideas-BillBuilt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-BillBuilt" title="Answering Questions">💬</a> <a href="#financial-BillBuilt" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Juneezee"><img src="https://avatars.githubusercontent.com/u/20135478?v=4?s=75" width="75px;" alt="Eng Zer Jun"/><br /><sub><b>Eng Zer Jun</b></sub></a><br /><a href="#maintenance-Juneezee" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/commits?author=Juneezee" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://lgiki.net/"><img src="https://avatars.githubusercontent.com/u/20807713?v=4?s=75" width="75px;" alt="LGiki"/><br /><sub><b>LGiki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LGiki" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/lontten"><img src="https://avatars.githubusercontent.com/u/30745595?v=4?s=75" width="75px;" alt="Lontten"/><br /><sub><b>Lontten</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=lontten" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/phoenix147"><img src="https://avatars.githubusercontent.com/u/809358?v=4?s=75" width="75px;" alt="Lukas Crepaz"/><br /><sub><b>Lukas Crepaz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=phoenix147" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aphoenix147" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://utf9k.net/"><img src="https://avatars.githubusercontent.com/u/14816406?v=4?s=75" width="75px;" alt="Marcus Crane"/><br /><sub><b>Marcus Crane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Amarcus-crane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=marcus-crane" title="Documentation">📖</a> <a href="#financial-marcus-crane" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://qaisjp.com/"><img src="https://avatars.githubusercontent.com/u/923242?v=4?s=75" width="75px;" alt="Qais Patankar"/><br /><sub><b>Qais Patankar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=qaisjp" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://wakefulcloud.dev/"><img src="https://avatars.githubusercontent.com/u/38930607?v=4?s=75" width="75px;" alt="Wakeful-Cloud"/><br /><sub><b>Wakeful-Cloud</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Wakeful-Cloud" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AWakeful-Cloud" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Lyimmi"><img src="https://avatars.githubusercontent.com/u/8627125?v=4?s=75" width="75px;" alt="Zámbó, Levente"/><br /><sub><b>Zámbó, Levente</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Code">💻</a> <a href="#platform-Lyimmi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALyimmi" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Ironpark"><img src="https://avatars.githubusercontent.com/u/4973597?v=4?s=75" width="75px;" alt="Ironpark"/><br /><sub><b>Ironpark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Ironpark" title="Code">💻</a> <a href="#ideas-Ironpark" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/mondy"><img src="https://avatars.githubusercontent.com/u/3961824?v=4?s=75" width="75px;" alt="mondy"/><br /><sub><b>mondy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://ryben.dev/"><img src="https://avatars.githubusercontent.com/u/6241454?v=4?s=75" width="75px;" alt="Benjamin Ryan"/><br /><sub><b>Benjamin Ryan</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Aredraskal" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fallendusk"><img src="https://avatars.githubusercontent.com/u/565631?v=4?s=75" width="75px;" alt="fallendusk"/><br /><sub><b>fallendusk</b></sub></a><br /><a href="#platform-fallendusk" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=fallendusk" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://twitter.com/matryer"><img src="https://avatars.githubusercontent.com/u/101659?v=4?s=75" width="75px;" alt="Mat Ryer"/><br /><sub><b>Mat Ryer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=matryer" title="Code">💻</a> <a href="#ideas-matryer" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amatryer" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/abtin"><img src="https://avatars.githubusercontent.com/u/441372?v=4?s=75" width="75px;" alt="Abtin"/><br /><sub><b>Abtin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=abtin" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aabtin" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/lanzafame"><img src="https://avatars.githubusercontent.com/u/5924712?v=4?s=75" width="75px;" alt="Adrian Lanzafame"/><br /><sub><b>Adrian Lanzafame</b></sub></a><br /><a href="#platform-lanzafame" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=lanzafame" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/polikow"><img src="https://avatars.githubusercontent.com/u/58259700?v=4?s=75" width="75px;" alt="Aleksey Polyakov"/><br /><sub><b>Aleksey Polyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Apolikow" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=polikow" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/alexmat"><img src="https://avatars.githubusercontent.com/u/745421?v=4?s=75" width="75px;" alt="Alexander Matviychuk"/><br /><sub><b>Alexander Matviychuk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=alexmat" title="Code">💻</a> <a href="#platform-alexmat" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/AlienRecall"><img src="https://avatars.githubusercontent.com/u/68950287?v=4?s=75" width="75px;" alt="AlienRecall"/><br /><sub><b>AlienRecall</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=AlienRecall" title="Code">💻</a> <a href="#platform-AlienRecall" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://blog.checkyo.tech/"><img src="https://avatars.githubusercontent.com/u/17457975?v=4?s=75" width="75px;" alt="Aman"/><br /><sub><b>Aman</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=achhabra2" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/amaury-tobias"><img src="https://avatars.githubusercontent.com/u/37311888?v=4?s=75" width="75px;" alt="Amaury Tobias Quiroz"/><br /><sub><b>Amaury Tobias Quiroz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=amaury-tobias" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aamaury-tobias" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://blog.nms.de/"><img src="https://avatars.githubusercontent.com/u/51517?v=4?s=75" width="75px;" alt="Andreas Wenk"/><br /><sub><b>Andreas Wenk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=andywenk" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/stankovic98"><img src="https://avatars.githubusercontent.com/u/29852655?v=4?s=75" width="75px;" alt="Antonio Stanković"/><br /><sub><b>Antonio Stanković</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stankovic98" title="Code">💻</a> <a href="#platform-stankovic98" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/antimatter96"><img src="https://avatars.githubusercontent.com/u/12068176?v=4?s=75" width="75px;" alt="Arpit Jain"/><br /><sub><b>Arpit Jain</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=antimatter96" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/aschey"><img src="https://avatars.githubusercontent.com/u/5882266?v=4?s=75" width="75px;" alt="Austin Schey"/><br /><sub><b>Austin Schey</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aschey" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aaschey" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/benjamin-thomas"><img src="https://avatars.githubusercontent.com/u/1557738?v=4?s=75" width="75px;" alt="Benjamin Thomas"/><br /><sub><b>Benjamin Thomas</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=benjamin-thomas" title="Code">💻</a> <a href="#platform-benjamin-thomas" title="Packaging/porting to new platform">📦</a> <a href="#ideas-benjamin-thomas" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.bertramtruong.com/"><img src="https://avatars.githubusercontent.com/u/1100843?v=4?s=75" width="75px;" alt="Bertram Truong"/><br /><sub><b>Bertram Truong</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bt" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abt" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://techwizworld.net/"><img src="https://avatars.githubusercontent.com/u/175873?v=4?s=75" width="75px;" alt="Blake Bourque"/><br /><sub><b>Blake Bourque</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TechplexEngineer" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://vk.com/raitonoberu"><img src="https://avatars.githubusercontent.com/u/64320078?v=4?s=75" width="75px;" alt="Denis"/><br /><sub><b>Denis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=raitonoberu" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/diogox"><img src="https://avatars.githubusercontent.com/u/13244408?v=4?s=75" width="75px;" alt="diogox"/><br /><sub><b>diogox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=diogox" title="Code">💻</a> <a href="#platform-diogox" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/kyoto44"><img src="https://avatars.githubusercontent.com/u/17720761?v=4?s=75" width="75px;" alt="Dmitry Gomzyakov"/><br /><sub><b>Dmitry Gomzyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kyoto44" title="Code">💻</a> <a href="#platform-kyoto44" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/edwardbrowncross"><img src="https://avatars.githubusercontent.com/u/35063432?v=4?s=75" width="75px;" alt="Edward Browncross"/><br /><sub><b>Edward Browncross</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=edwardbrowncross" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://pr0gramming.ca/"><img src="https://avatars.githubusercontent.com/u/14944216?v=4?s=75" width="75px;" alt="Elie Grenon"/><br /><sub><b>Elie Grenon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=elie-g" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fdidron"><img src="https://avatars.githubusercontent.com/u/1848786?v=4?s=75" width="75px;" alt="Florian Didron"/><br /><sub><b>Florian Didron</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Afdidron" title="Bug reports">🐛</a> <a href="#ideas-fdidron" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Afdidron" title="Reviewed Pull Requests">👀</a> <a href="#platform-fdidron" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/GargantuaX"><img src="https://avatars.githubusercontent.com/u/14013111?v=4?s=75" width="75px;" alt="GargantuaX"/><br /><sub><b>GargantuaX</b></sub></a><br /><a href="#financial-GargantuaX" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://bednya.ga/"><img src="https://avatars.githubusercontent.com/u/12101721?v=4?s=75" width="75px;" alt="Igor Minin"/><br /><sub><b>Igor Minin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Igogrek" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AIgogrek" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.jae-sung.com/"><img src="https://avatars.githubusercontent.com/u/39658806?v=4?s=75" width="75px;" alt="Jae-Sung Lee"/><br /><sub><b>Jae-Sung Lee</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jaesung9507" title="Code">💻</a> <a href="#ideas-jaesung9507" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Jarek-SRT"><img src="https://avatars.githubusercontent.com/u/3391365?v=4?s=75" width="75px;" alt="Jarek"/><br /><sub><b>Jarek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Jarek-SRT" title="Code">💻</a> <a href="#platform-Jarek-SRT" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Junkher"><img src="https://avatars.githubusercontent.com/u/85776620?v=4?s=75" width="75px;" alt="Junker"/><br /><sub><b>Junker</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Junkher" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/kraney"><img src="https://avatars.githubusercontent.com/u/5760081?v=4?s=75" width="75px;" alt="Kris Raney"/><br /><sub><b>Kris Raney</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kraney" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Akraney" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/LukenSkyne"><img src="https://avatars.githubusercontent.com/u/29918069?v=4?s=75" width="75px;" alt="Luken"/><br /><sub><b>Luken</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LukenSkyne" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://markstenglein.com/"><img src="https://avatars.githubusercontent.com/u/9255772?v=4?s=75" width="75px;" alt="Mark Stenglein"/><br /><sub><b>Mark Stenglein</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ocelotsloth" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aocelotsloth" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/buddyabaddon"><img src="https://avatars.githubusercontent.com/u/33861511?v=4?s=75" width="75px;" alt="buddyabaddon"/><br /><sub><b>buddyabaddon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=buddyabaddon" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/MikeSchaap"><img src="https://avatars.githubusercontent.com/u/35368821?v=4?s=75" width="75px;" alt="MikeSchaap"/><br /><sub><b>MikeSchaap</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MikeSchaap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AMikeSchaap" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Orijhins"><img src="https://avatars.githubusercontent.com/u/47521598?v=4?s=75" width="75px;" alt="NYSSEN Michaël"/><br /><sub><b>NYSSEN Michaël</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Orijhins" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AOrijhins" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/NanoNik"><img src="https://avatars.githubusercontent.com/u/11991329?v=4?s=75" width="75px;" alt="Nan0"/><br /><sub><b>Nan0</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Code">💻</a> <a href="#ideas-NanoNik" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3ANanoNik" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/marcio199226"><img src="https://avatars.githubusercontent.com/u/10244404?v=4?s=75" width="75px;" alt="oskar"/><br /><sub><b>oskar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marcio199226" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/pierrejoye"><img src="https://avatars.githubusercontent.com/u/282408?v=4?s=75" width="75px;" alt="Pierre Joye"/><br /><sub><b>Pierre Joye</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Apierrejoye" title="Bug reports">🐛</a> <a href="#ideas-pierrejoye" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Rested"><img src="https://avatars.githubusercontent.com/u/2003608?v=4?s=75" width="75px;" alt="Reuben Thomas-Davis"/><br /><sub><b>Reuben Thomas-Davis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Rested" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ARested" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/mewmew"><img src="https://avatars.githubusercontent.com/u/1414531?v=4?s=75" width="75px;" alt="Robin"/><br /><sub><b>Robin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mewmew" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amewmew" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://threema.id/YSB3TVF7"><img src="https://avatars.githubusercontent.com/u/70367451?v=4?s=75" width="75px;" alt="Sebastian Bauer"/><br /><sub><b>Sebastian Bauer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Code">💻</a> <a href="#ideas-sebastian0x62" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Asebastian0x62" title="Reviewed Pull Requests">👀</a> <a href="#question-sebastian0x62" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/sidwebworks"><img src="https://avatars.githubusercontent.com/u/58144379?v=4?s=75" width="75px;" alt="Sidharth Rathi"/><br /><sub><b>Sidharth Rathi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sidwebworks" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asidwebworks" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/sithembiso"><img src="https://avatars.githubusercontent.com/u/6559905?v=4?s=75" width="75px;" alt="Sithembiso Khumalo"/><br /><sub><b>Sithembiso Khumalo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sithembiso" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asithembiso" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/LanguageAgnostic"><img src="https://avatars.githubusercontent.com/u/19310562?v=4?s=75" width="75px;" alt="Soheib El-Harrache"/><br /><sub><b>Soheib El-Harrache</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LanguageAgnostic" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALanguageAgnostic" title="Bug reports">🐛</a> <a href="#financial-LanguageAgnostic" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.sophieau.com/"><img src="https://avatars.githubusercontent.com/u/11145039?v=4?s=75" width="75px;" alt="Sophie Au"/><br /><sub><b>Sophie Au</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SophieAu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ASophieAu" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/stefpap"><img src="https://avatars.githubusercontent.com/u/22637722?v=4?s=75" width="75px;" alt="Stefanos Papadakis"/><br /><sub><b>Stefanos Papadakis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stefpap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astefpap" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/s12chung"><img src="https://avatars.githubusercontent.com/u/263394?v=4?s=75" width="75px;" alt="Steve Chung"/><br /><sub><b>Steve Chung</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=s12chung" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3As12chung" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://tortloff.de/"><img src="https://avatars.githubusercontent.com/u/41272726?v=4?s=75" width="75px;" alt="Timm Ortloff"/><br /><sub><b>Timm Ortloff</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TAINCER" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tomanagle"><img src="https://avatars.githubusercontent.com/u/8683577?v=4?s=75" width="75px;" alt="Tom"/><br /><sub><b>Tom</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tomanagle" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/valentintrinque"><img src="https://avatars.githubusercontent.com/u/4662842?v=4?s=75" width="75px;" alt="Valentin Trinqué"/><br /><sub><b>Valentin Trinqué</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ValentinTrinque" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AValentinTrinque" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://mattn.kaoriya.net/"><img src="https://avatars.githubusercontent.com/u/10111?v=4?s=75" width="75px;" alt="mattn"/><br /><sub><b>mattn</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mattn" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amattn" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bearsh"><img src="https://avatars.githubusercontent.com/u/1089356?v=4?s=75" width="75px;" alt="bearsh"/><br /><sub><b>bearsh</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Code">💻</a> <a href="#ideas-bearsh" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/chenxiao1990"><img src="https://avatars.githubusercontent.com/u/16933565?v=4?s=75" width="75px;" alt="chenxiao"/><br /><sub><b>chenxiao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Code">💻</a> <a href="#ideas-chenxiao1990" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fengweiqiang"><img src="https://avatars.githubusercontent.com/u/22905300?v=4?s=75" width="75px;" alt="fengweiqiang"/><br /><sub><b>fengweiqiang</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fengweiqiang" title="Code">💻</a> <a href="#platform-fengweiqiang" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/flin7"><img src="https://avatars.githubusercontent.com/u/58138185?v=4?s=75" width="75px;" alt="flin7"/><br /><sub><b>flin7</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=flin7" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fred21O4"><img src="https://avatars.githubusercontent.com/u/67189813?v=4?s=75" width="75px;" alt="fred21O4"/><br /><sub><b>fred21O4</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fred21O4" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gardc"><img src="https://avatars.githubusercontent.com/u/41453409?v=4?s=75" width="75px;" alt="gardc"/><br /><sub><b>gardc</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gardc" title="Documentation">📖</a> <a href="#tutorial-gardc" title="Tutorials">✅</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/rayshoo"><img src="https://avatars.githubusercontent.com/u/52561899?v=4?s=75" width="75px;" alt="rayshoo"/><br /><sub><b>rayshoo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rayshoo" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Yz4230"><img src="https://avatars.githubusercontent.com/u/38999742?v=4?s=75" width="75px;" alt="Ishiyama Yuzuki"/><br /><sub><b>Ishiyama Yuzuki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Yz4230" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AYz4230" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://baiyue.one/"><img src="https://avatars.githubusercontent.com/u/43716063?v=4?s=75" width="75px;" alt="佰阅"/><br /><sub><b>佰阅</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Baiyuetribe" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/daodao97"><img src="https://avatars.githubusercontent.com/u/15009280?v=4?s=75" width="75px;" alt="刀刀"/><br /><sub><b>刀刀</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=daodao97" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adaodao97" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/jicg"><img src="https://avatars.githubusercontent.com/u/6479672?v=4?s=75" width="75px;" alt="归位"/><br /><sub><b>归位</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jicg" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ajicg" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/skamensky"><img src="https://avatars.githubusercontent.com/u/19151369?v=4?s=75" width="75px;" alt="skamensky"/><br /><sub><b>skamensky</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Code">💻</a> <a href="#ideas-skamensky" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/dependabot"><img src="https://avatars.githubusercontent.com/in/29110?v=4?s=75" width="75px;" alt="dependabot[bot]"/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dependabot[bot]" title="Code">💻</a> <a href="#maintenance-dependabot[bot]" title="Maintenance">🚧</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/dsieradzki/"><img src="https://avatars.githubusercontent.com/u/10297559?v=4?s=75" width="75px;" alt="Damian Sieradzki"/><br /><sub><b>Damian Sieradzki</b></sub></a><br /><a href="#financial-dsieradzki" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/boostchicken"><img src="https://avatars.githubusercontent.com/u/427295?v=4?s=75" width="75px;" alt="John Dorman"/><br /><sub><b>John Dorman</b></sub></a><br /><a href="#financial-boostchicken" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://blog.iansinnott.com/"><img src="https://avatars.githubusercontent.com/u/3154865?v=4?s=75" width="75px;" alt="Ian Sinnott"/><br /><sub><b>Ian Sinnott</b></sub></a><br /><a href="#financial-iansinnott" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Shackelford-Arden"><img src="https://avatars.githubusercontent.com/u/7362263?v=4?s=75" width="75px;" alt="Arden Shackelford"/><br /><sub><b>Arden Shackelford</b></sub></a><br /><a href="#financial-Shackelford-Arden" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Bironou"><img src="https://avatars.githubusercontent.com/u/107761511?v=4?s=75" width="75px;" alt="Bironou"/><br /><sub><b>Bironou</b></sub></a><br /><a href="#financial-Bironou" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/CharlieGo19"><img src="https://avatars.githubusercontent.com/u/62405980?v=4?s=75" width="75px;" alt="CharlieGo_"/><br /><sub><b>CharlieGo_</b></sub></a><br /><a href="#financial-CharlieGo19" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/overnet"><img src="https://avatars.githubusercontent.com/u/6376126?v=4?s=75" width="75px;" alt="overnet"/><br /><sub><b>overnet</b></sub></a><br /><a href="#financial-overnet" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://jugglingjsons.dev/"><img src="https://avatars.githubusercontent.com/u/20739064?v=4?s=75" width="75px;" alt="jugglingjsons"/><br /><sub><b>jugglingjsons</b></sub></a><br /><a href="#financial-jugglingjsons" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://selvin.dev/"><img src="https://avatars.githubusercontent.com/u/1922523?v=4?s=75" width="75px;" alt="Selvin Ortiz"/><br /><sub><b>Selvin Ortiz</b></sub></a><br /><a href="#financial-selvindev" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/zandercodes"><img src="https://avatars.githubusercontent.com/u/46308805?v=4?s=75" width="75px;" alt="ZanderCodes"/><br /><sub><b>ZanderCodes</b></sub></a><br /><a href="#financial-zandercodes" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/DonTomato"><img src="https://avatars.githubusercontent.com/u/1098084?v=4?s=75" width="75px;" alt="Michael Voronov"/><br /><sub><b>Michael Voronov</b></sub></a><br /><a href="#financial-DonTomato" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://lt.hn/"><img src="https://avatars.githubusercontent.com/u/83868036?v=4?s=75" width="75px;" alt="letheanVPN"/><br /><sub><b>letheanVPN</b></sub></a><br /><a href="#financial-letheanVPN" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://taigrr.com/"><img src="https://avatars.githubusercontent.com/u/8261498?v=4?s=75" width="75px;" alt="Tai Groot"/><br /><sub><b>Tai Groot</b></sub></a><br /><a href="#financial-taigrr" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/easy-web-it"><img src="https://avatars.githubusercontent.com/u/95484991?v=4?s=75" width="75px;" alt="easy-web-it"/><br /><sub><b>easy-web-it</b></sub></a><br /><a href="#financial-easy-web-it" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://michaelolson1996.github.io/portfolio"><img src="https://avatars.githubusercontent.com/u/45323107?v=4?s=75" width="75px;" alt="Michael Olson"/><br /><sub><b>Michael Olson</b></sub></a><br /><a href="#financial-michaelolson1996" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://eden.network/"><img src="https://avatars.githubusercontent.com/u/4912777?v=4?s=75" width="75px;" alt="EdenNetwork Italia"/><br /><sub><b>EdenNetwork Italia</b></sub></a><br /><a href="#financial-EdenNetworkItalia" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ondoki"><img src="https://avatars.githubusercontent.com/u/88536792?v=4?s=75" width="75px;" alt="ondoki"/><br /><sub><b>ondoki</b></sub></a><br /><a href="#financial-ondoki" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/questrail"><img src="https://avatars.githubusercontent.com/u/3536569?v=4?s=75" width="75px;" alt="QuEST Rail LLC"/><br /><sub><b>QuEST Rail LLC</b></sub></a><br /><a href="#financial-questrail" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Gilgames000"><img src="https://avatars.githubusercontent.com/u/22778436?v=4?s=75" width="75px;" alt="Gilgameš"/><br /><sub><b>Gilgameš</b></sub></a><br /><a href="#financial-Gilgames000" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bbergshaven"><img src="https://avatars.githubusercontent.com/u/4091634?v=4?s=75" width="75px;" alt="Bernt-Johan Bergshaven"/><br /><sub><b>Bernt-Johan Bergshaven</b></sub></a><br /><a href="#financial-bbergshaven" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bglw"><img src="https://avatars.githubusercontent.com/u/40188355?v=4?s=75" width="75px;" alt="Liam Bigelow"/><br /><sub><b>Liam Bigelow</b></sub></a><br /><a href="#financial-bglw" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/nickarellano"><img src="https://avatars.githubusercontent.com/u/13930605?v=4?s=75" width="75px;" alt="Nick Arellano"/><br /><sub><b>Nick Arellano</b></sub></a><br /><a href="#financial-nickarellano" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fcjr"><img src="https://avatars.githubusercontent.com/u/2053002?v=4?s=75" width="75px;" alt="Frank Chiarulli Jr."/><br /><sub><b>Frank Chiarulli Jr.</b></sub></a><br /><a href="#financial-fcjr" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tylertravisty"><img src="https://avatars.githubusercontent.com/u/8620352?v=4?s=75" width="75px;" alt="Tyler"/><br /><sub><b>Tyler</b></sub></a><br /><a href="#financial-tylertravisty" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/trea"><img src="https://avatars.githubusercontent.com/u/1181448?v=4?s=75" width="75px;" alt="Trea Hauet"/><br /><sub><b>Trea Hauet</b></sub></a><br /><a href="#financial-trea" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://picatz.github.io/"><img src="https://avatars.githubusercontent.com/u/14850816?v=4?s=75" width="75px;" alt="Kent 'picat' Gruber"/><br /><sub><b>Kent 'picat' Gruber</b></sub></a><br /><a href="#financial-picatz" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tc-hib"><img src="https://avatars.githubusercontent.com/u/55949036?v=4?s=75" width="75px;" alt="tc-hib"/><br /><sub><b>tc-hib</b></sub></a><br /><a href="#financial-tc-hib" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/acheong08"><img src="https://avatars.githubusercontent.com/u/36258159?v=4?s=75" width="75px;" alt="Antonio"/><br /><sub><b>Antonio</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=acheong08" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/MyNameIsAres"><img src="https://avatars.githubusercontent.com/u/32432637?v=4?s=75" width="75px;" alt="MyNameIsAres"/><br /><sub><b>MyNameIsAres</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MyNameIsAres" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://mai.car.ons"><img src="https://avatars.githubusercontent.com/u/101958587?v=4?s=75" width="75px;" alt="Maicarons J"/><br /><sub><b>Maicarons J</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Maicarons2022" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/KiddoV"><img src="https://avatars.githubusercontent.com/u/28552977?v=4?s=75" width="75px;" alt="kiddov"/><br /><sub><b>kiddov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Documentation">📖</a> <a href="#financial-KiddoV" title="Financial">💵</a> <a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Tests">⚠️</a> <a href="#ideas-KiddoV" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://nicolas-coutin.com/"><img src="https://avatars.githubusercontent.com/u/6564012?v=4?s=75" width="75px;" alt="Nicolas Coutin"/><br /><sub><b>Nicolas Coutin</b></sub></a><br /><a href="#financial-Ilshidur" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ParvinEyvazov"><img src="https://avatars.githubusercontent.com/u/32189770?v=4?s=75" width="75px;" alt="Parvin Eyvazov"/><br /><sub><b>Parvin Eyvazov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ParvinEyvazov" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/github-actions"><img src="https://avatars.githubusercontent.com/in/15368?v=4?s=75" width="75px;" alt="github-actions[bot]"/><br /><sub><b>github-actions[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=github-actions[bot]" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/OlegGulevskyy"><img src="https://avatars.githubusercontent.com/u/43781031?v=4?s=75" width="75px;" alt="Oleg Gulevskyy"/><br /><sub><b>Oleg Gulevskyy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=OlegGulevskyy" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=OlegGulevskyy" title="Documentation">📖</a> <a href="#maintenance-OlegGulevskyy" title="Maintenance">🚧</a> <a href="#platform-OlegGulevskyy" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://www.customct.com/"><img src="https://avatars.githubusercontent.com/u/2487495?v=4?s=75" width="75px;" alt="Richard Guay"/><br /><sub><b>Richard Guay</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=raguay" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ATenderholt"><img src="https://avatars.githubusercontent.com/u/740623?v=4?s=75" width="75px;" alt="Adam Tenderholt"/><br /><sub><b>Adam Tenderholt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ATenderholt" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/JulioDRF"><img src="https://avatars.githubusercontent.com/u/15677708?v=4?s=75" width="75px;" alt="JulioDRF"/><br /><sub><b>JulioDRF</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=JulioDRF" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://scottopell.com/"><img src="https://avatars.githubusercontent.com/u/996472?v=4?s=75" width="75px;" alt="Scott Opell"/><br /><sub><b>Scott Opell</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=scottopell" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://aven.dev/"><img src="https://avatars.githubusercontent.com/u/2055581?v=4?s=75" width="75px;" alt="Vadim Shchepotev"/><br /><sub><b>Vadim Shchepotev</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=avengerweb" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://willdot.net/"><img src="https://avatars.githubusercontent.com/u/4906530?v=4?s=75" width="75px;" alt="Will Andrews"/><br /><sub><b>Will Andrews</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=willdot" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gwynforthewyn"><img src="https://avatars.githubusercontent.com/u/434656?v=4?s=75" width="75px;" alt="Gwyn"/><br /><sub><b>Gwyn</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gwynforthewyn" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Agwynforthewyn" title="Reviewed Pull Requests">👀</a> <a href="#question-gwynforthewyn" title="Answering Questions">💬</a> <a href="#research-gwynforthewyn" title="Research">🔬</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/xijaja"><img src="https://avatars.githubusercontent.com/u/47017666?v=4?s=75" width="75px;" alt="希嘉嘉"/><br /><sub><b>希嘉嘉</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=xijaja" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.almas.cc/"><img src="https://avatars.githubusercontent.com/u/9382335?v=4?s=75" width="75px;" alt="ALMAS"/><br /><sub><b>ALMAS</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=almas1992" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://stdout.com.cn/"><img src="https://avatars.githubusercontent.com/u/20666153?v=4?s=75" width="75px;" alt="Alex"/><br /><sub><b>Alex</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=o8x" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/arifali123"><img src="https://avatars.githubusercontent.com/u/51419655?v=4?s=75" width="75px;" alt="Arif Ali"/><br /><sub><b>Arif Ali</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=arifali123" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/hotafrika"><img src="https://avatars.githubusercontent.com/u/18332839?v=4?s=75" width="75px;" alt="Artur Siarohau"/><br /><sub><b>Artur Siarohau</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=hotafrika" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://binyam.in/"><img src="https://avatars.githubusercontent.com/u/39805353?v=4?s=75" width="75px;" alt="Binyamin Aron Green"/><br /><sub><b>Binyamin Aron Green</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=binyamin" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://bdwyertech.net/"><img src="https://avatars.githubusercontent.com/u/2973273?v=4?s=75" width="75px;" alt="Brian Dwyer"/><br /><sub><b>Brian Dwyer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bdwyertech" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://www.cilb.de/"><img src="https://avatars.githubusercontent.com/u/7283097?v=4?s=75" width="75px;" alt="Christian Kilb"/><br /><sub><b>Christian Kilb</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ckilb" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/edwargix"><img src="https://avatars.githubusercontent.com/u/22877007?v=4?s=75" width="75px;" alt="David Florness"/><br /><sub><b>David Florness</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=edwargix" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/BuckeyeCoder"><img src="https://avatars.githubusercontent.com/u/95933880?v=4?s=75" width="75px;" alt="David Walton"/><br /><sub><b>David Walton</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=BuckeyeCoder" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Debdut"><img src="https://avatars.githubusercontent.com/u/7561070?v=4?s=75" width="75px;" alt="Debdut Karmakar"/><br /><sub><b>Debdut Karmakar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Debdut" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gotid"><img src="https://avatars.githubusercontent.com/u/4010854?v=4?s=75" width="75px;" alt="Dieter Zhu"/><br /><sub><b>Dieter Zhu</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gotid" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://fredrikholmqvist.com/"><img src="https://avatars.githubusercontent.com/u/22743750?v=4?s=75" width="75px;" alt="Fredrik Holmqvist"/><br /><sub><b>Fredrik Holmqvist</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Holmqvist1990" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/giopalma"><img src="https://avatars.githubusercontent.com/u/33783684?v=4?s=75" width="75px;" alt="Giovanni Palma"/><br /><sub><b>Giovanni Palma</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=giopalma" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Nexus26404"><img src="https://avatars.githubusercontent.com/u/83110373?v=4?s=75" width="75px;" alt="Hao"/><br /><sub><b>Hao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Nexus26404" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/i7tsov"><img src="https://avatars.githubusercontent.com/u/44977153?v=4?s=75" width="75px;" alt="Igor Sementsov"/><br /><sub><b>Igor Sementsov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=i7tsov" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/derhasi"><img src="https://avatars.githubusercontent.com/u/118502?v=4?s=75" width="75px;" alt="Johannes Haseitl"/><br /><sub><b>Johannes Haseitl</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=derhasi" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/joshbuddy"><img src="https://avatars.githubusercontent.com/u/8898?v=4?s=75" width="75px;" alt="Joshua Hull"/><br /><sub><b>Joshua Hull</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=joshbuddy" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/joshm998"><img src="https://avatars.githubusercontent.com/u/1779737?v=4?s=75" width="75px;" alt="Joshua Mangiola"/><br /><sub><b>Joshua Mangiola</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=joshm998" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/prurigro"><img src="https://avatars.githubusercontent.com/u/1149238?v=4?s=75" width="75px;" alt="Kevin MacMartin"/><br /><sub><b>Kevin MacMartin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=prurigro" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/liang-li-dev"><img src="https://avatars.githubusercontent.com/u/112530363?v=4?s=75" width="75px;" alt="Liang Li"/><br /><sub><b>Liang Li</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=liang-li-dev" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://appslab.co.ke/"><img src="https://avatars.githubusercontent.com/u/7722584?v=4?s=75" width="75px;" alt="Marvin Collins Hosea"/><br /><sub><b>Marvin Collins Hosea</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marvinhosea" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://matt.life/"><img src="https://avatars.githubusercontent.com/u/1128849?v=4?s=75" width="75px;" alt="Matt Holt"/><br /><sub><b>Matt Holt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mholt" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Gurkengewuerz"><img src="https://avatars.githubusercontent.com/u/10966337?v=4?s=75" width="75px;" alt="Niklas"/><br /><sub><b>Niklas</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Gurkengewuerz" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Xhofe"><img src="https://avatars.githubusercontent.com/u/36558727?v=4?s=75" width="75px;" alt="Andy Hsu"/><br /><sub><b>Andy Hsu</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Xhofe" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/NullCode1337"><img src="https://avatars.githubusercontent.com/u/70959549?v=4?s=75" width="75px;" alt="NullCode"/><br /><sub><b>NullCode</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=NullCode1337" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/oSethoum"><img src="https://avatars.githubusercontent.com/u/88779394?v=4?s=75" width="75px;" alt="Oussama Sethoum"/><br /><sub><b>Oussama Sethoum</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=oSethoum" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ParkourLiu"><img src="https://avatars.githubusercontent.com/u/33681340?v=4?s=75" width="75px;" alt="ParkourLiu"/><br /><sub><b>ParkourLiu</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ParkourLiu" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/zllovesuki"><img src="https://avatars.githubusercontent.com/u/298453?v=4?s=75" width="75px;" alt="Rachel Chen"/><br /><sub><b>Rachel Chen</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=zllovesuki" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/rnice01"><img src="https://avatars.githubusercontent.com/u/11394384?v=4?s=75" width="75px;" alt="Rob Nice"/><br /><sub><b>Rob Nice</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rnice01" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/RyoTagami"><img src="https://avatars.githubusercontent.com/u/9672589?v=4?s=75" width="75px;" alt="Ryo TAGAMI"/><br /><sub><b>Ryo TAGAMI</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=RyoTagami" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/SamHennessy"><img src="https://avatars.githubusercontent.com/u/119867?v=4?s=75" width="75px;" alt="Sam Hennessy"/><br /><sub><b>Sam Hennessy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SamHennessy" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://albinodrought.com/"><img src="https://avatars.githubusercontent.com/u/852873?v=4?s=75" width="75px;" alt="Sean"/><br /><sub><b>Sean</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=AlbinoDrought" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/sgosiaco"><img src="https://avatars.githubusercontent.com/u/212341?v=4?s=75" width="75px;" alt="Sean Gosiaco"/><br /><sub><b>Sean Gosiaco</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sgosiaco" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://sheetjs.com/"><img src="https://avatars.githubusercontent.com/u/6070939?v=4?s=75" width="75px;" alt="Eric P Sheets"/><br /><sub><b>Eric P Sheets</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SheetJSDev" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.octopy.dev/"><img src="https://avatars.githubusercontent.com/u/37969970?v=4?s=75" width="75px;" alt="Supian M"/><br /><sub><b>Supian M</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SupianIDz" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Watson-Sei"><img src="https://avatars.githubusercontent.com/u/55475145?v=4?s=75" width="75px;" alt="Watson-Sei"/><br /><sub><b>Watson-Sei</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Watson-Sei" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=Watson-Sei" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://shinshin86.com/"><img src="https://avatars.githubusercontent.com/u/8216064?v=4?s=75" width="75px;" alt="Yuki Shindo"/><br /><sub><b>Yuki Shindo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=shinshin86" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/cuigege"><img src="https://avatars.githubusercontent.com/u/26080122?v=4?s=75" width="75px;" alt="cuigege"/><br /><sub><b>cuigege</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=cuigege" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://cybertramp.net/"><img src="https://avatars.githubusercontent.com/u/30935096?v=4?s=75" width="75px;" alt="cybertramp"/><br /><sub><b>cybertramp</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=cybertramp" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/h8gi"><img src="https://avatars.githubusercontent.com/u/10811057?v=4?s=75" width="75px;" alt="hiroki yagi"/><br /><sub><b>hiroki yagi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=h8gi" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/imgbot"><img src="https://avatars.githubusercontent.com/in/4706?v=4?s=75" width="75px;" alt="imgbot[bot]"/><br /><sub><b>imgbot[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=imgbot[bot]" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tong3jie"><img src="https://avatars.githubusercontent.com/u/14191774?v=4?s=75" width="75px;" alt="juju"/><br /><sub><b>juju</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tong3jie" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://meatherly.github.io/"><img src="https://avatars.githubusercontent.com/u/1327960?v=4?s=75" width="75px;" alt="Michael Eatherly"/><br /><sub><b>Michael Eatherly</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=meatherly" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tk103331"><img src="https://avatars.githubusercontent.com/u/4404609?v=4?s=75" width="75px;" alt="tk"/><br /><sub><b>tk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tk103331" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/allcontributors"><img src="https://avatars.githubusercontent.com/in/23186?v=4?s=75" width="75px;" alt="allcontributors[bot]"/><br /><sub><b>allcontributors[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=allcontributors[bot]" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.ffactory.org/"><img src="https://avatars.githubusercontent.com/u/77320953?v=4?s=75" width="75px;" alt="wander"/><br /><sub><b>wander</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=wandercn" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
|
|
@ -193,6 +266,7 @@
|
|||
- [John Chadwick](https://github.com/jchv) - Pour son travail incroyable sur [go-webview2](https://github.com/jchv/go-webview2) et [go-winloader](https://github.com/jchv/go-winloader) qui a permis d'avoir une version Windows.
|
||||
- [Tad Vizbaras](https://github.com/tadvi) - Son projet winc était la première pierre d'un projet Wails en pure Go.
|
||||
- [Mat Ryer](https://github.com/matryer) - Pour ses conseils, son support et son humour.
|
||||
- [Byron Chris](https://github.com/bh90210) - For his long term contributions to this project.
|
||||
- [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) - Son support et ses retours ont été inestimables.
|
||||
- [Justen Walker](https://github.com/justenwalker/) - Pour aider à résoudre les problèmes COM qui ont permis de publier la v2.
|
||||
- [Wang, Chi](https://github.com/patr0nus/) - Le projet DeskGap a été une grande influence sur la direction de Wails v2.
|
||||
|
|
|
|||
|
|
@ -50,5 +50,9 @@
|
|||
"link.item.label.Awesome": {
|
||||
"message": "Projets basés sur Wails",
|
||||
"description": "The label of footer link with label=Awesome linking to https://github.com/wailsapp/awesome-wails"
|
||||
},
|
||||
"link.item.label.Discord": {
|
||||
"message": "Discord",
|
||||
"description": "The label of footer link with label=Discord linking to https://discord.gg/JDdSxwjhGf"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -411,5 +411,13 @@
|
|||
"theme.SearchModal.placeholder": {
|
||||
"message": "ドキュメントを検索",
|
||||
"description": "The placeholder of the input of the DocSearch pop-up modal"
|
||||
},
|
||||
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
|
||||
"message": "ナビゲーションバーを閉じる",
|
||||
"description": "The ARIA label for close button of mobile sidebar"
|
||||
},
|
||||
"theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
|
||||
"message": "ナビゲーションバーの表示/非表示を切り替え",
|
||||
"description": "The ARIA label for hamburger menu button of mobile navigation"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,184 @@
|
|||
---
|
||||
slug: the-road-to-wails-v3
|
||||
title: The Road to Wails v3
|
||||
authors:
|
||||
- leaanthony
|
||||
tags:
|
||||
- wails
|
||||
- v3
|
||||
---
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
<img
|
||||
src={require("@site/static/img/blog/multiwindow.webp").default}
|
||||
width="90%"
|
||||
/>
|
||||
</div>
|
||||
<br />
|
||||
```
|
||||
|
||||
# Introduction
|
||||
|
||||
Wails is a project that simplifies the ability to write cross-platform desktop applications using Go. It uses native webview components for the frontend (not embedded browsers), bringing the power of the world's most popular UI system to Go, whilst remaining lightweight.
|
||||
|
||||
Version 2 was released on the 22nd of September 2022 and brought with it a lot of enhancements including:
|
||||
|
||||
- Live development, leveraging the popular Vite project
|
||||
- Rich functionality for managing windows and creating menus
|
||||
- Microsoft's WebView2 component
|
||||
- Generation of Typescript models that mirror your Go structs
|
||||
- Creating of NSIS Installer
|
||||
- Obfuscated builds
|
||||
|
||||
Right now, Wails v2 provides powerful tooling for creating rich, cross-platform desktop applications.
|
||||
|
||||
This blog post aims to look at where the project is at right now and what we can improve on moving forward.
|
||||
|
||||
# Where are we now?
|
||||
|
||||
It's been incredible to see the popularity of Wails rising since the v2 release. I'm constantly amazed by the creativity of the community and the wonderful things that are being built with it. With more popularity, comes more eyes on the project. And with that, more feature requests and bug reports.
|
||||
|
||||
Over time, I've been able to identify some of the most pressing issues facing the project. I've also been able to identify some of the things that are holding the project back.
|
||||
|
||||
## Current issues
|
||||
|
||||
I've identified the following areas that I feel are holding the project back:
|
||||
|
||||
- The API
|
||||
- Bindings generation
|
||||
- The Build System
|
||||
|
||||
### The API
|
||||
|
||||
The API to build a Wails application currently consists of 2 parts:
|
||||
|
||||
- The Application API
|
||||
- The Runtime API
|
||||
|
||||
The Application API famously has only 1 function: `Run()` which takes a heap of options which govern how the application will work. Whilst this is very simple to use, it is also very limiting. It is a "declarative" approach which hides a lot of the underlying complexity. For instance, there is no handle to the main window, so you can't interact with it directly. For that, you need to use the Runtime API. This is a problem when you start to want to do more complex things like create multiple windows.
|
||||
|
||||
The Runtime API provides a lot of utility functions for the developer. This includes:
|
||||
|
||||
- Window management
|
||||
- Dialogs
|
||||
- Menus
|
||||
- Events
|
||||
- Logs
|
||||
|
||||
There are a number of things I am not happy with the Runtime API. The first is that it requires a "context" to be passed around. This is both frustrating and confusing for new developers who pass in a context and then get a runtime error.
|
||||
|
||||
The biggest issue with the Runtime API is that it was designed for applications that only use a single window. Over time, the demand for multiple windows has grown and the API is not well suited to this.
|
||||
|
||||
### Thoughts on the v3 API
|
||||
|
||||
Wouldn't it be great if we could do something like this?
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := wails.NewApplication(options.App{})
|
||||
myWindow := app.NewWindow(options.Window{})
|
||||
myWindow.SetTitle("My Window")
|
||||
myWindow.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
app.Run()
|
||||
}
|
||||
```
|
||||
|
||||
This programmatic approach is far more intuitive and allows the developer to interact with the application elements directly. All current runtime methods for windows would simply be methods on the window object. For the other runtime methods, we could move them to the application object like so:
|
||||
|
||||
```go
|
||||
app := wails.NewApplication(options.App{})
|
||||
app.NewInfoDialog(options.InfoDialog{})
|
||||
app.Log.Info("Hello World")
|
||||
```
|
||||
|
||||
This is a much more powerful API which will allow for more complex applications to be built. It also allows for the creation of multiple windows, [the most up-voted feature on GitHub](https://github.com/wailsapp/wails/issues/1480):
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := wails.NewApplication(options.App{})
|
||||
myWindow := app.NewWindow(options.Window{})
|
||||
myWindow.SetTitle("My Window")
|
||||
myWindow.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
myWindow2 := app.NewWindow(options.Window{})
|
||||
myWindow2.SetTitle("My Window 2")
|
||||
myWindow2.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
app.Run()
|
||||
}
|
||||
```
|
||||
|
||||
### Bindings generation
|
||||
|
||||
One of the key features of Wails is generating bindings for your Go methods so they may be called from Javascript. The current method for doing this is a bit of a hack. It involves building the application with a special flag and then running the resultant binary which uses reflection to determine what has been bound. This leads to a bit of a chicken and egg situation: You can't build the application without the bindings and you can't generate the bindings without building the application. There are many ways around this but the best one would be not to use this approach at all.
|
||||
|
||||
There was a number of attempts at writing a static analyser for Wails projects but they didn't get very far. In more recent times, it has become slightly easier to do this with more material available on the subject.
|
||||
|
||||
Compared to reflection, the AST approach is much faster however it is significantly more complicated. To start with, we may need to impose certain constraints on how to specify bindings in the code. The goal is to support the most common use cases and then expand it later on.
|
||||
|
||||
### The Build System
|
||||
|
||||
Like the declarative approach to the API, the build system was created to hide the complexities of building a desktop application. When you run `wails build`, it does a lot of things behind the scenes:
|
||||
- Builds the backend binary for bindings and generates the bindings
|
||||
- Installs the frontend dependencies
|
||||
- Builds the frontend assets
|
||||
- Determines if the application icon is present and if so, embeds it
|
||||
- Builds the final binary
|
||||
- If the build is for `darwin/universal` it builds 2 binaries, one for `darwin/amd64` and one for `darwin/arm64` and then creates a fat binary using `lipo`
|
||||
- If compression is required, it compresses the binary with UPX
|
||||
- Determines if this binary is to be packaged and if so:
|
||||
- Ensures the icon and application manifest are compiled into the binary (Windows)
|
||||
- Builds out the application bundle, generates the icon bundle and copies it, the binary and Info.plist to the application bundle (Mac)
|
||||
- If an NSIS installer is required, it builds it
|
||||
|
||||
This entire process, whilst very powerful, is also very opaque. It is very difficult to customise it and it is very difficult to debug.
|
||||
|
||||
To address this in v3, I would like to move to a build system that exists outside of Wails. After using [Task](https://taskfile.dev/) for a while, I am a big fan of it. It is a great tool for configuring build systems and should be reasonably familiar to anyone who has used Makefiles.
|
||||
|
||||
The build system would be configured using a `Taskfile.yml` file which would be generated by default with any of the supported templates. This would have all of the steps required to do all the current tasks, such as building or packaging the application, allowing for easy customisation.
|
||||
|
||||
There will be no external requirement for this tooling as it would form part of the Wails CLI. This means that you can still use `wails build` and it will do all the things it does today. However, if you want to customise the build process, you can do so by editing the `Taskfile.yml` file. It also means you can easily understand the build steps and use your own build system if you wish.
|
||||
|
||||
The missing piece in the build puzzle is the atomic operations in the build process, such as icon generation, compression and packaging. To require a bunch of external tooling would not be a great experience for the developer. To address this, the Wails CLI will provide all these capabilities as part of the CLI. This means that the builds still work as expected, with no extra external tooling, however you can replace any step of the build with any tool you like.
|
||||
|
||||
This will be a much more transparent build system which will allow for easier customisation and address a lot of the issues that have been raised around it.
|
||||
|
||||
## The Payoff
|
||||
|
||||
These positive changes will be a huge benefit to the project:
|
||||
- The new API will be much more intuitive and will allow for more complex applications to be built.
|
||||
- Using static analysis for bindings generation will be much faster and reduce a lot of the complexity around the current process.
|
||||
- Using an established, external build system will make the build process completely transparent, allowing for powerful customisation.
|
||||
|
||||
Benefits to the project maintainers are:
|
||||
|
||||
- The new API will be much easier to maintain and adapt to new features and platforms.
|
||||
- The new build system will be much easier to maintain and extend. I hope this will lead to a new ecosystem of community driven build pipelines.
|
||||
- Better separation of concerns within the project. This will make it easier to add new features and platforms.
|
||||
|
||||
## The Plan
|
||||
|
||||
A lot of the experimentation for this has already been done and it's looking good. There is no current timeline for this work but I'm hoping by the end of Q1 2023, there will be an alpha release for Mac to allow the community to test, experiment with and provide feedback.
|
||||
|
||||
## Summary
|
||||
|
||||
- The v2 API is declarative, hides a lot from the developer and not suitable for features such as multiple windows. A new API will be created which will be simpler, intuitive and more powerful.
|
||||
- The build system is opaque and difficult to customise so we will move to an external build system which will open it all up.
|
||||
- The bindings generation is slow and complex so we will move to static analysis which will remove a lot of the complexity the current method has.
|
||||
|
||||
There has been a lot of work put into the guts of v2 and it's solid. It's now time to address the layer on top of it and make it a much better experience for the developer.
|
||||
|
||||
I hope you are as excited about this as I am. I'm looking forward to hearing your thoughts and feedback.
|
||||
|
||||
Regards,
|
||||
|
||||
‐ Lea
|
||||
|
||||
PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
|
||||
|
||||
PPS: Yes, that's a genuine screenshot of a multi-window application built with Wails. It's not a mockup. It's real. It's awesome. It's coming soon.
|
||||
|
|
@ -12,7 +12,7 @@ Wailsに関する[最高のリンク一覧](https://github.com/wailsapp/awesome-
|
|||
|
||||
## サポートチャネル
|
||||
|
||||
- [Discord](https://discord.com/invite/JDdSxwjhGf)
|
||||
- [Wails Discordサーバ](https://discord.gg/JDdSxwjhGf)
|
||||
- [Github Issues](https://github.com/wailsapp/wails/issues)
|
||||
- [v2ベータディスカッションボード](https://github.com/wailsapp/wails/discussions/828)
|
||||
|
||||
|
|
@ -22,4 +22,5 @@ Wailsに関する[最高のリンク一覧](https://github.com/wailsapp/awesome-
|
|||
- [Wails中国語コミュニティQQグループ](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - グループナンバー: 1067173054
|
||||
|
||||
## その他のチュートリアルや記事
|
||||
|
||||
- [掲示板を作ってみる](https://blog.customct.com/building-bulletin-board)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# BulletinBoard
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img src={require("@site/static/img/showcase/bboard.webp").default} />
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
[BulletinBoard](https://github.com/raguay/BulletinBoard)は、静的なメッセージや、スクリプト用にユーザから情報を得るためのダイアログを表示する、汎用的なメッセージボードアプリケーションです。 後者はユーザから情報を取得するために使用でき、新しいダイアログを作成するためのTUIを備えています。 システム上で動作し続け、必要に応じて情報を表示・非表示できるように設計されています。 システム上のファイルを監視し、内容が変更されたときにBulletinBoardに送信するという処理もできます。 これは、私のワークフローと相性が良いのです。 なお、プログラムに情報を送信するための[Alfredワークフロー](https://github.com/raguay/MyAlfred/blob/master/Alfred%205/EmailIt.alfredworkflow)があります。 また、[EmailIt](https://github.com/raguay/EmailIt)と連携するためのワークフローもあります。
|
||||
|
|
@ -7,4 +7,4 @@
|
|||
</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. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
|
||||
[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. また、システム内のファイルに対してEmailItのスクリプトを実行するためのスクリプトターミナルを備えています。 スクリプトとテンプレートは、コマンドライン自体から、またはAlfred、Keyboard Maestro、Dropzone、PopClipの拡張機能から使用することができます。 さらに、GitHubからダウンロードしたスクリプトやテーマにも対応しています。 ドキュメントは未完成ですが、ブログラム自体は動作します。 It’s built using Wails2 and Svelte, and the download is a universal macOS application.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# hiposter
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img src={require("@site/static/img/showcase/hiposter.webp").default} />
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
|
||||
|
|
@ -9,6 +9,6 @@
|
|||
</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, but a git install has to be on the system to download themes and extensions. 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.
|
||||
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. There are themes and extensions available to download from GitHub.
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@
|
|||
</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.
|
||||
[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of scripts or [Node-Red](https://nodered.org) server. It runs scripts defined in EmailIt program and shows the output. Scripts from xBar or TextBar can be used, but currently on the TextBar scripts work well. 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.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
# Minecraft launcher for WarMine
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img
|
||||
src={require("@site/static/img/showcase/warmine1.png").default}
|
||||
/>
|
||||
<img
|
||||
src={require("@site/static/img/showcase/warmine2.png").default}
|
||||
/>
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
[Minecraft launcher for WarMine](https://warmine.ru/) is a Wails application, that allows you to easily join modded game servers and manage your game accounts.
|
||||
|
||||
The Launcher downloads the game files, checks their integrity and launches the game with a wide range of customization options for the launch arguments from the backend.
|
||||
|
||||
Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
|
||||
|
|
@ -27,6 +27,7 @@ sidebar_position: 1
|
|||
- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vite、Vuex、Vue Router、SaaS、ESLint + Prettier を使用した Vue 3 TypeScript
|
||||
- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier) を使用したテンプレート
|
||||
- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, <script setup>によるComposition API) を使用したテンプレート
|
||||
- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Naive UI(Vue3のコンポーネントライブラリ)をベースにしたWailsテンプレート
|
||||
|
||||
## Angular
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ import TabItem from "@theme/TabItem";
|
|||
Wailsを使用するには、<a href="https://developer.microsoft.com/en-us/microsoft-edge/webview2/">WebView2</a>ランタイムがインストールされている必要があります。 最新のWindowsでは、すでにインストールされている場合もあります。 <code>wails doctor</code>コマンドで、インストール状況を確認できます。
|
||||
</TabItem>
|
||||
<TabItem value={"Linux"}>
|
||||
Linuxでは、標準の<code>gcc</code>ビルドツール、 <code>libgtk3</code>、<code>libwebkit</code>が必要です。 Wailsは、様々なディストリビューション向けに大量のコマンドを列挙することはせず、現在使用されているディストリビューションのインストールコマンドを自動的に判定します。 Wailsをインストールした後に、<code>wails doctor</code>コマンドを実行して、別途インストールが必要な依存関係を確認してください。 あなたが利用しているディストリビューションやパッケージマネージャーがサポートされていない場合は、<a href={"/docs/guides/linux-distro-support"}>Linuxディストリビューションサポート</a>ガイドを参照してください。
|
||||
Linuxでは、標準の<code>gcc</code>ビルドツール、<code>libgtk3</code>、<code>libwebkit</code>が必要です。 Wailsは、様々なディストリビューション向けに大量のコマンドを列挙することはせず、現在使用されているディストリビューションのインストールコマンドを自動的に判定します。 Wailsをインストールした後に、<code>wails doctor</code>コマンドを実行して、別途インストールが必要な依存関係を確認してください。 あなたが利用しているディストリビューションやパッケージマネージャーがサポートされていない場合は、<a href={"/docs/guides/linux-distro-support"}>Linuxディストリビューションサポート</a>ガイドを参照してください。
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
```
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
このサンプルプロジェクトでは、ディスクからファイルを読み込むシンプルなアセットハンドラを作成します:
|
||||
|
||||
```go title=main.go {16-35,49}
|
||||
```go title=main.go {17-36,49}
|
||||
package main
|
||||
|
||||
import (
|
||||
|
|
|
|||
|
|
@ -21,6 +21,12 @@
|
|||
3. Appleの要求する正規のスクリーンショットや説明文などを、アプリに追加します。
|
||||
4. アプリの新しいバージョンを作成します。
|
||||
|
||||
#### プロビジョニングプロファイルの作成
|
||||
1. [Apple Developerプロフィール](https://developer.apple.com/account/resources/profiles/list)ページへアクセスします。
|
||||
2. Mac App Storeへの配布用に、新しいプロビジョニングプロファイルを追加します。
|
||||
3. プロファイルタイプをMacに設定し、先ほど作成したアプリケーションのApp IDを選択します。
|
||||
4. Mac App Distribution証明書を選択します。
|
||||
5. 埋め込みプロビジョニングプロファイルに名前をつけ、作成されたプロファイルをダウンロードします。
|
||||
|
||||
## Mac App Storeへの公開手順
|
||||
|
||||
|
|
@ -30,7 +36,7 @@ Mac App Storeへ提出されるアプリは、Appleの[App Sandbox](https://deve
|
|||
|
||||
**entitlementsファイルの例**
|
||||
|
||||
ここでは、[RiftShare](https://github.com/achhabra2/riftshare)というアプリのentitlementsファイルを例として示します。 参考として、アプリが必要とする権限を入力してください。 詳しくは、[こちらのサイト](https://developer.apple.com/documentation/bundleresources/entitlements)をご覧ください。
|
||||
ここでは、[RiftShare](https://github.com/achhabra2/riftshare)というアプリのentitlementsファイルを例として示します。 参考として、アプリが必要とする権限を入力してください。 詳しくは、[こちらのサイト](https://developer.apple.com/documentation/bundleresources/entitlements)をご覧ください。 チーム ID とアプリケーション名を上記で登録したものに置き換える必要があります。
|
||||
|
||||
```xml title="entitlements.plist"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
|
@ -47,10 +53,16 @@ Mac App Storeへ提出されるアプリは、Appleの[App Sandbox](https://deve
|
|||
<true/>
|
||||
<key>com.apple.security.files.downloads.read-write</key>
|
||||
<true/>
|
||||
<key>com.apple.application-identifier</key>
|
||||
<string>TEAM_ID.APP_NAME</string>
|
||||
<key>com.apple.developer.team-identifier</key>
|
||||
<string>TEAM_ID</string>
|
||||
</dict>
|
||||
</plist>
|
||||
```
|
||||
|
||||
**組み込みプロビジョニング プロファイルの追加** 上記で作成したプロビジョニング プロファイルは、アプリケーションのルートに追加する必要があります。 embedded.provisionprofile という名前にする必要があります。
|
||||
|
||||
#### アプリパッケージのビルドと署名
|
||||
|
||||
以下は、Mac App Storeへの提出用に、アプリをビルドおよび署名するスクリプトの例です。 プロジェクトのルートディレクトリからスクリプトを実行することを前提としています。
|
||||
|
|
@ -66,6 +78,8 @@ APP_NAME="YourApp"
|
|||
|
||||
wails build -platform darwin/universal -clean
|
||||
|
||||
cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"
|
||||
|
||||
codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app
|
||||
|
||||
productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
|
||||
|
|
@ -80,4 +94,4 @@ productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Ap
|
|||
3. +マークをクリックし、前のステップで生成済みの`APP_NAME.pkg`ファイルを選択します。 そしてアップロードします。
|
||||
4. [App Store Connect](https://appstoreconnect.apple.com/apps)サイトへ戻り、アプリ提出物ページへ戻ります。 App Storeで公開する準備できているバージョンを選択します。 `Build`内で、Transporter経由でアップロードしたパッケージを選択します。
|
||||
|
||||
以上で終了です! サイトで、アプリを審査のために提出できるようになりました。 数営業日後、審査結果に問題が無ければ、アプリがMac App Storeに公開されます。
|
||||
以上で終了です! サイトで、アプリを審査のために提出できるようになりました。 数営業日後、審査結果に問題が無ければ、アプリがMac App Storeに公開されます。
|
||||
|
|
|
|||
|
|
@ -1,95 +1,95 @@
|
|||
# Manual Builds
|
||||
# 手動ビルド
|
||||
|
||||
The Wails CLI does a lot of heavy lifting for the project, but sometimes it's desirable to manually build your project. This document will discuss the different operations the CLI does and how this may be achieved in different ways.
|
||||
Wails CLIは、プロジェクトに関する様々な面倒な作業を担ってくれていますが、ときにはプロジェクトを手動でビルドできたほうが望ましい場合もあるでしょう。 このドキュメントでは、CLIが実行する多くの操作や、これらの操作を別の手段で実現するための方法について説明します。
|
||||
|
||||
## Build Process
|
||||
## ビルドプロセス
|
||||
|
||||
When either `wails build` or `wails dev` are used, the Wails CLI performs a common build process:
|
||||
Wails CLIは、`wails build`コマンドまたは`wails dev`コマンドが使用されると、共通のビルドプロセスを実行します:
|
||||
|
||||
- Install frontend dependencies
|
||||
- Build frontend project
|
||||
- Generate build assets
|
||||
- Compile application
|
||||
- [optional] Compress application
|
||||
- フロントエンド依存関係のインストール
|
||||
- フロントエンドのビルド
|
||||
- ビルドアセットの生成
|
||||
- アプリケーションのコンパイル
|
||||
- [任意] アプリケーションの圧縮
|
||||
|
||||
### Install frontend dependencies
|
||||
### フロントエンド依存関係のインストール
|
||||
|
||||
#### CLI Steps
|
||||
#### CLIが実行する手順
|
||||
|
||||
- If the `-s` flag is given, this step is skipped
|
||||
- Checks `wails.json` to see if there is an install command in the key `frontend:install`
|
||||
- If there isn't, it skips this step
|
||||
- If there is, it checks if `package.json` exists in the frontend directory. If it doesn't exist, it skips this step
|
||||
- An MD5 sum is generated from the `package.json` file contents
|
||||
- It checks for the existence of `package.json.md5` and if it exists, will compare the contents of it (an MD5 sum) with the one generated to see if the contents have changed. If they are the same, this step is skipped
|
||||
- If `package.json.md5` does not exist, it creates it using the generated MD5 sum
|
||||
- If a build is now required, or `node_modules` does not exist, or the `-f` flag is given, the install command is executed in the frontend directory
|
||||
- `-s`フラグが指定された場合、この手順をスキップします。
|
||||
- `wails.json`ファイル内で、`frontend:install`キーにインストールコマンドが記述されているかを確認します。
|
||||
- 記述されていない場合、この手順をスキップします。
|
||||
- 記述されている場合、フロントエンドディレクトリ内に`package.json`ファイルが存在するか確認します。 存在しない場合、この手順をスキップします。
|
||||
- `package.json`ファイルの内容をもとに、MD5チェックサムを生成します。
|
||||
- `package.json.md5`ファイルが存在するか確認し、存在する場合は、さきほど生成したMD5チェックサムと比較して、内容が変更されていないかどうかを確認します。 内容が同じ場合、この手順をスキップします。
|
||||
- `package.json.md5`ファイルが存在しない場合、ファイルを作成し、さきほど生成したMD5チェックサムを書き込みます。
|
||||
- この時点でビルドが必要と判断された場合、`node_modules`ディレクトリが存在しない場合、または`-f`フラグが指定された場合は、フロントエンドディレクトリ内でインストールコマンドを実行します。
|
||||
|
||||
#### Manual Steps
|
||||
#### 手動で実行する手順
|
||||
|
||||
This step could be done from the command line or a script with `npm install`.
|
||||
コマンドライン、または`npm install`のスクリプトを用いて、この手順を実行してください。
|
||||
|
||||
### Build frontend project
|
||||
### フロントエンドのビルド
|
||||
|
||||
#### Wails CLI
|
||||
#### Wails CLIでの手順
|
||||
|
||||
- If the `-s` flag is given, this step is skipped
|
||||
- Checks `wails.json` to see if there is a build command in the key `frontend:build`
|
||||
- If there isn't, it skips this step
|
||||
- If there is, it is executed in the frontend directory
|
||||
- `-s`フラグが指定された場合、この手順をスキップします。
|
||||
- `wails.json`ファイル内で、`frontend:build`キーにビルドコマンドが記述されているかを確認します。
|
||||
- 記述されていない場合、この手順をスキップします。
|
||||
- 記述されている場合、フロントエンドディレクトリ内でコマンドが実行されます。
|
||||
|
||||
#### Manual Steps
|
||||
#### 手動で実行する手順
|
||||
|
||||
This step could be done from the command line or a script with `npm run build` or whatever the frontend build script is.
|
||||
コマンドライン、`npm run build`のスクリプト、またはフロントエンドのビルドスクリプトを用いて、この手順を実行してください。
|
||||
|
||||
### Generate assets
|
||||
### アセットの生成
|
||||
|
||||
#### Wails CLI
|
||||
#### Wails CLIでの手順
|
||||
|
||||
- If `-nopackage` flag is set, this stage is skipped
|
||||
- If the `build/appicon.png` file does not exist, a default one is created
|
||||
- For Windows, see [Bundling for Windows](#windows)
|
||||
- If `build/windows/icon.ico` does not exist, it will create it from the `build/appicon.png` image.
|
||||
- `-nopackage`フラグが指定された場合、この手順をスキップします。
|
||||
- `build/appicon.png`ファイルが存在しない場合、デフォルトのファイルを作成します。
|
||||
- Windowsの場合、[Windowsバンドル](#windows)の節を参照してください。
|
||||
- `build/windows/icon.ico`ファイルが存在しない場合、`build/appicon.png`画像ファイルから新規作成します。
|
||||
|
||||
##### Windows
|
||||
|
||||
- If `build/windows/icon.ico` does not exist, it will create it from `build/appicon.png` using icon sizes of 256, 128, 64, 48, 32 and 16. This is done using [winicon](https://github.com/leaanthony/winicon).
|
||||
- If the `build/windows/<projectname>.manifest` file does not exist, it creates it from a default version.
|
||||
- Compiles the application as a production build (above)
|
||||
- Uses [winres](https://github.com/tc-hib/winres) to bundle the icon and manifest into a `.syso` file ready for linking.
|
||||
- `build/windows/icon.ico`ファイルが存在しない場合、`build/appicon.png`ファイルをもとに、256、128、64、48、32、16サイズのアイコンを新規作成します。 この処理は[winicon](https://github.com/leaanthony/winicon)によって実現しています。
|
||||
- `build/windows/<projectname>.manifest`ファイルが存在しない場合、デフォルトバージョンから新規作成します。
|
||||
- アプリケーションを本番ビルドとしてコンパイルします(上記のとおり)。
|
||||
- [winres](https://github.com/tc-hib/winres)を使用して、アイコンとマニフェストをリンクできる`.syso`ファイルにバンドルします。
|
||||
|
||||
#### Manual Steps
|
||||
#### 手動で実行する手順
|
||||
|
||||
- Create `icon.ico` using the [winicon](https://github.com/leaanthony/winicon) CLI tool (or any other tool).
|
||||
- Create / Update a `.manifest` file for your application
|
||||
- Use the [winres CLI](https://github.com/tc-hib/go-winres) to generate a `.syso` file.
|
||||
- [winicon](https://github.com/leaanthony/winicon)のCLIツール(または他の任意ツール)を使用して、`icon.ico`を作成します。
|
||||
- アプリケーションの`.manifest`ファイルを作成または更新します。
|
||||
- [winres CLI](https://github.com/tc-hib/go-winres)を使用して、`.syso`ファイルを生成します。
|
||||
|
||||
### Compile application
|
||||
### アプリケーションのコンパイル
|
||||
|
||||
#### Wails CLI
|
||||
#### Wails CLIでの手順
|
||||
|
||||
- If the `-clean` flag is provided, the `build` directory is deleted and recreated
|
||||
- For `wails dev`, the following default Go flags are used: `-tags dev -gcflags "all=-N -l"`
|
||||
- For `wails build`, the following default Go flags are used: `-tags desktop,production -ldflags "-w -s"`
|
||||
- On Windows, `-ldflags "-w -h -H windowsgui"`
|
||||
- Additional tags passed to the CLI using `-tags` are added to the defaults
|
||||
- Additional ldflags passed to the CLI using `-ldflags` are added to the defaults
|
||||
- The `-o` flag is passed through
|
||||
- The Go compiler specified by `-compiler` will be used for compilation
|
||||
- `-clean`フラグが指定された場合、`build`ディレクトリを削除して再作成します。
|
||||
- `wails dev`コマンドの場合、デフォルトで次のGoフラグを使用するようにします: `-tags dev -gcflags "all=-N -l"`
|
||||
- `wails build`コマンドの場合、デフォルトで次のGoフラグを使用するようにします: `-tags desktop,production -ldflags "-w -s"`
|
||||
- Windowsの場合: `-ldflags "-w -h -H windowsgui"`
|
||||
- `-tags`フラグを使用してCLIに指定された追加タグを、デフォルトのタグに追記します。
|
||||
- `-ldflags`フラグを使用してCLIに指定された追加のldflagsを、デフォルトのタグに追記します。
|
||||
- `-o`フラグのパラメータをパススルーさせます。
|
||||
- `-compiler`フラグで指定されたGoコンパイラを、コンパイル時に使用するようにします。
|
||||
|
||||
#### Manual steps
|
||||
#### 手動で実行する手順
|
||||
|
||||
- For dev build, the minimum command would be: `go build -tags dev -gcflags "all=-N -l"`
|
||||
- For production build, the minimum command would be: `go build -tags desktop,production -ldflags "-w -s -H windowsgui"`
|
||||
- Ensure that you compile in the same directory as the `.syso` file
|
||||
- 開発ビルドの場合、最小のコマンドは次のとおりです: `go build -tags dev -gcflags "all=-N -l"`
|
||||
- 本番ビルドの場合、最小のコマンドは次のとおりです: `go build -tags desktop,production -ldflags "-w -s -H windowsgui"`
|
||||
- `.syso`ファイルと同じディレクトリでコンパイルするようにしてください。
|
||||
|
||||
### Compress application
|
||||
### アプリケーションの圧縮
|
||||
|
||||
#### Wails CLI
|
||||
#### Wails CLIでの手順
|
||||
|
||||
- If the `-upx` flag has been given, the `upx` program will be run to compress the application with the default settings
|
||||
- If `-upxflags` is also passed, these flags are used instead of the default ones
|
||||
- `-upx`フラグが指定された場合、アプリケーションを圧縮するために、`upx`プログラムをデフォルト設定で実行します。
|
||||
- `-upxflags`フラグも指定された場合、デフォルト設定の代わりにこれらのフラグを使用します。
|
||||
|
||||
#### Manual steps
|
||||
#### 手動で実行する手順
|
||||
|
||||
- Run `upx [flags]` manually to compress the application.
|
||||
- `upx [flags]`を手動で実行して、アプリケーションを圧縮します。
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
# Migrating from v1
|
||||
# v1からの移行
|
||||
|
||||
## Overview
|
||||
## 概要
|
||||
|
||||
Wails v2 is a significant change from v1. This document aims to highlight the changes and the steps in migrating an existing project.
|
||||
Wails v2は、v1から大幅に変更されています。 このドキュメントでは、変更点、および既存のプロジェクトを移行する方法に焦点をあてて説明します。
|
||||
|
||||
### Creating the Application
|
||||
### アプリケーションの作成
|
||||
|
||||
In v1, the main application is created using `wails.CreateApp`, bindings are added with `app.Bind`, then the application is run using `app.Run()`.
|
||||
v1では、`wails.CreateApp`でメインアプリケーションを作成して、`app.Bind`でバインディングを追加し、`app.Run()`でアプリケーションを起動していました。
|
||||
|
||||
Example:
|
||||
例:
|
||||
|
||||
```go title="v1"
|
||||
app := wails.CreateApp(&wails.AppConfig{
|
||||
|
|
@ -23,7 +23,7 @@ Example:
|
|||
app.Run()
|
||||
```
|
||||
|
||||
In v2, there is just a single method, `wails.Run()`, that accepts [application options](../reference/options.mdx#application-options).
|
||||
v2では、`wails.Run()`メソッドだけが、[アプリケーションオプション](../reference/options.mdx#application-options)を指定することができます。
|
||||
|
||||
```go title="v2"
|
||||
err := wails.Run(&options.App{
|
||||
|
|
@ -39,9 +39,9 @@ In v2, there is just a single method, `wails.Run()`, that accepts [application o
|
|||
})
|
||||
```
|
||||
|
||||
### Binding
|
||||
### バインディング
|
||||
|
||||
In v1, it was possible to bind both arbitrary functions and structs. In v2, this has been simplified to only binding structs. The struct instances that were previously passed to the `Bind()` method in v1, are now specified in the `Bind` field of the [application options](../reference/options.mdx#application-options):
|
||||
v1では、任意の関数と構造体の両方をバインドすることが可能でした。 v2では、構造体のみバインドできるようになり、シンプルになりました。 v1において`Bind()`メソッドに渡していた構造体のインスタンスは、[アプリケーションオプション](../reference/options.mdx#application-options)の`Bind`フィールドで指定できます。
|
||||
|
||||
```go title="v1"
|
||||
app := wails.CreateApp(/* options */)
|
||||
|
|
@ -57,19 +57,19 @@ In v1, it was possible to bind both arbitrary functions and structs. In v2, this
|
|||
})
|
||||
```
|
||||
|
||||
In v1, bound methods were available to the frontend at `window.backend`. This has changed to `window.go`.``
|
||||
v1では、バインドされたメソッドをフロントエンドから利用するには`window.backend`を使用していました。 これは`window.go`に変更されました。
|
||||
|
||||
### Application Lifecycle
|
||||
### アプリケーションライフサイクル
|
||||
|
||||
In v1, there were 2 special methods in a bound struct: `WailsInit()` and `WailsShutdown()`. These have been replaced with 3 lifecycle hooks as part of the [application options](../reference/options.mdx#application-options):
|
||||
v1では、バインドされた構造体の中に、`WailsInit()`および`WailsShutdown()`という2つの特別なメソッドが存在しました。 これらは、[アプリケーションオプション](../reference/options.mdx#application-options)の一部として、3つのライフサイクルフックに置き換えられています:
|
||||
|
||||
- [OnStartup](../reference/options.mdx#onstartup)
|
||||
- [OnShutdown](../reference/options.mdx#onshutdown)
|
||||
- [OnDomReady](../reference/options.mdx#ondomready)
|
||||
|
||||
Note: [OnDomReady](../reference/options.mdx#ondomready) replaces the `wails:ready` system event in v1.
|
||||
注意: [OnDomReady](../reference/options.mdx#ondomready)は、v1での`wails:ready`システムイベントに代わるものです。
|
||||
|
||||
These methods can be standard functions, but a common practice is to have them part of a struct:
|
||||
これらのメソッドは標準的な関数を指定できますが、一般的には、それらのメソッドを構造体の一部として保持しておきます:
|
||||
|
||||
```go title="v2"
|
||||
basic := NewBasicApp()
|
||||
|
|
@ -89,11 +89,11 @@ func (b *Basic) startup(ctx context.Context) {
|
|||
...
|
||||
```
|
||||
|
||||
### Runtime
|
||||
### ランタイム
|
||||
|
||||
The runtime in v2 is much richer than v1 with support for menus, window manipulation and better dialogs. The signature of the methods has changed slightly - please refer the the [Runtime Reference](../reference/runtime/intro.mdx).
|
||||
v2のランタイムはv1よりも非常に充実しており、メニュー、ウィンドウ操作、優れたダイアログをサポートしています。 メソッドのシグネチャが若干変更されていますので、詳しくは[ランタイムのリファレンス](../reference/runtime/intro.mdx)を参照してください。
|
||||
|
||||
In v1, the [runtime](../reference/runtime/intro.mdx) was available via a struct passed to `WailsInit()`. In v2, the runtime has been moved out to its own package. Each method in the runtime takes the `context.Context` that is passed to the [OnStartup](../reference/options.mdx#onstartup) method.
|
||||
v1では、`WailsInit()`に渡された構造体を介して[ランタイム](../reference/runtime/intro.mdx)を利用できていました。 v2では、ランタイムは独自のパッケージとして移植されています。 ランタイムの各メソッドは、[OnStartup](../reference/options.mdx#onstartup)メソッドで受け渡される`context.Context`を引数に取ります。
|
||||
|
||||
```go title="Runtime Example"
|
||||
package main
|
||||
|
|
@ -104,7 +104,7 @@ type Basic struct {
|
|||
ctx context.Context
|
||||
}
|
||||
|
||||
// startup is called at application startup
|
||||
// startupはアプリケーション起動時に呼び出される
|
||||
func (a *App) startup(ctx context.Context) {
|
||||
a.ctx = ctx
|
||||
runtime.LogInfo(ctx, "Application Startup called!")
|
||||
|
|
@ -112,24 +112,24 @@ func (a *App) startup(ctx context.Context) {
|
|||
|
||||
```
|
||||
|
||||
### Assets
|
||||
### アセット
|
||||
|
||||
The _biggest_ change in v2 is how assets are handled.
|
||||
v2での_最も大きな_変更は、アセットの取り扱い方です。
|
||||
|
||||
In v1, assets were passed via 2 application options:
|
||||
v1では、2つのアプリケーションオプションを介してアセットを指定していました:
|
||||
|
||||
- `JS` - The application's JavaScript
|
||||
- `CSS` - The application's CSS
|
||||
- `JS` - アプリケーションのJavaScript
|
||||
- `CSS` - アプリケーションのCSS
|
||||
|
||||
This meant that the responsibility of generating a single JS and CSS file was on the developer. This essentially required the use of complicated packers such as webpack.
|
||||
これは、単一のJSファイルおよびCSSファイルを、開発者が責任をもって作成する必要があることを意味していました。 基本的には、webpackのような複雑なパッカーを使用する必要がありました。
|
||||
|
||||
In v2, Wails makes no assumptions about your frontend assets, just like a webserver. All of your application assets are passed to the application options as an `embed.FS`.
|
||||
v2では、Wailsは一般的なWebサーバと同じように、フロントエンドアセットは何でも構いません。 すべてのアプリケーションアセットは、`embed.FS`インスタンスとしてアプリケーションオプションに渡されます。
|
||||
|
||||
**This means there is no requirement to bundle your assets, encode images as Base64 or attempt the dark art of bundler configuration to use custom fonts**.
|
||||
**つまりアセットをバンドルしたり、画像をBase64でエンコードしたり、カスタムフォントを使用するためにバンドラーの設定を工夫したりする必要は一切ありません**。
|
||||
|
||||
At startup, Wails will scan the given `embed.FS` for `index.html` and use its location as the root path for all the other application assets - just like a webserver would.
|
||||
アプリケーション起動時に、Wailsは、あらかじめ`embed.FS`で指定されたディレクトリ内をスキャンして`index.html`を探し、Webサーバの挙動のように、その場所をすべてのアプリケーションアセットのルートパスとみなします。
|
||||
|
||||
Example: An application has the following project layout. All final assets are placed in the `frontend/dist` directory:
|
||||
例: とあるアプリケーションのプロジェクトディレクトリの構成が次のようになっているとします。 この場合、最終的に必要なすべてのアセットは`frontend/dist`ディレクトリ配下に配置される必要があります:
|
||||
|
||||
```shell
|
||||
.
|
||||
|
|
@ -144,7 +144,7 @@ Example: An application has the following project layout. All final assets are p
|
|||
└── wails.json
|
||||
```
|
||||
|
||||
Those assets may be used by the application by simply creating an `embed.FS`:
|
||||
これらのアセットは、`embed.FS`を定義するだけで、アプリケーションから使用することができます:
|
||||
|
||||
```go title="Assets Example"
|
||||
//go:embed all:frontend/dist
|
||||
|
|
@ -160,32 +160,32 @@ func main() {
|
|||
}
|
||||
```
|
||||
|
||||
Of course, bundlers can be used if you wish to. The only requirement is to pass the final application assets directory to Wails using an `embed.FS` in the `Assets` key of the [application options](../reference/options.mdx#application-options).
|
||||
もちろん、必要に応じてバンドラを使用することもできます。 唯一行わなければいけないことは、[アプリケーションオプション](../reference/options.mdx#application-options)の`Assets`キーに`embed.FS`インスタンスを指定して、Wailsにアプリケーションアセットディレクトリを教えてあげることです。
|
||||
|
||||
### Project Configuration
|
||||
### プロジェクト構成
|
||||
|
||||
In v1, the project configuration was stored in the `project.json` file in the project root. In v2, the project configuration is stored in the `wails.json` file in the project root.
|
||||
v1では、プロジェクトルートに存在する`project.json`ファイルで、プロジェクト構成を管理していました。 v2では、プロジェクトルートにある`wails.json`ファイルでプロジェクト構成を管理します。
|
||||
|
||||
The format of the file is slightly different. Here is a comparison:
|
||||
フォーマットは若干変更されています。 比較表は次のとおりです:
|
||||
|
||||
<p align="center">
|
||||
|
||||
| v1 | v2 | Notes |
|
||||
| v1 | v2 | 備考 |
|
||||
| ------------------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| name | name | |
|
||||
| description | | Removed |
|
||||
| author / name | author / name | |
|
||||
| author / email | author / email | |
|
||||
| version | version | |
|
||||
| binaryname | outputfilename | Changed |
|
||||
| frontend / dir | | Removed |
|
||||
| frontend / install | frontend:install | Changed |
|
||||
| frontend / build | frontend:build | Changed |
|
||||
| frontend / bridge | | Removed |
|
||||
| frontend / serve | | Removed |
|
||||
| tags | | Removed |
|
||||
| | wailsjsdir | The directory to generate wailsjs modules |
|
||||
| | assetdir | The directory of the compiled frontend assets for `dev` mode. This is normally inferred and could be left empty. |
|
||||
| | reloaddirs | Comma separated list of additional directories to watch for changes and to trigger reloads in `dev` mode. This is only needed for some more advanced asset configurations. |
|
||||
| name | name | |
|
||||
| description | | 消去されました |
|
||||
| author / name | author / name | |
|
||||
| author / email | author / email | |
|
||||
| version | version | |
|
||||
| binaryname | outputfilename | 変更されました |
|
||||
| frontend / dir | | 消去されました |
|
||||
| frontend / install | frontend:install | 変更されました |
|
||||
| frontend / build | frontend:build | 変更されました |
|
||||
| frontend / bridge | | 消去されました |
|
||||
| frontend / serve | | 消去されました |
|
||||
| tags | | 消去されました |
|
||||
| | wailsjsdir | wailsjsモジュールを生成するディレクトリ |
|
||||
| | assetdir | `dev`モードでコンパイルされたフロントエンドアセットのディレクトリ。 通常は自動推定されるため、空のままで構いません。 |
|
||||
| | reloaddirs | `dev`モードでリロードをトリガーさせたい追加のディレクトリを指定するための、カンマ区切りのリスト。 高度なアセット構成をとる場合にのみ必要です。 |
|
||||
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Mouse Buttons
|
||||
# マウスボタン
|
||||
|
||||
The Wails runtime intercepts mouse clicks to determine whether a frameless window needs resizing or a window needs to be moved. It has been asked how to detect when a mouse click has occurred, because `window.onclick` doesn't report the mouse buttons correctly. The following code shows how to detect mouse clicks:
|
||||
Wailsランタイムでは、マウスクリックを途中で捕捉し、フレームレスウィンドウのサイズ変更が必要かどうかや、ウィンドウの移動が必要かどうかを判断しています。 `window.onclick`はマウスボタンを正しく報告しないため、どのようにマウスクリックが発生したことを検出しているのかを尋ねられました。 以下のコードは、マウスクリックを検出する方法を示しています:
|
||||
|
||||
```javascript
|
||||
window.addEventListener("mousedown", handleMouseButtonDown);
|
||||
|
|
@ -22,4 +22,4 @@ function handleMouseButtonDown(event) {
|
|||
}
|
||||
```
|
||||
|
||||
Reference: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
|
||||
参考: https://developer.mozilla.org/ja/docs/Web/API/MouseEvent/button
|
||||
|
|
|
|||
|
|
@ -1,32 +1,32 @@
|
|||
# Obfuscated Builds
|
||||
# 難読化されたビルド
|
||||
|
||||
Wails includes support for obfuscating your application using [garble](https://github.com/burrowers/garble).
|
||||
Wailsでは、[garble](https://github.com/burrowers/garble)を使用したアプリケーションの難読化をサポートしています。
|
||||
|
||||
To produce an obfuscated build, you can use the `-obfuscate` flag with the `wails build` command:
|
||||
`wails build`コマンドで`-obfuscate`フラグを使用することで、ビルド時に難読化を有効にすることができます:
|
||||
|
||||
```bash
|
||||
wails build -obfuscated
|
||||
```
|
||||
|
||||
To customise the obfuscation settings, you can use the `-garbleargs` flag:
|
||||
また、難読化に関する設定をカスタマイズするために、`-garbleargs`フラグを使用できます:
|
||||
|
||||
```bash
|
||||
wails build -obfuscated -garbleargs "-literals -tiny -seed=myrandomseed"
|
||||
```
|
||||
|
||||
These settings may be persisted in your [project config](../reference/project-config).
|
||||
これらの設定は、[プロジェクト構成](../reference/project-config)で記述されている場合もあります。
|
||||
|
||||
## How it works
|
||||
## 動作の仕組み
|
||||
|
||||
In a standard build, all bound methods are available in the frontend under the `window.go` variable. When these methods are called, the corresponding backend method is called using the fully qualified function name. When using an obfuscated build, methods are bound using an ID instead of a name. The bindings generated in the `wailsjs` directory use these IDs to call the backend functions.
|
||||
標準のビルドでは、バインドされたすべてのメソッドは、フロントエンドの`window.go`変数から利用することができます。 これらのメソッドが呼び出されると、対応するバックエンドメソッドが完全修飾関数名で呼び出されます。 難読化ビルドの場合、メソッドは名前の代わりにIDでバインドされます。 `wailsjs`ディレクトリに生成されたバインディングは、このIDを使用してバックエンドの関数を呼び出します。
|
||||
|
||||
:::note
|
||||
|
||||
To ensure that your application will work in obfuscated mode, you must use the generated bindings under the `wailsjs` directory in your application.
|
||||
アプリケーションを難読化した状態で動作させるためには、`wailsjs`ディレクトリの配下に生成されたバインディングを使用する必要があります。
|
||||
|
||||
:::
|
||||
|
||||
## Example
|
||||
## 例
|
||||
|
||||
Importing the "Greet" method from the bindings like this:
|
||||
|
||||
|
|
@ -37,4 +37,4 @@ import { Greet } from "../../wailsjs/go/main/App";
|
|||
Greet("World");
|
||||
```
|
||||
|
||||
will ensure that the method will work correctly in obfuscated mode, as the bindings will be regenerated with IDs and the call mechanism updated.
|
||||
これは、バインディングがIDで再生成され、呼び出しメカニズムが更新されるため、難読化モードでメソッドが正しく動作することを保証します。
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Overscroll
|
||||
# オーバースクロール
|
||||
|
||||
[Overscroll](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior) is the "bounce effect" you sometimes get when you scroll beyond a page's content boundaries. This is common in mobile apps. This can be disabled using CSS:
|
||||
[オーバースクロール](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior)は、ページコンテンツの境界を越えてスクロールした際に発生する"バウンス効果"です。 この効果はモバイルアプリでよく見かけます。 CSSを使用することでこの効果を無効化できます:
|
||||
|
||||
```css
|
||||
html {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
# Routing
|
||||
# ルーティング
|
||||
|
||||
Routing is a popular way to switch views in an application. This page offers some guidance around how to do that.
|
||||
アプリケーションでビューを切り替える一般的な方法は、ルーティングです。 このページでは、ルーティングを実現する方法をいくつか紹介します。
|
||||
|
||||
## Vue
|
||||
|
||||
The recommended approach for routing in Vue is [Hash Mode](https://next.router.vuejs.org/guide/essentials/history-mode.html#hash-mode):
|
||||
Vueにおいてルーティングで推奨されるアプローチは、[ハッシュモード](https://next.router.vuejs.org/guide/essentials/history-mode.html#hash-mode)となります:
|
||||
|
||||
```js
|
||||
import { createRouter, createWebHashHistory } from "vue-router";
|
||||
|
|
@ -19,7 +19,7 @@ const router = createRouter({
|
|||
|
||||
## Angular
|
||||
|
||||
The recommended approach for routing in Angular is [HashLocationStrategy](https://codecraft.tv/courses/angular/routing/routing-strategies#_hashlocationstrategy):
|
||||
Angularにおいてルーティングで推奨されるアプローチは、[HashLocationStrategy](https://codecraft.tv/courses/angular/routing/routing-strategies#_hashlocationstrategy)となります:
|
||||
|
||||
```ts
|
||||
RouterModule.forRoot(routes, { useHash: true });
|
||||
|
|
@ -27,7 +27,7 @@ RouterModule.forRoot(routes, { useHash: true });
|
|||
|
||||
## React
|
||||
|
||||
The recommended approach for routing in React is [HashRouter](https://reactrouter.com/docs/en/v6/routers/hash-router):
|
||||
Reactにおいてルーティングで推奨されるアプローチは、[HashRouter](https://reactrouter.com/docs/en/v6/routers/hash-router)となります:
|
||||
|
||||
```jsx
|
||||
import { HashRouter } from "react-router-dom";
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
# Code Signing
|
||||
# コード署名
|
||||
|
||||
This is a guide on how you can sign your binaries generated with Wails on MacOS and Windows. The guide will target CI environments, more specifically GitHub Actions.
|
||||
このガイドでは、MacOSおよびWindowsでWailsによって生成されたバイナリに署名するための方法を解説します。 このガイドは、CI環境、とりわけGitHub Actionsを対象としています。
|
||||
|
||||
## Windows
|
||||
|
||||
First off you need a code signing certificate. If you do not already have one, Microsoft's info page lists some providers [here](https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/get-a-code-signing-certificate). Please note that an EV certificate is not required unless you need to write kernel-level software such as device drivers. For signing your Wails app, a standard code signing certificate will do just fine.
|
||||
まず初めに、コード署名証明書が必要となります。 まだ証明書を持っていない場合は、[こちら](https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/get-a-code-signing-certificate)のMicrosoftのページに、いくつかのプロバイダーが紹介されていますので入手してください、 デバイスドライバといったカーネルレベルのソフトウェアを作成する必要がない限り、EV証明書を入手する必要はありません。 Wailsアプリに署名する場合、標準のコード証明書で問題ありません。
|
||||
|
||||
It may be a good idea to check with your certificate provider how to sign your binaries on your local machine before targeting automated build systems, just so you know if there are any special requirements. For instance, [here](https://www.ssl.com/how-to/using-your-code-signing-certificate/) is SSL.com's code signing guide for Windows. If you know how to sign locally, it will be easier to troubleshoot any potential issues in a CI environment. For instance, SSL.com code signing certificates require the `/tr` flag for [SignTool.exe](https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool) while other providers may only need the `/t` flag for providing the timestamping server. Popular GitHub Actions for signing Windows binaries like [this one](https://github.com/Dana-Prajea/code-sign-action) does not support the `/tr` flag on SignTool.exe. Therefore this guide will focus on signing our app manually with PowerShell commands, but you can use actions like the [code-sign-action](https://github.com/Dana-Prajea/code-sign-action) Action if you prefer.
|
||||
自動ビルドシステムを対象に作業する前に、ローカルマシン上でバイナリに署名する方法を証明書プロバイダに確認し、特別な要件がないかを確認することを推奨します。 例えば、[こちら](https://www.ssl.com/how-to/using-your-code-signing-certificate/)はSSL.comのWindows向けコード署名ガイドです。 ローカル環境での署名方法が分かっていれば、CI環境で発生するかもしれない問題のトラブルシューティングが容易になることでしょう。 例えば、SSL.comのコード署名証明書は[SignTool.exe](https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool)において`/tr`フラグを指定する必要がありますが、他の証明書プロバイダでは、タイムスタンプサーバの提供のために、`/t`フラグのみ必要である場合もあります。 [こちら](https://github.com/Dana-Prajea/code-sign-action)のような、Windowsバイナリの署名によく使われるGitHub Actionsのアクションは、SignTool.exeの`/tr`フラグに対応していません。 したがって、このガイドではPowerShellコマンドを使用して手動でアプリケーションに署名する方法に焦点をあてます。ただし、必要であれば[code-sign-action](https://github.com/Dana-Prajea/code-sign-action)アクションといったアクションを使用することも可能です。
|
||||
|
||||
First off, let's make sure we are able to build our Wails app in our GitHub CI. Here is a small workflow template:
|
||||
まずは、GitHub CIでWailsアプリをビルドできるようにしておきましょう。 簡単なワークフローテンプレートは次のとおりです:
|
||||
|
||||
```yaml
|
||||
name: "example"
|
||||
|
|
@ -33,7 +33,7 @@ jobs:
|
|||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
# You may need to manually build you frontend manually here, unless you have configured frontend build and install commands in wails.json.
|
||||
# wails.jsonでフロントエンドのビルドおよびインストールコマンドを設定していない場合、ここで手動でフロントエンドをビルドする必要があるかもしれません。
|
||||
- name: Get Wails
|
||||
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
||||
- name: Build Wails app
|
||||
|
|
@ -53,24 +53,24 @@ jobs:
|
|||
path: build/bin/*
|
||||
```
|
||||
|
||||
Next we need to give the GitHub workflow access to our signing certificate. This is done by encoding your .pfx or .p12 certificate into a base64 string. To do this in PowerShell, you can use the following command assuming your certificate is called 'my-cert.p12':
|
||||
次に、GitHubワークフローに署名証明書へのアクセス権を付与する必要があります。 これは、.pfxまたは.p12形式の証明書をbase64文字列にエンコードすることで実現できます。 PowerShellの場合、証明書名が仮に'my-cert.p12'だとすると、次のコマンドが使用できます:
|
||||
|
||||
```PowerShell
|
||||
certutil -encode .\my-cert.p12 my-cert-base64.txt
|
||||
```
|
||||
|
||||
You should now have your .txt file with the base64 encoded certificate. It should start with _-----BEGIN CERTIFICATE-----_ and end with _-----END CERTIFICATE-----_. Now you need to make two action secrets on GitHub. Navigate to _Settings -> Secrets -> Actions_ and create the two following secrets:
|
||||
これで、base64でエンコードされた証明書が含まれる.txtファイルが作成されます。 このファイルの中身は、_-----BEGIN CERTIFICATE-----_で始まり、_-----END CERTIFICATE-----_で終わる必要があります。 次に、GitHubで2つのActions secretsを作成します。 _Settings -> Secrets -> Actions_のページに移動し、2つのシークレットを作成してください:
|
||||
|
||||
- **WIN_SIGNING_CERT** with the contents of your base64 encoded certificate text.
|
||||
- **WIN_SIGNING_CERT_PASSWORD** with the contents of your certificate password.
|
||||
- **WIN_SIGNING_CERT** には、base64エンコードされた証明書テキストの内容を設定します。
|
||||
- **WIN_SIGNING_CERT_PASSWORD** には、証明書のパスワードを設定します。
|
||||
|
||||
Now we're ready to implement the signing in our workflow using one of the two methods:
|
||||
ここまでの作業で、次の2つのいずれかの方法を使用して、ワークフローによる署名処理を実装する準備が整いました。
|
||||
|
||||
### Method 1: signing with commands
|
||||
### 方法1: コマンドを使用して署名
|
||||
|
||||
This method uses PowerShell commands to sign our app, and leaves you control over the entire signing process.
|
||||
この方法では、Power Shellコマンドを使用してアプリに署名し、署名プロセス全体をコントロールします。
|
||||
|
||||
After the `"Build Wails app"` step, we can add the following step to our workflow:
|
||||
`"Build Wails app"`ステップのあとに、下記のステップをワークフローに追加してください。
|
||||
|
||||
```yaml
|
||||
- name: Sign Windows binaries
|
||||
|
|
@ -85,13 +85,13 @@ After the `"Build Wails app"` step, we can add the following step to our workflo
|
|||
|
||||
```
|
||||
|
||||
This script creates a new directory for your certificate file, creates the certificate file from our base64 secret, converts it to a .pfx file, and finally signs the binary. The following variables needs to be replaced in the last line:
|
||||
このスクリプトでは、証明書ファイル用に新しいディレクトリを作成して、base64シークレットから証明書ファイルを作成します。その証明書を.pfxファイルに変換し、最後にバイナリへ署名します。 下記の変数は、最後の行内で置換してください:
|
||||
|
||||
- **signing algorithm**: usually sha256.
|
||||
- **timestamping server**: URL to the timestamping server to use with your certificate.
|
||||
- **path to binary**: path to the binary you want to sign.
|
||||
- **signing algorithm**: 通常は、sha256。
|
||||
- **timestamping server**: 証明書で使用するタイムスタンプサーバのURL。
|
||||
- **path to binary**: 署名したいバイナリへのパス。
|
||||
|
||||
Given that our Wails config has `outputfilename` set to "app.exe" and that we have a certificate from SSL.com, this would be our workflow:
|
||||
Wailsの構成において`outputfilename`に"app.exe"という値が設定されており、SSL.comでの証明書が用意されている場合、次のようなワークフローとなります:
|
||||
|
||||
```yaml
|
||||
name: "example"
|
||||
|
|
@ -116,7 +116,7 @@ jobs:
|
|||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
# You may need to manually build you frontend here, unless you have configured frontend build and install commands in wails.json.
|
||||
# wails.jsonでフロントエンドのビルドおよびインストールコマンドを設定していない場合、ここで手動でフロントエンドをビルドする必要があるかもしれません。
|
||||
- name: Get Wails
|
||||
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
||||
- name: Build Wails app
|
||||
|
|
@ -146,27 +146,27 @@ jobs:
|
|||
path: build/bin/*
|
||||
```
|
||||
|
||||
### Method 2: automatically signing with Action
|
||||
### 方法2: アクションを使用して自動的に署名
|
||||
|
||||
It is possible to use a Windows code signing Action like [this](https://github.com/marketplace/actions/code-sign-a-file-with-pfx-certificate) one, but note it requires a SHA1 hash for the certificate and a certificate name. View an example of how to configure it on the Action's [marketplace](https://github.com/marketplace/actions/code-sign-a-file-with-pfx-certificate).
|
||||
[こちら](https://github.com/marketplace/actions/code-sign-a-file-with-pfx-certificate)のようなWindowsコード署名のためのアクションを使用することはできますが、証明書用のSHA1ハッシュや証明書名が必要であることに注意してください。 詳しくは、アクションの[マーケットプレイス](https://github.com/marketplace/actions/code-sign-a-file-with-pfx-certificate)で、使用方法を確認してください。
|
||||
|
||||
---
|
||||
|
||||
## MacOS
|
||||
|
||||
First off you need your code signing certificate from Apple. If you do not have one, a simple Google search will help you acquire one. Once you have your certificate, you need to export it and encode it to base64. [This tutorial](https://localazy.com/blog/how-to-automatically-sign-macos-apps-using-github-actions) shows you how to do that in an easy manner. Once you have exported your .p12 certificate file, you can encode it to base64 as seen in the tutorial with the following command:
|
||||
まずは、Appleのコード署名証明書が必要です。 もし所有していない場合は、Googleで検索すれば取得方法が分るでしょう。 証明書を入手できたら、それをエクスポートし、base64でエンコードする必要があります。 [このチュートリアル](https://localazy.com/blog/how-to-automatically-sign-macos-apps-using-github-actions)をご覧いただければ、簡単にエンコードする方法が分ります。 .p12証明書ファイルをエクスポートした場合、次のコマンドを使用して、チュートリアルで示されているようにbase64にエンコードできます:
|
||||
|
||||
```bash
|
||||
base64 Certificates.p12 | pbcopy
|
||||
```
|
||||
|
||||
Now you're ready to create some GitHub project secrets, just as with Windows:
|
||||
これにより、Windowsと同様に、GitHubプロジェクトにいくつかのシークレットを設定する準備が整いました:
|
||||
|
||||
- **APPLE_DEVELOPER_CERTIFICATE_P12_BASE64** with the contents of your newly copied base64 certificate.
|
||||
- **APPLE_DEVELOPER_CERTIFICATE_PASSWORD** with the contents of your certificate password.
|
||||
- **APPLE_PASSWORD** with the contents of an App-Specific password to your Apple-ID account which you can generate [here](https://appleid.apple.com/account/manage).
|
||||
- **APPLE_DEVELOPER_CERTIFICATE_P12_BASE64**には、新しくコピーしたbase64証明書の内容を設定します。
|
||||
- **APPLE_DEVELOPER_CERTIFICATE_PASSWORD**には、証明書のパスワードを設定します。
|
||||
- **APPLE_PASSWORD**には、[こちら](https://appleid.apple.com/account/manage)で生成できるアプリ固有のパスワードを設定します。
|
||||
|
||||
Let's make sure we are able to build our Wails app in our GitHub Action workflow. Here is a small template:
|
||||
GitHub Actionのワークフローで、Wailsアプリをビルドできるようにしましょう。 簡単な例は次のとおりです:
|
||||
|
||||
```yaml
|
||||
name: "example"
|
||||
|
|
@ -191,7 +191,7 @@ jobs:
|
|||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
# You may need to manually build you frontend here, unless you have configured frontend build and install commands in wails.json.
|
||||
# wails.jsonでフロントエンドのビルドおよびインストールコマンドを設定していない場合、ここで手動でフロントエンドをビルドする必要があるかもしれません。
|
||||
- name: Get Wails
|
||||
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
||||
- name: Build Wails app
|
||||
|
|
@ -211,9 +211,9 @@ jobs:
|
|||
path: build/bin/*
|
||||
```
|
||||
|
||||
For code signing on macOS, [gon](https://github.com/mitchellh/gon) is a very handy tool for code signing and communicating with Apple servers, also written in Go, and will be used in this guide.
|
||||
macOSでコード署名をするときは、[gon](https://github.com/mitchellh/gon)という非常に便利なツールを使うことで、コード署名およびAppleサーバとの通信ができます。これはGoで記述されており、このガイドでも使用されています。
|
||||
|
||||
After the `Build Wails app` step, add the following to the workflow:
|
||||
`Build Wails app`ステップの後に、次のワークフローを追加します:
|
||||
|
||||
```yaml
|
||||
- name: MacOS download gon for code signing and app notarization
|
||||
|
|
@ -222,7 +222,7 @@ After the `Build Wails app` step, add the following to the workflow:
|
|||
brew install mitchellh/gon/gon
|
||||
```
|
||||
|
||||
Now we need to configure some gon config files in our `build/darwin` directory:
|
||||
ここで、`build/darwin`ディレクトリ内に、gonの構成設定ファイルを用意する必要があります:
|
||||
|
||||
1. gon-sign.json:
|
||||
|
||||
|
|
@ -240,7 +240,7 @@ Now we need to configure some gon config files in our `build/darwin` directory:
|
|||
}
|
||||
```
|
||||
|
||||
Where `source` is your Wails binary, `bundle_id` is your bundle ID, `apple_id` contains your Apple ID username and App-Specific password which you created earlier, and `sign.application_identity` is your identity which you can find by running the following command:
|
||||
`source`にはWailsのバイナリファイルの場所、`bundle_id`にはバンドルID、`apple_id`にはあらかじめ作成したApple IDのユーザ名とアプリ固有のパスワード、`sign.application_identity`には次のコマンドを実行することで分かるIDを指定します:
|
||||
|
||||
```bash
|
||||
security find-identity -v -p codesigning
|
||||
|
|
@ -267,9 +267,9 @@ security find-identity -v -p codesigning
|
|||
</plist>
|
||||
```
|
||||
|
||||
In this file you configure the entitlements you need for you app, e.g. camera permissions if your app uses the camera. Read more about entitlements [here](https://developer.apple.com/documentation/bundleresources/entitlements).
|
||||
このファイルでは、アプリに必要な権限(たとえば、アプリがカメラを使用する場合、カメラへのアクセス権限)を設定します。 権限について詳しくは[こちら](https://developer.apple.com/documentation/bundleresources/entitlements)をご覧ください。
|
||||
|
||||
Make sure you have updated your `Info.plist` file with the same bundle ID as you entered in `gon-sign.json`. Here's an example `Info.plist` file:
|
||||
`Info.plist`ファイルのバンドルIDを、`gon-sign.json`に入力したものと同じIDに書き換えてください。 次は、`Info.plist`ファイルの例です:
|
||||
|
||||
```plist
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
|
|
@ -289,7 +289,7 @@ Make sure you have updated your `Info.plist` file with the same bundle ID as you
|
|||
</dict></plist>
|
||||
```
|
||||
|
||||
Now we're ready to add the signing step in our workflow after building the Wails app:
|
||||
これで、Wailsアプリをビルドしたあとに、ワークフローに署名のステップを追加する準備ができました:
|
||||
|
||||
```yaml
|
||||
- name: Import Code-Signing Certificates for macOS
|
||||
|
|
@ -307,11 +307,11 @@ Now we're ready to add the signing step in our workflow after building the Wails
|
|||
gon -log-level=info ./build/darwin/gon-sign.json
|
||||
```
|
||||
|
||||
Please note that signing binaries with Apple could take anywhere from minutes to hours.
|
||||
Appleでバイナリに署名する場合、数分から数時間程度の所要時間がかかることがありますのでご注意ください。
|
||||
|
||||
## Combined workflow file:
|
||||
## ワークフローファイルの組み合わせ
|
||||
|
||||
Here is our GitHub workflow file with Windows + macOS combined:
|
||||
WindowsとmacOSを組み合わせたGitHubワークフローファイルの例は次のとおりです:
|
||||
|
||||
```yaml
|
||||
name: "example combined"
|
||||
|
|
@ -336,7 +336,7 @@ jobs:
|
|||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
# You may need to manually build you frontend here, unless you have configured frontend build and install commands in wails.json.
|
||||
# wails.jsonでフロントエンドのビルドおよびインストールコマンドを設定していない場合、ここで手動でフロントエンドをビルドする必要があるかもしれません。
|
||||
- name: Get Wails
|
||||
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
||||
- name: Build Wails app
|
||||
|
|
@ -382,6 +382,6 @@ jobs:
|
|||
path: build/bin/*
|
||||
```
|
||||
|
||||
# End notes
|
||||
# おわりに
|
||||
|
||||
This guide inspired by the RiftShare project and its workflow, which is highly recommended to check out [here](https://github.com/achhabra2/riftshare/blob/main/.github/workflows/build.yaml).
|
||||
このガイドは、RiftShareプロジェクトとそのワークフローに触発されて作成されたものであり、 [こちら](https://github.com/achhabra2/riftshare/blob/main/.github/workflows/build.yaml)を併せて確認することを強く推奨します。
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
# Templates
|
||||
# テンプレート
|
||||
|
||||
Wails generates projects from pre-created templates. In v1, this was a difficult to maintain set of projects that were subject to going out of date. In v2, to empower the community, a couple of new features have been added for templates:
|
||||
Wailsは、事前に作成されたテンプレートからプロジェクトを生成します。 v1では、テンプレートがメンテナンス困難なプロジェクトとなり、時代遅れとなってしまう可能性がありました。 v2では、コミュニティを強化するために、テンプレートにいくつかの新機能が追加されました:
|
||||
|
||||
- Ability to generate projects from [Remote Templates](../reference/cli.mdx#remote-templates)
|
||||
- Tooling to help create your own templates
|
||||
- [リモート点テンプレート](../reference/cli.mdx#remote-templates)からプロジェクトを生成する機能
|
||||
- 独自のテンプレートの作成に役立つツール
|
||||
|
||||
## Creating Templates
|
||||
## テンプレートの作成
|
||||
|
||||
To create a template, you can use the `wails generate template` command. To generate a default template, run:
|
||||
テンプレートを作成するには、`wails generate template`コマンドを使用します。 デフォルトのテンプレートを生成する場合は、次のコマンドを実行してください:
|
||||
|
||||
`wails generate template -name mytemplate`
|
||||
|
||||
This creates the directory "mytemplate" with default files:
|
||||
これにより、デフォルトのファイルが含まれた"mytemplate"ディレクトリが作成されます:
|
||||
|
||||
```shell title=mytemplate/
|
||||
.
|
||||
|
|
@ -35,31 +35,31 @@ This creates the directory "mytemplate" with default files:
|
|||
`-- wails.tmpl.json
|
||||
```
|
||||
|
||||
### Template Overview
|
||||
### テンプレートの概要
|
||||
|
||||
The default template consists of the following files and directories:
|
||||
デフォルトのテンプレートは、次のファイルおよびディレクトリで構成されています:
|
||||
|
||||
| Filename / Dir | Description |
|
||||
| --------------- | -------------------------------------------- |
|
||||
| NEXTSTEPS.md | Instructions on how to complete the template |
|
||||
| README.md | The README published with the template |
|
||||
| app.tmpl.go | `app.go` template file |
|
||||
| frontend/ | The directory containing frontend assets |
|
||||
| go.mod.tmpl | `go.mod` template file |
|
||||
| main.tmpl.go | `main.go` template file |
|
||||
| template.json | The template metadata |
|
||||
| wails.tmpl.json | `wails.json` template file |
|
||||
| ファイル名 / ディレクトリ名 | 説明 |
|
||||
| --------------- | ----------------------- |
|
||||
| NEXTSTEPS.md | テンプレートを完成させる手順を記した説明 |
|
||||
| README.md | テンプレートとともに公開されるREADME |
|
||||
| app.tmpl.go | `app.go`のテンプレートファイル |
|
||||
| frontend/ | フロントエンドアセットを含むディレクトリ |
|
||||
| go.mod.tmpl | `go.mod`のテンプレートファイル |
|
||||
| main.tmpl.go | `main.go`のテンプレートファイル |
|
||||
| template.json | テンプレートのメタデータ |
|
||||
| wails.tmpl.json | `wails.json`のテンプレートファイル |
|
||||
|
||||
At this point it is advisable to follow the steps in `NEXTSTEPS.md`.
|
||||
このあとは、`NEXTSTEPS.md`に記述されている手順に従うことを推奨します。
|
||||
|
||||
## Creating a Template from an Existing Project
|
||||
## 既存プロジェクトからのテンプレート作成
|
||||
|
||||
It's possible to create a template from an existing frontend project by passing the path to the project when generating the template. We will now walk through how to create a Vue 3 template:
|
||||
テンプレートの生成時にプロジェクトへのパスを渡すことで、既存のフロントエンドプロジェクトから、テンプレートを作成することができます。 ここでは、Vue3テンプレートの作成方法を説明します:
|
||||
|
||||
- Install the vue cli: `npm install -g @vue/cli`
|
||||
- Create the default project: `vue create vue3-base`
|
||||
- Select `Default (Vue 3) ([Vue 3] babel, eslint)`
|
||||
- After the project has been generated, run:
|
||||
- Vue Cliをインストールする: `npm install -g @vue/cli`
|
||||
- デフォルトのプロジェクトを作成する: `vue create vue3-base`
|
||||
- その際、`Default (Vue 3) ([Vue 3] babel, eslint)`を選択します
|
||||
- プロジェクトが作成されたあとに、次のコマンドを実行する:
|
||||
|
||||
```shell
|
||||
> wails generate template -name wails-vue3-template -frontend .\vue3-base\
|
||||
|
|
@ -71,11 +71,11 @@ Updating package-lock.json data...
|
|||
Renaming package-lock.json -> package-lock.tmpl.json...
|
||||
```
|
||||
|
||||
- The template may now be customised as specified in the `NEXTSTEPS.md` file
|
||||
- Once the files are ready, it can be tested by running: `wails init -n my-vue3-project -t .\wails-vue3-template\`
|
||||
- To test the new project, run: `cd my-vue3-project` then `wails build`
|
||||
- Once the project has compiled, run it: `.\build\bin\my-vue3-project.exe`
|
||||
- You should have a fully functioning Vue3 application:
|
||||
- `NEXTSTEPS.md`ファイルに記述されているように、テンプレートをカスタマイズする
|
||||
- ファイルの準備ができたら、次のコマンドを実行してテストする: `wails init -n my-vue3-project -t .\wails-vue3-template\`
|
||||
- 新しいプロジェクトの動作をテストするために、次のコマンドを実行する: `cd my-vue3-project`および`wails build`
|
||||
- プロジェクトがコンパイルされたら、実行する: `.\build\bin\my-vue3-project.exe`
|
||||
- Vue3アプリケーションが完全に動作していることを確認する
|
||||
|
||||
```mdx-code-block
|
||||
<div className="text--center">
|
||||
|
|
@ -86,12 +86,12 @@ Renaming package-lock.json -> package-lock.tmpl.json...
|
|||
</div>
|
||||
```
|
||||
|
||||
## Publishing Templates
|
||||
## テンプレートの公開
|
||||
|
||||
Publishing a template is simply pushing the files to GitHub. The following best practice is encouraged:
|
||||
テンプレートを公開するためにすることは、ファイルをGitHubにプッシュすることだけです。 以下のベストプラクティスを実施することを推奨します:
|
||||
|
||||
- Remove any unwanted files and directories (such as `.git`) from your frontend directory
|
||||
- Ensure that `template.json` is complete, especially `helpurl`
|
||||
- Push the files to GitHub
|
||||
- Create a PR on the [Community Templates](../community/templates.mdx) page
|
||||
- Announce the template on the [Template Announcement](https://github.com/wailsapp/wails/discussions/825) discussion board
|
||||
- 不要なファイルやディレクトリ(`.git`など)をフロントエンドディレクトリから削除する
|
||||
- `template.json`がきちんと記述されていること、とくに`helpurl`が記述されていることを確認する
|
||||
- ファイルをGitHubにプッシュする
|
||||
- [コミュニティのテンプレート](../community/templates.mdx)ページにプルリクエストを作成する
|
||||
- [Template Announcement](https://github.com/wailsapp/wails/discussions/825)のディスカッションボードでテンプレートをアナウンスする
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
# トラブルシューティング
|
||||
|
||||
An assortment of troubleshooting tips.
|
||||
このページは、トラブルシューティングを手助けするヒント集です。
|
||||
|
||||
## `wails`コマンドが見つからないのですが?
|
||||
|
||||
`wails`コマンドが見つからないとシステムに怒られた場合は、Goが、公式のGoインストール手順に従って導入されているかを確認してください。 コマンドが見つからないほとんどの理由は、あなたのホームディレクトリ配下にある`go/bin`ディレクトリのパスが、`PATH`環境変数に含まれていないからです。 また、インストールによって行われた環境変更を反映させるために、もともと開いていたコマンドプロンプト(ターミナル)がある場合はそれらをいったん閉じて、再度開きなおしてください。
|
||||
|
||||
## My application is displaying a white/blank screen
|
||||
## アプリケーションがホワイト/ブラックスクリーン表示になってしまいます
|
||||
|
||||
Check that your application includes the assets from the correct directory. In your `main.go` file, you will have something similar to the following code:
|
||||
アプリケーション内で、正しいディレクトリでアセットが指定されていることを確認してください。 `main.go`ファイル内には、以下のようなコードが存在します:
|
||||
|
||||
```go
|
||||
//go:embed all:frontend/dist
|
||||
var assets embed.FS
|
||||
```
|
||||
|
||||
Check that `frontend/dist` contains your application assets.
|
||||
また、`frontend/dist`ディレクトリ内に、アプリケーションアセットがきちんと含まれているか確認してください。
|
||||
|
||||
### Mac
|
||||
|
||||
If this happens on Mac, try adding the following to your `Info.plist`:
|
||||
この事象がMacで発生した場合は、`Info.plist`に以下の記述を追加してみてください:
|
||||
|
||||
```xml
|
||||
<key>NSAppTransportSecurity</key>
|
||||
|
|
@ -29,11 +29,11 @@ If this happens on Mac, try adding the following to your `Info.plist`:
|
|||
</dict>
|
||||
```
|
||||
|
||||
Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
|
||||
参考: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
|
||||
|
||||
## Mac application not valid
|
||||
## Macのアプリケーションが無効になっています
|
||||
|
||||
If your built application looks like this in finder:
|
||||
ビルドしたアプリケーションが次のように表示される場合:
|
||||
|
||||
```mdx-code-block
|
||||
<p className="text--center">
|
||||
|
|
@ -45,11 +45,11 @@ If your built application looks like this in finder:
|
|||
</p>
|
||||
```
|
||||
|
||||
it's likely that your application's `info.plist` is invalid. Update the file in `build/<yourapp>.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory.
|
||||
アプリケーションの`info.plist`が無効である可能性があります。 `build/<yourapp>.app/Contents/info.plist`ファイルを更新し、データが有効かどうかを確認します。たとえば、バイナリ名が正しいかどうかを確認してください。 変更を反映するには、ファイルを`build/darwin`ディレクトリにコピーします。
|
||||
|
||||
## Cannot call backend method from frontend with variadic arguments
|
||||
## 可変長引数を持つバックエンドメソッドをフロントエンドから呼び出せません
|
||||
|
||||
If you have a backend method defined with variadic parameters, eg:
|
||||
次のように、可変長引数を持つバックエンドメソッドが定義されている場合:
|
||||
|
||||
```go
|
||||
func (a *App) TestFunc(msg string, args ...interface{}) error {
|
||||
|
|
@ -57,7 +57,7 @@ func (a *App) TestFunc(msg string, args ...interface{}) error {
|
|||
}
|
||||
```
|
||||
|
||||
calling this method from the frontend like this will fail:
|
||||
このメソッドを、次のようにフロントエンドから呼び出すと失敗します:
|
||||
|
||||
```js
|
||||
var msg = "Hello: ";
|
||||
|
|
@ -71,7 +71,7 @@ window.go.main.App.TestFunc(msg, ...args)
|
|||
});
|
||||
```
|
||||
|
||||
Workaround:
|
||||
回避方法:
|
||||
|
||||
```js
|
||||
var msg = "Hello ";
|
||||
|
|
@ -86,32 +86,32 @@ window.go.main.App.TestFunc(msg, args)
|
|||
});
|
||||
```
|
||||
|
||||
Credit: https://github.com/wailsapp/wails/issues/1186
|
||||
出典: https://github.com/wailsapp/wails/issues/1186
|
||||
|
||||
## I'm having getting proxy errors when trying to install Wails
|
||||
## Wailsのインストール時にプロキシエラーが発生します
|
||||
|
||||
If you are getting errors like this:
|
||||
次のようなエラーが発生する場合:
|
||||
|
||||
```
|
||||
"https://proxy.golang.org/github.com/wailsapp/wails/cmd/wails/@v/list": dial tcp 172.217.163.49:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
|
||||
```
|
||||
|
||||
it's probably because the official Go Proxy is being blocked (Users in China have reported this). The solution is to set up the proxy manually, eg:
|
||||
おそらく、公式のGo Proxyがブロックされています (中国のユーザより報告されています)。 解決するには、次のように、プロキシを手動で設定します:
|
||||
|
||||
```
|
||||
go env -w GO111MODULE=on
|
||||
go env -w GOPROXY=https://goproxy.cn,direct
|
||||
```
|
||||
|
||||
Source: https://github.com/wailsapp/wails/issues/1233
|
||||
出典: https://github.com/wailsapp/wails/issues/1233
|
||||
|
||||
## The generated TypeScript doesn't have the correct types
|
||||
## 生成されたTypeScriptの型定義が正しくありません
|
||||
|
||||
Sometimes the generated TypeScript doesn't have the correct types. To mitigate this, it is possible to specify what types should be generated using the `ts_type` struct tag. For more details, please read [this](https://github.com/tkrajina/typescriptify-golang-structs#custom-types).
|
||||
場合によっては、生成されるTypeScriptの型定義が誤っていることがあります。 この事象を軽減させるために、`ts_type`という構造体のタグを使用して、生成する型を指定することができます。 詳しくは、[こちら](https://github.com/tkrajina/typescriptify-golang-structs#custom-types)をご覧ください。
|
||||
|
||||
## When I navigate away from `index.html`, I am unable to call methods on the frontend
|
||||
## `index.html`から移動するとフロントエンド上でメソッドを呼び出すことができません
|
||||
|
||||
If you navigate away from `index.html` to a new html file, the context will be lost. This can be fixed by adding the following imports to the `<head>` section of any new page you navigate to:
|
||||
`index.html`から新しいhtmlファイルへ遷移すると、コンテキスト情報は失われてしまいます。 この事象を修正するには、遷移先の新しいページの`<head>`セクションに、次のインポートコードを追加します:
|
||||
|
||||
```html
|
||||
<head>
|
||||
|
|
@ -120,17 +120,17 @@ If you navigate away from `index.html` to a new html file, the context will be l
|
|||
</head>
|
||||
```
|
||||
|
||||
Source: https://github.com/wailsapp/wails/discussions/1512
|
||||
出典: https://github.com/wailsapp/wails/discussions/1512
|
||||
|
||||
## I get `too many open files` errors on my Mac when I run `wails dev`
|
||||
## Macで`wails dev`を実行すると`too many open files`エラーが発生します
|
||||
|
||||
By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command. This limit can be increased by running: `ulimit -n 1024` in the terminal.
|
||||
デフォルトでは、macOSは最大で256個のファイルしか開くことができません。 この制限により、`wails dev`コマンド実行時に影響が発生する場合があります。 この制限は、ターミナルで次のようなコマンドを実行することで、緩和することができます: `ulimit -n 1024`。
|
||||
|
||||
FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac. If this isn't completed soon, we will create our own implementation, tracked [here](https://github.com/wailsapp/wails/issues/1733).
|
||||
FSNotifyは、Macのために、[Appleのfseventsへの移行を検討しています](https://github.com/fsnotify/fsnotify/issues/11)。 この移行が完了しない間は、[こちら](https://github.com/wailsapp/wails/issues/1733)で言及されているように、独自で実装を行います。
|
||||
|
||||
## My Mac app gives me weird compilation errors
|
||||
## Macアプリで不可解なコンパイルエラーが発生します
|
||||
|
||||
A few users have reported seeing compilation errors such as the following:
|
||||
一部のユーザより、次のようなコンパイルエラーが発生することがあるという報告を受けています:
|
||||
|
||||
```shell
|
||||
# github.com/wailsapp/wails/v2/internal/frontend/desktop/darwin
|
||||
|
|
@ -143,20 +143,24 @@ In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/Sy
|
|||
#define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
|
||||
```
|
||||
|
||||
This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version.
|
||||
これは_一般的に_、実行されているOSのバージョンと、インストールされているXCodeコマンドラインツールのバージョンが不一致であることが原因です。 このようなエラーが発生した場合は、XCodeコマンドラインツールを最新バージョンに更新してみてください。
|
||||
|
||||
If reinstalling Xcode Command Tools still fails, you can check the path where the toolkit is located using:
|
||||
XCodeコマンドラインツールの再インストールが引き続き失敗する場合は、次のコマンドを使用して、ツールキットがどこに配置されているかを確認できます:
|
||||
|
||||
`xcode-select -p`
|
||||
|
||||
If `/Applications/Xcode.app/Contents/Developer` is displayed, run `sudo xcode-select --switch /Library/Developer/CommandLineTools`
|
||||
`/Applications/Xcode.app/Contents/Developer`と表示された場合、`sudo xcode-select --switch /Library/Developer/CommandLineTools`というコマンドを実行してください。
|
||||
|
||||
Sources: https://github.com/wailsapp/wails/issues/1806 and https://github.com/wailsapp/wails/issues/1140#issuecomment-1290446496
|
||||
出典: https://github.com/wailsapp/wails/issues/1806 および https://github.com/wailsapp/wails/issues/1140#issuecomment-1290446496
|
||||
|
||||
--
|
||||
|
||||
## Cannot start service: Host version "x.x.x does not match binary version "x.x.x"
|
||||
|
||||
It's preferable to add `frontend/node_modules` and `frontend/package-lock.json` to your `.gitignore`. Otherwise when opening your repository on another machine that may have different versions of Node installed, you may not be able to run your application.
|
||||
`frontend/node_modules`と`frontend/package-lock.json`を`.gitignore`に追加することをお勧めします。 そうしないと、異なるバージョンのNodeがインストールされている別のマシンでリポジトリを開いた際に、アプリケーションが実行できなくなる場合があります。
|
||||
|
||||
If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
|
||||
この事象が発生した場合は、単純に`frontend/node_modules`と`frontend/package-lock.json`を削除し、`wails build`コマンドおよび`wails dev`コマンドを再実行してください。
|
||||
|
||||
## ビルドプロセスが"Generating bindings"で停止します
|
||||
|
||||
バインディングの生成プロセスは、アプリケーションを特別なモードで実行します。 アプリケーションに、意図に有無にかかわらず無限ループ(`wails.Run()`のあとに終了されないコード)が含まれている場合、バインディングの生成の段階でビルドプロセスが停止する可能性があります。 コードが正しく終了していることを確認してください。
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
|
||||
# Visual Studio Code
|
||||
|
||||
This page is for miscellaneous tips and tricks when using Visual Studio Code with Wails.
|
||||
このページでは、Wailsでの開発でVisual Studio Codeを使用する際のさまざまなヒントやコツをご紹介します。
|
||||
|
||||
## Vetur Configuration
|
||||
## Veturの構成設定
|
||||
|
||||
Many thanks to [@Lyimmi](https://github.com/Lyimmi) for this tip. Originally posted [here](https://github.com/wailsapp/wails/issues/1791#issuecomment-1228158349).
|
||||
このヒントを提供してくれた[@Lyimmi](https://github.com/Lyimmi)に感謝します。 このヒントは[こちら](https://github.com/wailsapp/wails/issues/1791#issuecomment-1228158349)に投稿されたものです。
|
||||
|
||||
Vetur is a popular plugin for Visual Studio Code that provides syntax highlighting and code completion for Vue projects. When loading a Wails project in VSCode, Vetur will throw an error as it is expecting to find the frontend project in the root directory. To fix this, you can do the following:
|
||||
Veturは、Vueプロジェクトのシンタックスハイライトおよびコード補完を提供してくれる、Visual Studio Codeでのポピュラーな拡張機能です。 VSCodeでWailsのプロジェクトを読み込むと、Veturはルートディレクトリでフロントエンドのプロジェクトを見つけようとするため、エラーが発生します。 これを解消するためには、次の手順を実施します:
|
||||
|
||||
Create a file named `vetur.config.js` in the project's root.
|
||||
プロジェクトのルートディレクトリに、`vetur.config.js`という名前のファイルを作成します。
|
||||
|
||||
```javascript
|
||||
// vetur.config.js
|
||||
|
|
@ -56,7 +56,7 @@ module.exports = {
|
|||
}
|
||||
```
|
||||
|
||||
Next, configure `frontend/tsconfig.json`:
|
||||
次に、`frontend/tsconfig.json`の構成を修正します:
|
||||
|
||||
```javascript
|
||||
{
|
||||
|
|
@ -79,4 +79,4 @@ Next, configure `frontend/tsconfig.json`:
|
|||
]
|
||||
}
|
||||
```
|
||||
This should enable you to now use Vetur as expected.
|
||||
以上により、Veturを期待どおりに使用できるようになります。
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# NSIS installer
|
||||
# NSISインストーラ
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
|
|
@ -10,33 +10,33 @@
|
|||
</p>
|
||||
```
|
||||
|
||||
Wails supports generating Windows installers using the [NSIS installer](https://nsis.sourceforge.io/).
|
||||
Wailsでは、[NSISインストーラ](https://nsis.sourceforge.io/)を使用したWindowsインストーラの生成をサポートしています。
|
||||
|
||||
## Installing NSIS
|
||||
## NSISのインストール
|
||||
|
||||
### Windows
|
||||
|
||||
The installer is available on the [NSIS Download](https://nsis.sourceforge.io/Download) page.
|
||||
インストーラは、[NSISダウンロード](https://nsis.sourceforge.io/Download)ページから入手できます。
|
||||
|
||||
If you use the chocolatey package manager, run the following script:
|
||||
Chocolateyパッケージマネージャを使用している場合は、次のスクリプトを実行することでインストールできます:
|
||||
|
||||
```
|
||||
choco install nsis
|
||||
```
|
||||
|
||||
If you install NSIS manually, you need to add the _Bin_ folder, which contains `makensis.exe`, in your NSIS installation to your path. [Here](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) is a good tutorial on how to add to path on Windows.
|
||||
NSISを手動でインストールする場合、NSISインストール時に作成される`makensis.exe`ファイルが含まれた_Bin_フォルダを、パスに追加する必要があります。 Windows上でパスを追加する方法については、[こちら](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/)の優れたチュートリアルをご覧ください。
|
||||
|
||||
### Linux
|
||||
|
||||
The `nsis` package should be available through your distribution's package manager.
|
||||
`nsis`パッケージは、ディストリビューションのパッケージマネージャから入手できます。
|
||||
|
||||
### MacOS
|
||||
|
||||
NSIS is available to install through homebrew: `brew install nsis`.
|
||||
NSISは、homebrew経由でインストールできます: `brew install nsis`。
|
||||
|
||||
## Generating the installer
|
||||
## インストーラの生成
|
||||
|
||||
When a new project is created, Wails generates the NSIS configuration files in `build/windows/installer`. The config data is read from `installer/info.json` and that is configured to use the project's `wails.json` Info section:
|
||||
新しくプロジェクトが作成されると、Wailsは、`build/windows/installer`内に、NSIS構成ファイルを生成します。 構成データは`installer/info.json`から読み込まれますが、当該データはプロジェクトの`wails.json`のInfo§の情報を使用するように設定されています:
|
||||
|
||||
```json
|
||||
// ...
|
||||
|
|
@ -49,10 +49,10 @@ When a new project is created, Wails generates the NSIS configuration files in `
|
|||
},
|
||||
```
|
||||
|
||||
To generate an installer for your application, use the `-nsis` flag with `wails build`:
|
||||
アプリケーションのインストーラを生成するには、`wails build`コマンド実行時に、`-nsis`フラグを使用します:
|
||||
|
||||
```
|
||||
wails build -nsis
|
||||
```
|
||||
|
||||
The installer will now be available in the `build/bin` directory.
|
||||
これにより、`build/bin`ディレクトリにインストーラが生成されます。
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
# Windows
|
||||
|
||||
This page has miscellaneous guides related to developing Wails applications for Windows.
|
||||
このページでは、Windows向けのWailsアプリケーション開発に関する、様々なガイドを掲載しています。
|
||||
|
||||
## Handling the WebView2 Runtime Dependency
|
||||
## WebView2ランタイム依存関係のハンドリング
|
||||
|
||||
Wails applications built for Windows have a runtime requirement on the Microsoft [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/). Windows 11 will have this installed by default, but some machines won't. Wails offers an easy approach to dealing with this dependency.
|
||||
Windows用にビルドされたWailsアプリケーションは、Microsoft [WebView2ランタイム](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)がランタイム要件となっています。 Windows 11ではデフォルトでこのランタイムがインストールされていますが、一部のマシンではインストールされていません。 Wailsでは、この依存関係に対処するための簡単なアプローチを提供しています。
|
||||
|
||||
By using the `-webview2` flag when building, you can decide what your application will do when a suitable runtime is not detected (including if the installed runtime is too old). The four options are:
|
||||
ビルド時に`-webview2`フラグを使用することで、アプリ起動時に適切なランタイムが検出されない場合(インストールされているランタイムが古すぎる場合を含む) に、アプリケーションがどのように動作するかを指定できます。 次の4つのオプションがあります:
|
||||
|
||||
1. Download
|
||||
2. Embed
|
||||
|
|
@ -15,25 +15,25 @@ By using the `-webview2` flag when building, you can decide what your applicatio
|
|||
|
||||
### Download
|
||||
|
||||
This option will prompt the user that no suitable runtime has been found and then offer to download and run the official bootstrapper from Microsoft's WebView2 site. If the user proceeds, the official bootstrapper will be downloaded and run.
|
||||
このオプションでは、適切なランタイムが見つからない旨をユーザに知らせ、MicrosoftのWebView2のサイトからダウンロードされる公式のブートストラッパを実行する提案をします。 ユーザが続行を選択した場合、公式のブートストラッパがダウンロードおよび実行されます。
|
||||
|
||||
### Embed
|
||||
|
||||
This option embeds the official bootstrapper within the application. If no suitable runtime has been found, the application will offer to run the bootstrapper. This adds ~150k to the binary size.
|
||||
このオプションでは、アプリケーション内に公式のブートストラッパの埋め込みます。 適切なランタイムが見つからない場合、アプリケーションはブートストラッパの実行を提案します。 これにより、バイナリサイズが150k程度増えます。
|
||||
|
||||
### Browser
|
||||
|
||||
This option will prompt the user that no suitable runtime has been found and then offer to open a browser to the official WebView2 page where the bootstrapper can be downloaded and installed. The application will then exit, leaving the installation up to the user.
|
||||
このオプションでは、適切なランタイムが見つからない旨をユーザに知らせ、ブートストラッパをダウンロードしてインストールすることのできるWebView2の公式ページをブラウザで開く提案をします。 続行した場合、アプリケーションは終了し、インストールをユーザに委ねます。
|
||||
|
||||
### Error
|
||||
|
||||
If no suitable runtime is found, an error is given to the user and no further action taken.
|
||||
このオプションでは、適切なランタイムが見つからない場合、ユーザにエラーが表示され、それ以上何の処理も実行しません。
|
||||
|
||||
## Fixed version runtime
|
||||
## フィックスドバージョンランタイム
|
||||
|
||||
Another way of dealing with webview2 dependency is shipping it yourself. You can download [fixed version runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section) and bundle or download it with your application.
|
||||
WebView2の依存関係に対処するための別手段として、自身でランタイムを運ぶという方法が挙げられます。 [フィックスドバージョンランタイム](https://developer.microsoft.com/microsoft-edge/webview2/#download-section)をダウンロードしてバンドルするか、アプリケーション内でランタイムをダウンロードするようにします。
|
||||
|
||||
Also, you should specify path to fixed version of webview2 runtime in the `windows.Options` structure when launching wails.
|
||||
また、Wailsの起動時に`windows.Options`において、フィックスドバージョンWebView2ランタイムのパスを指定する必要があります。
|
||||
|
||||
```go
|
||||
wails.Run(&options.App{
|
||||
|
|
@ -43,11 +43,11 @@ Also, you should specify path to fixed version of webview2 runtime in the `windo
|
|||
})
|
||||
```
|
||||
|
||||
Note: When `WebviewBrowserPath` is specified, `error` strategy will be forced in case of minimal required version mismatch or invalid path to a runtime.
|
||||
注意: `WebviewBrowserPath`が指定されている場合、必要な最低バージョンを満たしていなかったり、ランタイムへのパスが無効であったりすると、強制的に`error`オプションの挙動となります。
|
||||
|
||||
## Spawning other programs
|
||||
## 他のプログラムの起動
|
||||
|
||||
When spawning other programs, such as scripts, you will see the window appear on the screen. To hide the window, you can use the following code:
|
||||
スクリプトなどの他のプログラムを起動すると、当該プログラムのウィンドウが画面に表示されます。 このウィンドウを表示させたくない場合は、次のコードを使用してください:
|
||||
|
||||
```go
|
||||
cmd := exec.Command("your_script.exe")
|
||||
|
|
@ -58,4 +58,4 @@ cmd.SysProcAttr = &syscall.SysProcAttr{
|
|||
cmd.Start()
|
||||
```
|
||||
|
||||
Solution provided by [sithembiso](https://github.com/sithembiso) on the [discussions board](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172).
|
||||
この解決策は、[ディスカッションボード](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172)内で[sithembiso](https://github.com/sithembiso)により示されました。
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ Wailsで構造体を正しくバインドするためには、構造体の*イ
|
|||
|
||||
下記のコードでは、新しく`App`インスタンスを作成し、`wails.Run`関数の`Bind`オプションの中で、そのインスタンスを追加しています:
|
||||
|
||||
```go {16,24} title="main.go"
|
||||
```go {17,27} title="main.go"
|
||||
package main
|
||||
|
||||
import (
|
||||
|
|
@ -164,7 +164,7 @@ func (a *App) Greet(name string) string {
|
|||
|
||||
構造体は、好きな数だけバインドできます。 `Bind`には、構造体のインスタンスを渡すようにしてください:
|
||||
|
||||
```go {8-10}
|
||||
```go {10-12}
|
||||
//...
|
||||
err := wails.Run(&options.App{
|
||||
Title: "Basic Demo",
|
||||
|
|
@ -236,7 +236,7 @@ export function Greet(arg1: string): Promise<string>;
|
|||
|
||||
:::info 備考
|
||||
|
||||
TypeScript型定義を正しく自動生成するために、構造体のフィールドには、有効な`json`タグを*必ず*付与するようにしてください。
|
||||
TypeScript型定義を正しく自動生成するために、構造体のフィールドには、有効な`json`タグを_必ず_付与するようにしてください。
|
||||
|
||||
ネストされた匿名構造体(無名構造体) は、現時点ではサポートされていません。
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ WailsではGitHubでホストされているリモートテンプレートをサ
|
|||
| -windowsconsole | Windiws向けビルドでコンソールウィンドウを維持する | |
|
||||
| -obfuscate | [garble](https://github.com/burrowers/garble)を使用してアプリケーションを難読化する | false |
|
||||
| -garbleargs | garbleへ渡す引数 | `-literals -tiny -seed=random` |
|
||||
| -nosyncgomod | go.modとWailsのバージョンを同期させない | false |
|
||||
|
||||
`webview2`フラグの詳細については、[Windows](../guides/windows.mdx)ガイドをご覧ください。
|
||||
|
||||
|
|
@ -80,8 +81,10 @@ WailsではGitHubでホストされているリモートテンプレートをサ
|
|||
|
||||
`wails build -clean -o myproject.exe`
|
||||
|
||||
:::Info
|
||||
Macでは、アプリケーションは`Info.dev.plist`ではなく`Info.plist`でバンドルされます。
|
||||
:::info
|
||||
|
||||
Macの場合、`Info.dev.plist`ではなく`Info.plist`がアプリケーションにバンドルされます。
|
||||
|
||||
:::
|
||||
|
||||
:::info AppleシリコンでのUPX
|
||||
|
|
@ -184,6 +187,9 @@ Your system is ready for Wails development!
|
|||
| -save | 指定された`assetdir`、`reloaddirs`、`wailsjsdir`、`debounce`、`devserver`、`frontenddevserverurl`フラグの値を、`wails.json`へ保存し、次回以降のデフォルト値にする | |
|
||||
| -race | Goのrace detectorを使用してビルドする | false |
|
||||
| -s | フロントエンドのビルドをスキップ | false |
|
||||
| -nosyncgomod | go.modとWailsのバージョンを同期させない | false |
|
||||
|
||||
|
||||
|
||||
例:
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ func main() {
|
|||
OnBeforeClose: app.beforeClose,
|
||||
CSSDragProperty: "--wails-draggable",
|
||||
CSSDragValue: "drag",
|
||||
EnableFraudulentWebsiteDetection: false,
|
||||
ZoomFactor: 1.0,
|
||||
IsZoomControlEnabled: false,
|
||||
Bind: []interface{}{
|
||||
|
|
@ -77,7 +78,8 @@ func main() {
|
|||
// OnSuspendはWindowsが省電力モードに移行した場合に呼び出されます
|
||||
OnSuspend func()
|
||||
// OnResumeはWindowsが省電力モードから復帰した場合に呼び出されます
|
||||
OnResume func()
|
||||
OnResume func(),
|
||||
WebviewGpuDisabled: false,
|
||||
},
|
||||
Mac: &mac.Options{
|
||||
TitleBar: &mac.TitleBar{
|
||||
|
|
@ -100,6 +102,7 @@ func main() {
|
|||
Linux: &linux.Options{
|
||||
Icon: icon,
|
||||
WindowIsTranslucent: false,
|
||||
WebviewGpuPolicy: linux.WebviewGpuPolicyAlways,
|
||||
},
|
||||
Debug: options.Debug{
|
||||
OpenInspectorOnStartup: false,
|
||||
|
|
@ -232,11 +235,11 @@ AssetServerの固有オプションを定義します。 静的なアセット
|
|||
| DELETE | ✅ | ✅ | ✅ [^1] |
|
||||
| Request Headers | ✅ | ✅ | ✅ [^1] |
|
||||
| Request Body | ✅ | ✅ | ❌ |
|
||||
| Request Body Streaming | ❌ | ❌ | ❌ |
|
||||
| Request Body Streaming | ✅ | ✅ | ❌ |
|
||||
| Response StatusCodes | ✅ | ✅ | ✅ [^1] |
|
||||
| Response Headers | ✅ | ✅ | ✅ [^1] |
|
||||
| Response Body | ✅ | ✅ | ✅ |
|
||||
| Response Body Streaming | ❌ | ❌ | ✅ |
|
||||
| Response Body Streaming | ❌ | ✅ | ✅ |
|
||||
| WebSockets | ❌ | ❌ | ❌ |
|
||||
| HTTP Redirects 30x | ✅ | ❌ | ❌ |
|
||||
|
||||
|
|
@ -356,6 +359,12 @@ func (b *App) beforeClose(ctx context.Context) (prevent bool) {
|
|||
|
||||
名前: CSSDragValue<br/> データ型: `string`
|
||||
|
||||
### EnableFraudulentWebsiteDetection
|
||||
|
||||
EnableFraudulentWebsiteDetectionは、マルウェアやフィッシング詐欺などの不正コンテンツのスキャンサービスを有効にします。 これらのサービスは、ナビゲートされたURLやその他コンテンツ情報を、アプリからAppleおよびMicrosoftのクラウドサービスに送信する可能性があります。
|
||||
|
||||
名前: EnableFraudulentWebsiteDetection<br/> データ型: `bool`
|
||||
|
||||
### ZoomFactor
|
||||
|
||||
名前: ZoomFactor<br/> データ型: `float64`
|
||||
|
|
@ -542,6 +551,12 @@ Windowsがローパワーモード(サスペンド/休止状態) から復帰し
|
|||
|
||||
名前: OnResume<br/> データ型: `func()`
|
||||
|
||||
#### WebviewGpuIsDisabled
|
||||
|
||||
`true`に設定すると、webviewのGPUハードウェアアクセラレーションが無効化されます。
|
||||
|
||||
名前: WebviewGpuIsDisabled<br/> データ型: `bool`
|
||||
|
||||
### Mac
|
||||
|
||||
[Mac固有のオプション](#mac)を定義します。
|
||||
|
|
@ -722,6 +737,20 @@ func main() {
|
|||
|
||||
名前: WindowIsTranslucent<br/> データ型: `bool`
|
||||
|
||||
#### WebviewGpuPolicy
|
||||
|
||||
このオプションでは、webviewのハードウェアアクセラレーションポリシーを指定することができます。
|
||||
|
||||
名前: WebviewGpuPolicy<br/> データ型: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type)<br/> デフォルト値: `WebviewGpuPolicyAlways`
|
||||
|
||||
##### WebviewGpuPolicy型
|
||||
|
||||
| 値 | 説明 |
|
||||
| ------------------------ | --------------------------------------------- |
|
||||
| WebviewGpuPolicyAlways | ハードウェアアクセラレーションを常に有効にする |
|
||||
| WebviewGpuPolicyOnDemand | Webコンテンツからの要求に応じて、ハードウェアアクセラレーションの有効/無効を切り替える |
|
||||
| WebviewGpuPolicyNever | ハードウェアアクセラレーションを常に無効にする |
|
||||
|
||||
### Debug
|
||||
|
||||
デバッグビルド時に適用される[デバッグ固有のオプション](#Debug)を定義します。
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
# クリップボード
|
||||
|
||||
ランタイム機能の一部として、オペレーティングシステムのクリップボードへのアクセスを提供します。<br/> 現在は、テキストの処理のみに対応しています。
|
||||
|
||||
### ClipboardGetText
|
||||
|
||||
このメソッドは、クリップボードに現在保存されているテキストを読み込みます。
|
||||
|
||||
Go: `ClipboardGetText(ctx context.Context) (string, error)`<br/> 返り値: 文字列(クリップボードが空の場合は、空文字)またはエラー。
|
||||
|
||||
JS: `ClipboardGetText(): Promise<string>`<br/> 返り値: 文字列を待機するPromise(クリップボードが空の場合は、空文字)。
|
||||
|
||||
### ClipboardSetText
|
||||
|
||||
このメソッドは、クリップボードにテキストを書き込みます。
|
||||
|
||||
Go: `ClipboardSetText(ctx context.Context, text string) error`<br/> 返り値: anyの場合はエラー。
|
||||
|
||||
JS: `ClipboardSetText(text: string): Promise<boolean>`<br/> 返り値: クリップボードにテキストが正常に書き込まれた場合はtrue、そうでない場合はfalseを返すようなPromise。
|
||||
|
|
@ -34,4 +34,4 @@ Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optio
|
|||
|
||||
このメソッドは、指定されたイベントを発行します。 必要に応じて、イベント発行時にデータを渡すこともできます。 このメソッドによって、任意のイベントリスナーをトリガーさせることができます。
|
||||
|
||||
Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})`<br/> JS: `EventsEmit(ctx context, optionalData function(optionalData?: any))`
|
||||
Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})`<br/> JS: `EventsEmit(eventName: string, ...optionalData: any)`
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ sidebar_position: 1
|
|||
- [イベント](events.mdx)
|
||||
- [ブラウザ](browser.mdx)
|
||||
- [ログ](log.mdx)
|
||||
- [クリップボード](clipboard.mdx)
|
||||
|
||||
Goのランタイムは、`github.com/wailsapp/wails/v2/pkg/runtime`をインポートすることで利用できます。 このパッケージのすべてのメソッドは、1番目の引数でContextを渡す必要があります。 このContextは、[OnStartup](../options.mdx#onstartup)フック、または[OnDomReady](../options.mdx#ondomready)フックからあらかじめ取得しておいてください。
|
||||
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ Windowsの場合、0または255のアルファ値(A) のみがサポートさ
|
|||
|
||||
Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)`<br/> JS: `WindowSetBackgroundColour(R, G, B, A)`
|
||||
|
||||
## TypeScript Object Definitions
|
||||
## TypeScript型定義
|
||||
|
||||
### Position
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
sidebar_position: 20
|
||||
---
|
||||
|
||||
# Dogs API
|
||||
# ドッグAPI
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -17,25 +17,25 @@ sidebar_position: 20
|
|||
|
||||
:::note
|
||||
|
||||
このチュートリアルは[@tatadan](https://twitter.com/tatadan)の好意により提供されたもので、[Wails Examples Repository](https://github.com/tataDan/wails-v2-examples)の一部を構成しています。
|
||||
このチュートリアルは[@tatadan](https://twitter.com/tatadan)より提供されたもので、[Wails Examples Repository](https://github.com/tataDan/wails-v2-examples)の一部になります。
|
||||
|
||||
:::
|
||||
|
||||
このチュートリアルでは、Web上から犬の写真を取得し、表示するアプリケーションを開発します。
|
||||
このチュートリアルでは、Webから犬の写真を取得して表示するためのアプリケーションを開発していきます。
|
||||
|
||||
### プロジェクトを作成する
|
||||
### プロジェクトの作成
|
||||
|
||||
では、アプリケーションを作成しましょう。ターミナルで次のコマンドを入力します: `wails init -n dogs-api -t svelte`
|
||||
アプリケーションを作成していきましょう。 ターミナルで次のように入力します: `wails init -n dogs-api -t svelte`
|
||||
|
||||
注: IDEサポートを追加したい場合は、オプションでこのコマンドの最後に`-ide vscode`または`ide goland`を追加することができます。
|
||||
注意: IDEサポートが欲しい場合は、コマンドの末尾に、`-ide vscode`オプションまたは`-ide goland`オプションを付与してください。
|
||||
|
||||
では、cd `dogs-api`をして、プロジェクトファイルの編集を始めましょう。
|
||||
では、`cd dogs-api`で移動し、プロジェクトファイルの編集を始めましょう。
|
||||
|
||||
### 未使用のコードを削除する
|
||||
### 未使用コードの削除
|
||||
|
||||
まず、使用しないことがわかっているいくつかの要素を削除することから始めます:
|
||||
まず、使用しないと分かっているいくつかの要素を削除していきます:
|
||||
|
||||
- `app.go`を開き、以下の行を削除してください:
|
||||
- `app.go`を開き、次の行を削除します:
|
||||
|
||||
```go
|
||||
// Greet returns a greeting for the given name
|
||||
|
|
@ -49,9 +49,9 @@ func (a *App) Greet(name string) string {
|
|||
|
||||
### アプリケーションの作成
|
||||
|
||||
では、新しいGoのコードを追加してみましょう。
|
||||
では、新しいGoコードを書いていきましょう。
|
||||
|
||||
`app.go`の関数定義の前に、次の構造体宣言を追加します:
|
||||
関数を定義する前に、`app.go`に下記の構造体の宣言を追加します:
|
||||
|
||||
```go
|
||||
type RandomImage struct {
|
||||
|
|
@ -70,7 +70,7 @@ type ImagesByBreed struct {
|
|||
}
|
||||
```
|
||||
|
||||
以下の関数を`app.go`に追加します(既存の関数定義の後ろに追加するかもしれません):
|
||||
下記の関数を`app.go`に追加します(おそらく既存の関数定義の後ろ側に追加することになります):
|
||||
|
||||
```go
|
||||
func (a *App) GetRandomImageUrl() string {
|
||||
|
|
@ -149,9 +149,7 @@ import (
|
|||
)
|
||||
```
|
||||
|
||||
以下の行を`frontend/src/App.svelte`に追加します:
|
||||
|
||||
```html
|
||||
`frontend/src/App.svelte`に次の行を追加します:
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
```html
|
||||
|
|
@ -240,8 +238,8 @@ import (
|
|||
|
||||
### アプリケーションのテスト
|
||||
|
||||
バインディングを生成し、アプリケーションをテストするには、`wails dev`を実行します。
|
||||
バインディングを生成してアプリケーションをテストするには、`wails dev`コマンドを実行してください。
|
||||
|
||||
### アプリケーションのコンパイル
|
||||
|
||||
アプリケーションを単一の、本番用のバイナリにコンパイルするには、`wails build`を実行します。
|
||||
アプリケーションを本番用の単一バイナリにコンパイルするには、`wails build`コマンドを実行してください。
|
||||
|
|
|
|||
|
|
@ -4,27 +4,27 @@ sidebar_position: 10
|
|||
|
||||
# Hello World
|
||||
|
||||
The aim of this tutorial is to get you up and running with the most basic application using Wails. You will be able to:
|
||||
このチュートリアルの目的は、Wailsを使用して、最も基礎的なアプリケーションを起動および実行することです。 あなたは、次のことができるようになります:
|
||||
|
||||
- Create a new Wails application
|
||||
- Build the application
|
||||
- Run the application
|
||||
- 新しいWailsアプリケーションを作成する
|
||||
- アプリケーションをビルドする
|
||||
- アプリケーションを実行する
|
||||
|
||||
:::note
|
||||
|
||||
This tutorial uses Windows as the target platform. Output will vary slightly depending on your operating system.
|
||||
このチュートリアルでは、Windowsをターゲットプラットフォームとして使用します。 出力される内容は、オペレーティングシステムによって多少異なります。
|
||||
|
||||
:::
|
||||
|
||||
## Create a new Wails application
|
||||
## 新しいWailsアプリケーションを作成する
|
||||
|
||||
To create a new Wails application using the default vanilla JS template, you need to run the following command:
|
||||
デフォルトのバニラJSテンプレートを使用して、新しいWailsアプリケーションを作成するには、次のコマンドを実行します:
|
||||
|
||||
```bash
|
||||
wails init -n helloworld
|
||||
```
|
||||
|
||||
You should see something similar to the following:
|
||||
すると、次のように表示されます:
|
||||
|
||||
```
|
||||
Wails CLI v2.0.0
|
||||
|
|
@ -40,7 +40,7 @@ Template Support: https://wails.io
|
|||
Initialised project 'helloworld' in 232ms.
|
||||
```
|
||||
|
||||
This will create a new directory called `helloworld` in the current directory. In this directory, you will find a number of files:
|
||||
これにより、カレントディレクトリに`helloworld`という新しいディレクトリが作成されます。 このディレクトリには、いくつかのファイルがあります:
|
||||
|
||||
```
|
||||
build/ - Contains the build files + compiled application
|
||||
|
|
@ -52,15 +52,15 @@ go.mod - The go module file
|
|||
go.sum - The go module checksum file
|
||||
```
|
||||
|
||||
## Build the application
|
||||
## アプリケーションをビルドする
|
||||
|
||||
To build the application, change to the new `helloworld` project directory and run the following command:
|
||||
アプリケーションをビルドするには、新しくできた`helloworld`プロジェクトディレクトリに移動し、次のコマンドを実行します:
|
||||
|
||||
```bash
|
||||
wails build
|
||||
```
|
||||
|
||||
You should see something like the following:
|
||||
すると、次のように表示されます:
|
||||
|
||||
```
|
||||
Wails CLI v2.0.0
|
||||
|
|
@ -86,11 +86,11 @@ Building target: windows/amd64
|
|||
Built 'C:\Users\leaan\tutorial\helloworld\build\bin\helloworld.exe' in 10.616s.
|
||||
```
|
||||
|
||||
This has compiled the application and saved it in the `build/bin` directory.
|
||||
これにより、アプリケーションがコンパイルされ、`build/bin`ディレクトリに保存されます。
|
||||
|
||||
## Run the application
|
||||
## アプリケーションを実行する
|
||||
|
||||
If we view the `build/bin` directory in Windows Explorer, we should see our project binary:
|
||||
Windowsのエクスプローラで`build/bin`ディレクトリを閲覧すると、プロジェクトのバイナリファイルが存在するはずです:
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -102,13 +102,13 @@ If we view the `build/bin` directory in Windows Explorer, we should see our proj
|
|||
<br />
|
||||
```
|
||||
|
||||
We can run it by simply double-clicking the `helloworld.exe` file.
|
||||
`helloworld.exe`ファイルをダブルクリックするだけで起動できます。
|
||||
|
||||
On Mac, Wails generates a `helloworld.app` file which can be run by double-clicking it.
|
||||
Macの場合、Wailsは`helloworld.app`ファイルを生成します。このファイルをダブルクリックすることで起動できます。
|
||||
|
||||
On Linux, you can run the application using `./helloworld` from the `build/bin` directory.
|
||||
Linuxの場合、`build/bin`ディレクトリ内の`./helloworld`を呼び出すことでアプリケーションを起動できます。
|
||||
|
||||
You should see the application working as expected:
|
||||
アプリケーションが期待したとおりに動作することでしょう:
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
|
|
@ -119,4 +119,4 @@ You should see the application working as expected:
|
|||
/>
|
||||
</div>
|
||||
<br />
|
||||
```
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "v2.0.0-rc.1",
|
||||
"description": "The label for version v2.0.0-rc.1"
|
||||
},
|
||||
"sidebar.docs.category.Getting Started": {
|
||||
"message": "はじめよう",
|
||||
"description": "The label for category Getting Started in sidebar docs"
|
||||
},
|
||||
"sidebar.docs.category.Reference": {
|
||||
"message": "リファレンス",
|
||||
"description": "The label for category Reference in sidebar docs"
|
||||
},
|
||||
"sidebar.docs.category.Runtime": {
|
||||
"message": "ランタイム",
|
||||
"description": "The label for category Runtime in sidebar docs"
|
||||
},
|
||||
"sidebar.docs.category.Community": {
|
||||
"message": "コミュニティ",
|
||||
"description": "The label for category Community in sidebar docs"
|
||||
},
|
||||
"sidebar.docs.category.Showcase": {
|
||||
"message": "事例紹介",
|
||||
"description": "The label for category Showcase in sidebar docs"
|
||||
},
|
||||
"sidebar.docs.category.Guides": {
|
||||
"message": "ガイド",
|
||||
"description": "The label for category Guides in sidebar docs"
|
||||
},
|
||||
"sidebar.docs.category.Tutorials": {
|
||||
"message": "チュートリアル",
|
||||
"description": "The label for category Tutorials in sidebar docs"
|
||||
},
|
||||
"sidebar.docs.link.Contributing": {
|
||||
"message": "コントリビューション",
|
||||
"description": "The label for link Contributing in sidebar docs, linking to /community-guide#ways-of-contributing"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "v2.0.0",
|
||||
"description": "The label for version v2.0.0"
|
||||
"message": "v2.3.0",
|
||||
"description": "The label for version v2.3.0"
|
||||
},
|
||||
"sidebar.docs.category.Getting Started": {
|
||||
"message": "はじめよう",
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "v2.1.0",
|
||||
"description": "The label for version v2.1.0"
|
||||
"message": "v2.3.1",
|
||||
"description": "The label for version v2.3.1"
|
||||
},
|
||||
"sidebar.docs.category.Getting Started": {
|
||||
"message": "はじめよう",
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "v2.2.0",
|
||||
"description": "The label for version v2.2.0"
|
||||
"message": "v2.4.0",
|
||||
"description": "The label for version v2.4.0"
|
||||
},
|
||||
"sidebar.docs.category.Getting Started": {
|
||||
"message": "はじめよう",
|
||||
|
|
@ -13,6 +13,37 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
## v2.4.0 - 2022-03-08
|
||||
|
||||
### Added
|
||||
- Added Webview GPU acceleration options for [Windows](/docs/reference/options#webviewgpuisdisabled) and [Linux](/docs/reference/options#webviewgpupolicy). Added by @Lyimmi in [PR](https://github.com/wailsapp/wails/pull/2266)
|
||||
- Added `EnableFraudulentWebsiteDetection` option to opt-in to scan services for fraudulent content, such as malware or phishing attempts. Older releases had the scan services per default activated. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2269)
|
||||
- Allow an [AssetServer Middleware](/docs/reference/options#middleware) to specify the `Content-Type` of a file served by the [Assets](/docs/reference/options#assets-1) `fs.FS`. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2286)
|
||||
- The AssetServer now detects more mimetypes by extension, e.g. `.mjs`. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2391)
|
||||
|
||||
### Changed
|
||||
- Improved fullscreen mode for frameless window on Windows. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279), [PR](https://github.com/wailsapp/wails/pull/2288) and [PR](https://github.com/wailsapp/wails/pull/2299)
|
||||
- On Windows unmaximising a window has no effect anymore when the window is in fullscreen mode, this makes it consistent with e.g. macOS. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279)
|
||||
- Frameless resize now sets the cursor on documentElement, otherwise resizing cursor won't be shown outside of the body rectangle. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2289)
|
||||
- Improved the `--wails-draggable` experience to be more reactive. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2302)
|
||||
- NSIS template now installs the shortcuts for all users and not only for the current user. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2373)
|
||||
|
||||
### Fixed
|
||||
- Fixed failing build hooks when `build/bin` was missing. Fixed by @Lyimmi in [PR](https://github.com/wailsapp/wails/pull/2273)
|
||||
- Fixed fullscreen mode for frameless window on Windows to fully cover the taskbar when changing into fullscreen from maximised state. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279)
|
||||
- Fixed set window background colour on Windows when setting the colour via runtime. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2279)
|
||||
- Fixed the showing of a white border around a fullscreen window when `DisableWindowIcon` is active on Windows. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2299)
|
||||
- Fixed the sometimes lagging drag experience with `--wails-draggable` on Windows. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2302)
|
||||
- Fixed applying the default arch to platform flag in wails cli. If only a `GOOS` has been supplied as platform flag e.g. `wails build --platform windows` the current architecture wasn't applied and the build failed. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2309)
|
||||
- Fixed a segfault on opening the inspector on older macOS versions. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2397)
|
||||
- Fixed the macos single architecture builds not respecting an output file name specified with the '-o' flag. Fixed by @gwynforthewyn in [PR](https://github.com/wailsapp/wails/pull/2358)
|
||||
- Fixed `undo`/`redo` on macOS. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2430)
|
||||
- Fixed `Events*` runtime functions in JavaScript not returning the function to cancel the watcher. Fixed by @zllovesuki in [PR](https://github.com/wailsapp/wails/pull/2434)
|
||||
- Fixed AppOptions merging defaults when a custom logger is used. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2452)
|
||||
- Fixed race condition and missing unlock of mutex in events handling. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2453)
|
||||
|
||||
## v2.3.0 - 2022-12-29
|
||||
|
||||
### Added
|
||||
- Added `OpenInspectorOnStartup` to debug options to allow opening the WebInspector during startup of the application in debug mode. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2080)
|
||||
- On macOS `wails doctor` now also shows the version of Xcode installed. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2089)
|
||||
|
|
@ -21,15 +52,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
- The `WindowSetAlwaysOnTop` method is now exposed in the JS runtime. Fixed by @gotid in [PR](https://github.com/wailsapp/wails/pull/2128)
|
||||
- The [AssetServer](/docs/reference/options#assetserver) now supports serving the index.html file when requesting a directory. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2110)
|
||||
- Added support for WebKit2GTK 2.36+ on Linux. This brings additional features for the [AssetServer](/docs/reference/options#assetserver), like support for HTTP methods and Headers. The app must be compiled with the Go build tag `webkit2_36` to activate support for this features. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app. Fixed by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2151)
|
||||
- Added support for file input selection on macOS. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2209)
|
||||
- Added support Request/Response streaming of the AssetServer on macOS. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2219)
|
||||
- Added request path checks for the AssetServer. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2235)
|
||||
- Added new App Store guide. Added by @achhabra2 in [PR](https://github.com/wailsapp/wails/pull/2142)
|
||||
- Added extra libwebkit check for dnf package manager (required for latest Fedora). Fixed by @NullCode1337 in this [PR](https://github.com/wailsapp/wails/pull/2218)
|
||||
- Added new `-nomodsync` flag to disable the automatic syncing of the `go.mod` file. Added by @leaanthony in [PR](https://github.com/wailsapp/wails/pull/2215)
|
||||
- Added support for adding prefix and postfix text to generated Typescript classes. Added by @OlegGulevskyy in [PR](https://github.com/wailsapp/wails/pull/2101)
|
||||
- Added reference to NSIS as optional dependency. Added by @acheong08 in [PR](https://github.com/wailsapp/wails/pull/2070)
|
||||
- Added Korean translation for the website. Added by @cybertramp in [PR](https://github.com/wailsapp/wails/pull/2093)
|
||||
|
||||
### Fixed
|
||||
- The `noreload` flag in wails dev wasn't applied. Fixed by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2081)
|
||||
- `build/bin` folder was duplicating itself on each reload in `wails dev` mode. Fixed by @OlegGulevskyy in this [PR](https://github.com/wailsapp/wails/pull/2103)
|
||||
- Prevent a thin white line at the bottom of a frameless window on Windows. Fixed by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2111)
|
||||
- Better signal handling for Linux. Fixed by @leaanthony in this [PR](https://github.com/wailsapp/wails/pull/2152)
|
||||
- Running the docs locally was broken due to mandatory crowdin token requirement. Fixed by @OlegGulevskyy in this [PR](https://github.com/wailsapp/wails/pull/2231)
|
||||
- Generated typescript for Go functions that returned a single error was incorrect. Fixed by @ATenderholt in this [PR](https://github.com/wailsapp/wails/pull/2247)
|
||||
- The right mouse event was not being raised correctly for Linux. Fixed by @leaanthony in this [PR](https://github.com/wailsapp/wails/pull/2190)
|
||||
- Remove extra spaces in Wails version when querying `go.mod`. Fixed by @matholt in this [PR](https://github.com/wailsapp/wails/pull/2197)
|
||||
- Fix go tests failure on Mac. Fixed by @avengerweb in this [PR](https://github.com/wailsapp/wails/pull/2187)
|
||||
- Fix go test errors. Fixed by @misitebao & @avengerweb in [these](https://github.com/wailsapp/wails/pull/2169) [PRs](https://github.com/wailsapp/wails/pull/2187)
|
||||
- Added `WindowSetAlwaysOnTop` to the JS runtime. Fixed by @gotid in [PR](https://github.com/wailsapp/wails/pull/2128)
|
||||
- Fixed obfuscated flag typo in docs. Fixed by @ckilb in [PR](https://github.com/wailsapp/wails/pull/2102)
|
||||
- Fixed React Hash Router link in docs. Fixed by @marvinhosea in [PR](https://github.com/wailsapp/wails/pull/2050)
|
||||
|
||||
### Changed
|
||||
- Improve error message if no `index.html` could be found in the assets and validate assetserver options. Changed by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2110)
|
||||
- Promote the Go WebView2Loader from experimental to stable. This means now per default all Wails build use the new loader introduced with `v2.2.0`. The old loader remains usable with build tag `native_webview2loader` for the next few releases. Changed by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2199)
|
||||
- Refactored CLI. Changed by @leaanthony in this [PR](https://github.com/wailsapp/wails/pull/2123)
|
||||
- Remove unreachable code. Changed by @tmclane in this [PR](https://github.com/wailsapp/wails/pull/2182)
|
||||
|
||||
## v2.2.0 - 2022-11-09
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
|
||||
**帰結**: コミュニティリーダーからの非公開の書面による警告。 違反の理由を明確にし、行動が不適切だった理由を説明します。 公の謝罪が要求される場合があります。
|
||||
|
||||
### 2. Warning
|
||||
### 2. 警告
|
||||
|
||||
**コミュニティへの影響**: 単一の出来事または一連の動作による違反。
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ This [Code of Conduct](./coc) is an easy guide to develop the technical communit
|
|||
### Get Support
|
||||
|
||||
- [GitHub](https://github.com/wailsapp/wails) - If you have a bug to report or feature to request, that's what the GitHub issues are for. Please respect the rules specified in each repository's issue template.
|
||||
- [Discord](https://discord.com/invite/JDdSxwjhGf) - A place for Wails devs to meet and chat in real time.
|
||||
- [Discord](https://discord.gg/JDdSxwjhGf) - A place for Wails devs to meet and chat in real time.
|
||||
- [QQ Group(中文)](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - A Wails group for Chinese developers to communicate, where you can get help from other developers.
|
||||
|
||||
### Explore the Ecosystem
|
||||
|
|
@ -96,7 +96,7 @@ If you chose to test if someone's bug report is reproducible on your local syste
|
|||
|
||||
To test PRs, choose a PR to test and check if the PR description has the testing scenarios listed. If not, please ask the person who opened the PR to provide that list. Once you have determined a valid test scenario, please report your findings on the PR.
|
||||
|
||||
If you ever need more clarity or help on testing, please ask a question in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520) discussion or on discord.
|
||||
If you ever need more clarity or help on testing, please ask a question in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520) discussion or on slack.
|
||||
|
||||
### Documenting
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ If you want to add a new language to the documentation, please follow the prompt
|
|||
|
||||
A great way to contribute to the project is to help others who are experiencing difficulty. This is normally reported as a ticket or a message on the Wails discord server. Even just clarifying the issue can really help out. Sometimes, when an issue is discussed and gets resolved, we create a guide out of it to help others who face the same issues.
|
||||
|
||||
To join the Wails discord server, accept the invite [here](https://discord.com/invite/JDdSxwjhGf).
|
||||
To join the Wails discord server, click [here](https://discord.gg/JDdSxwjhGf).
|
||||
|
||||
:::note
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
- [Stffabi](https://github.com/stffabi) - テクニカルリーダー、開発担当、保守担当
|
||||
- [Misite Bao](https://github.com/misitebao) - ドキュメント専門担当、翻訳担当(中国語)、Windowsテスター、不具合収集担当
|
||||
- [Travis McLane](https://github.com/tmclane) - クロスコンパイル担当、MacOSテスター
|
||||
- [Byron Chris](https://github.com/bh90210) - Linuxディストリビューション専門担当、Linuxテスター
|
||||
- [Lyimmi](https://github.com/Lyimmi) - Linux関連全般
|
||||
|
||||
## スポンサー
|
||||
<img src="/img/sponsors.svg" style={{"width":"85%","max-width":"800px;"}} />
|
||||
<img src="/img/sponsor/jetbrains-grayscale.webp" style={{"width":"100px"}} />
|
||||
|
||||
## コントリビューター
|
||||
|
||||
|
|
@ -15,172 +16,244 @@
|
|||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/leaanthony"><img src="https://avatars.githubusercontent.com/u/1943904?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Lea Anthony</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Code">💻</a> <a href="#ideas-leaanthony" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-leaanthony" title="Design">🎨</a> <a href="#content-leaanthony" title="Content">🖋</a> <a href="#example-leaanthony" title="Examples">💡</a> <a href="#mentoring-leaanthony" title="Mentoring">🧑🏫</a> <a href="#projectManagement-leaanthony" title="Project Management">📆</a> <a href="#tool-leaanthony" title="Tools">🔧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aleaanthony" title="Bug reports">🐛</a> <a href="#blog-leaanthony" title="Blogposts">📝</a> <a href="#maintenance-leaanthony" title="Maintenance">🚧</a> <a href="#platform-leaanthony" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="#question-leaanthony" title="Answering Questions">💬</a> <a href="#research-leaanthony" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Tests">⚠️</a> <a href="#tutorial-leaanthony" title="Tutorials">✅</a> <a href="#talk-leaanthony" title="Talks">📢</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/stffabi"><img src="https://avatars.githubusercontent.com/u/9464631?v=4?s=75" width="75px;" alt=""/><br /><sub><b>stffabi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Code">💻</a> <a href="#ideas-stffabi" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-stffabi" title="Design">🎨</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astffabi" title="Bug reports">🐛</a> <a href="#maintenance-stffabi" title="Maintenance">🚧</a> <a href="#platform-stffabi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="#question-stffabi" title="Answering Questions">💬</a> <a href="#research-stffabi" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/tmclane"><img src="https://avatars.githubusercontent.com/u/511975?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Travis McLane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Code">💻</a> <a href="#research-tmclane" title="Research">🔬</a> <a href="#platform-tmclane" title="Packaging/porting to new platform">📦</a> <a href="#ideas-tmclane" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Atmclane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Atmclane" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Tests">⚠️</a> <a href="#question-tmclane" title="Answering Questions">💬</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://misitebao.com/"><img src="https://avatars.githubusercontent.com/u/28185258?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Misite Bao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=misitebao" title="Documentation">📖</a> <a href="#translation-misitebao" title="Translation">🌍</a> <a href="#research-misitebao" title="Research">🔬</a> <a href="#maintenance-misitebao" title="Maintenance">🚧</a></td>
|
||||
<td align="center"><a href="https://github.com/bh90210"><img src="https://avatars.githubusercontent.com/u/22690219?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Byron Chris</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Code">💻</a> <a href="#research-bh90210" title="Research">🔬</a> <a href="#maintenance-bh90210" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abh90210" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Abh90210" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Tests">⚠️</a> <a href="#question-bh90210" title="Answering Questions">💬</a> <a href="#ideas-bh90210" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-bh90210" title="Design">🎨</a> <a href="#platform-bh90210" title="Packaging/porting to new platform">📦</a> <a href="#infra-bh90210" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center"><a href="https://github.com/konez2k"><img src="https://avatars.githubusercontent.com/u/32417933?v=4?s=75" width="75px;" alt=""/><br /><sub><b>konez2k</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=konez2k" title="Code">💻</a> <a href="#platform-konez2k" title="Packaging/porting to new platform">📦</a> <a href="#ideas-konez2k" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/dedo1911"><img src="https://avatars.githubusercontent.com/u/1364496?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Dario Emerson</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adedo1911" title="Bug reports">🐛</a> <a href="#ideas-dedo1911" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://ianmjones.com/"><img src="https://avatars.githubusercontent.com/u/4710?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ian M. Jones</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aianmjones" title="Bug reports">🐛</a> <a href="#ideas-ianmjones" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aianmjones" title="Reviewed Pull Requests">👀</a> <a href="#platform-ianmjones" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/marktohark"><img src="https://avatars.githubusercontent.com/u/19359934?v=4?s=75" width="75px;" alt=""/><br /><sub><b>marktohark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marktohark" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/rh12503"><img src="https://avatars.githubusercontent.com/u/48951973?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ryan H</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rh12503" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://codybentley.dev/"><img src="https://avatars.githubusercontent.com/u/6968902?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Cody Bentley</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=codydbentley" title="Code">💻</a> <a href="#platform-codydbentley" title="Packaging/porting to new platform">📦</a> <a href="#ideas-codydbentley" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-codydbentley" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/napalu"><img src="https://avatars.githubusercontent.com/u/6690378?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Florent</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=napalu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Anapalu" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/akhudek"><img src="https://avatars.githubusercontent.com/u/147633?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Alexander Hudek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=akhudek" title="Code">💻</a> <a href="#financial-akhudek" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://twitter.com/timkippdev"><img src="https://avatars.githubusercontent.com/u/37030721?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tim Kipp</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=timkippdev" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/gelleson"><img src="https://avatars.githubusercontent.com/u/44272887?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Altynbek Kaliakbarov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gelleson" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Chronophylos"><img src="https://avatars.githubusercontent.com/u/14890588?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nikolai Zimmermann</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Chronophylos" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/k-muchmore"><img src="https://avatars.githubusercontent.com/u/16393095?v=4?s=75" width="75px;" alt=""/><br /><sub><b>k-muchmore</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=k-muchmore" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://peakd.com/@snider"><img src="https://avatars.githubusercontent.com/u/631881?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Snider</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Code">💻</a> <a href="#ideas-Snider" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Documentation">📖</a> <a href="#financial-Snider" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/albert-sun"><img src="https://avatars.githubusercontent.com/u/54585592?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Albert Sun</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/adalessa"><img src="https://avatars.githubusercontent.com/u/7914601?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ariel</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=adalessa" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aadalessa" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://triplebits.com/"><img src="https://avatars.githubusercontent.com/u/4365245?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ilgıt Yıldırım</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ilgityildirim" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ailgityildirim" title="Bug reports">🐛</a> <a href="#financial-ilgityildirim" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Vaelatern"><img src="https://avatars.githubusercontent.com/u/7906072?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Toyam Cox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Vaelatern" title="Code">💻</a> <a href="#platform-Vaelatern" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AVaelatern" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/hi019"><img src="https://avatars.githubusercontent.com/u/65871571?v=4?s=75" width="75px;" alt=""/><br /><sub><b>hi019</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=hi019" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ahi019" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://artooro.com/"><img src="https://avatars.githubusercontent.com/u/393395?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Arthur Wiebe</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=artooro" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aartooro" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://sectcs.com/"><img src="https://avatars.githubusercontent.com/u/16898783?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Balakrishna Prasad Ganne</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aayush420" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/BillBuilt"><img src="https://avatars.githubusercontent.com/u/28831382?v=4?s=75" width="75px;" alt=""/><br /><sub><b>BillBuilt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=BillBuilt" title="Code">💻</a> <a href="#platform-BillBuilt" title="Packaging/porting to new platform">📦</a> <a href="#ideas-BillBuilt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-BillBuilt" title="Answering Questions">💬</a> <a href="#financial-BillBuilt" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Juneezee"><img src="https://avatars.githubusercontent.com/u/20135478?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Eng Zer Jun</b></sub></a><br /><a href="#maintenance-Juneezee" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/commits?author=Juneezee" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://lgiki.net/"><img src="https://avatars.githubusercontent.com/u/20807713?v=4?s=75" width="75px;" alt=""/><br /><sub><b>LGiki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LGiki" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/lontten"><img src="https://avatars.githubusercontent.com/u/30745595?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Lontten</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=lontten" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/phoenix147"><img src="https://avatars.githubusercontent.com/u/809358?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Lukas Crepaz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=phoenix147" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aphoenix147" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://utf9k.net/"><img src="https://avatars.githubusercontent.com/u/14816406?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Marcus Crane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Amarcus-crane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=marcus-crane" title="Documentation">📖</a> <a href="#financial-marcus-crane" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://qaisjp.com/"><img src="https://avatars.githubusercontent.com/u/923242?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Qais Patankar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=qaisjp" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://wakefulcloud.dev/"><img src="https://avatars.githubusercontent.com/u/38930607?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Wakeful-Cloud</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Wakeful-Cloud" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AWakeful-Cloud" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Lyimmi"><img src="https://avatars.githubusercontent.com/u/8627125?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Zámbó, Levente</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Code">💻</a> <a href="#platform-Lyimmi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALyimmi" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/Ironpark"><img src="https://avatars.githubusercontent.com/u/4973597?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ironpark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Ironpark" title="Code">💻</a> <a href="#ideas-Ironpark" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/mondy"><img src="https://avatars.githubusercontent.com/u/3961824?v=4?s=75" width="75px;" alt=""/><br /><sub><b>mondy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://ryben.dev/"><img src="https://avatars.githubusercontent.com/u/6241454?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Benjamin Ryan</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Aredraskal" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/fallendusk"><img src="https://avatars.githubusercontent.com/u/565631?v=4?s=75" width="75px;" alt=""/><br /><sub><b>fallendusk</b></sub></a><br /><a href="#platform-fallendusk" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=fallendusk" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://twitter.com/matryer"><img src="https://avatars.githubusercontent.com/u/101659?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Mat Ryer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=matryer" title="Code">💻</a> <a href="#ideas-matryer" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amatryer" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/abtin"><img src="https://avatars.githubusercontent.com/u/441372?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Abtin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=abtin" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aabtin" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/lanzafame"><img src="https://avatars.githubusercontent.com/u/5924712?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Adrian Lanzafame</b></sub></a><br /><a href="#platform-lanzafame" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=lanzafame" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/polikow"><img src="https://avatars.githubusercontent.com/u/58259700?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Aleksey Polyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Apolikow" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=polikow" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/alexmat"><img src="https://avatars.githubusercontent.com/u/745421?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Alexander Matviychuk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=alexmat" title="Code">💻</a> <a href="#platform-alexmat" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/AlienRecall"><img src="https://avatars.githubusercontent.com/u/68950287?v=4?s=75" width="75px;" alt=""/><br /><sub><b>AlienRecall</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=AlienRecall" title="Code">💻</a> <a href="#platform-AlienRecall" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://blog.checkyo.tech/"><img src="https://avatars.githubusercontent.com/u/17457975?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Aman</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=achhabra2" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/amaury-tobias"><img src="https://avatars.githubusercontent.com/u/37311888?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Amaury Tobias Quiroz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=amaury-tobias" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aamaury-tobias" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="http://blog.nms.de/"><img src="https://avatars.githubusercontent.com/u/51517?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Andreas Wenk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=andywenk" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/stankovic98"><img src="https://avatars.githubusercontent.com/u/29852655?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Antonio Stanković</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stankovic98" title="Code">💻</a> <a href="#platform-stankovic98" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/antimatter96"><img src="https://avatars.githubusercontent.com/u/12068176?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Arpit Jain</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=antimatter96" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/aschey"><img src="https://avatars.githubusercontent.com/u/5882266?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Austin Schey</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aschey" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aaschey" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/benjamin-thomas"><img src="https://avatars.githubusercontent.com/u/1557738?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Benjamin Thomas</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=benjamin-thomas" title="Code">💻</a> <a href="#platform-benjamin-thomas" title="Packaging/porting to new platform">📦</a> <a href="#ideas-benjamin-thomas" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://www.bertramtruong.com/"><img src="https://avatars.githubusercontent.com/u/1100843?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Bertram Truong</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bt" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abt" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="http://techwizworld.net/"><img src="https://avatars.githubusercontent.com/u/175873?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Blake Bourque</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TechplexEngineer" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="http://vk.com/raitonoberu"><img src="https://avatars.githubusercontent.com/u/64320078?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Denis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=raitonoberu" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/diogox"><img src="https://avatars.githubusercontent.com/u/13244408?v=4?s=75" width="75px;" alt=""/><br /><sub><b>diogox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=diogox" title="Code">💻</a> <a href="#platform-diogox" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/kyoto44"><img src="https://avatars.githubusercontent.com/u/17720761?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Dmitry Gomzyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kyoto44" title="Code">💻</a> <a href="#platform-kyoto44" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/edwardbrowncross"><img src="https://avatars.githubusercontent.com/u/35063432?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Edward Browncross</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=edwardbrowncross" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://pr0gramming.ca/"><img src="https://avatars.githubusercontent.com/u/14944216?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Elie Grenon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=elie-g" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/fdidron"><img src="https://avatars.githubusercontent.com/u/1848786?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Florian Didron</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Afdidron" title="Bug reports">🐛</a> <a href="#ideas-fdidron" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Afdidron" title="Reviewed Pull Requests">👀</a> <a href="#platform-fdidron" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/GargantuaX"><img src="https://avatars.githubusercontent.com/u/14013111?v=4?s=75" width="75px;" alt=""/><br /><sub><b>GargantuaX</b></sub></a><br /><a href="#financial-GargantuaX" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://bednya.ga/"><img src="https://avatars.githubusercontent.com/u/12101721?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Igor Minin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Igogrek" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AIgogrek" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://www.jae-sung.com/"><img src="https://avatars.githubusercontent.com/u/39658806?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Jae-Sung Lee</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jaesung9507" title="Code">💻</a> <a href="#ideas-jaesung9507" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/Jarek-SRT"><img src="https://avatars.githubusercontent.com/u/3391365?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Jarek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Jarek-SRT" title="Code">💻</a> <a href="#platform-Jarek-SRT" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/Junkher"><img src="https://avatars.githubusercontent.com/u/85776620?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Junker</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Junkher" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/kraney"><img src="https://avatars.githubusercontent.com/u/5760081?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Kris Raney</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kraney" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Akraney" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/LukenSkyne"><img src="https://avatars.githubusercontent.com/u/29918069?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Luken</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LukenSkyne" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://markstenglein.com/"><img src="https://avatars.githubusercontent.com/u/9255772?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Mark Stenglein</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ocelotsloth" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aocelotsloth" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/buddyabaddon"><img src="https://avatars.githubusercontent.com/u/33861511?v=4?s=75" width="75px;" alt=""/><br /><sub><b>buddyabaddon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=buddyabaddon" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/MikeSchaap"><img src="https://avatars.githubusercontent.com/u/35368821?v=4?s=75" width="75px;" alt=""/><br /><sub><b>MikeSchaap</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MikeSchaap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AMikeSchaap" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Orijhins"><img src="https://avatars.githubusercontent.com/u/47521598?v=4?s=75" width="75px;" alt=""/><br /><sub><b>NYSSEN Michaël</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Orijhins" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AOrijhins" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/NanoNik"><img src="https://avatars.githubusercontent.com/u/11991329?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nan0</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Code">💻</a> <a href="#ideas-NanoNik" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3ANanoNik" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center"><a href="https://github.com/marcio199226"><img src="https://avatars.githubusercontent.com/u/10244404?v=4?s=75" width="75px;" alt=""/><br /><sub><b>oskar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marcio199226" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/pierrejoye"><img src="https://avatars.githubusercontent.com/u/282408?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Pierre Joye</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Apierrejoye" title="Bug reports">🐛</a> <a href="#ideas-pierrejoye" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/Rested"><img src="https://avatars.githubusercontent.com/u/2003608?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Reuben Thomas-Davis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Rested" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ARested" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/mewmew"><img src="https://avatars.githubusercontent.com/u/1414531?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Robin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mewmew" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amewmew" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://threema.id/YSB3TVF7"><img src="https://avatars.githubusercontent.com/u/70367451?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sebastian Bauer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Code">💻</a> <a href="#ideas-sebastian0x62" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Asebastian0x62" title="Reviewed Pull Requests">👀</a> <a href="#question-sebastian0x62" title="Answering Questions">💬</a></td>
|
||||
<td align="center"><a href="https://github.com/sidwebworks"><img src="https://avatars.githubusercontent.com/u/58144379?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sidharth Rathi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sidwebworks" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asidwebworks" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/sithembiso"><img src="https://avatars.githubusercontent.com/u/6559905?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sithembiso Khumalo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sithembiso" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asithembiso" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/LanguageAgnostic"><img src="https://avatars.githubusercontent.com/u/19310562?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Soheib El-Harrache</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LanguageAgnostic" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALanguageAgnostic" title="Bug reports">🐛</a> <a href="#financial-LanguageAgnostic" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://www.sophieau.com/"><img src="https://avatars.githubusercontent.com/u/11145039?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Sophie Au</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SophieAu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ASophieAu" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/stefpap"><img src="https://avatars.githubusercontent.com/u/22637722?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Stefanos Papadakis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stefpap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astefpap" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/s12chung"><img src="https://avatars.githubusercontent.com/u/263394?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Steve Chung</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=s12chung" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3As12chung" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://tortloff.de/"><img src="https://avatars.githubusercontent.com/u/41272726?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Timm Ortloff</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TAINCER" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/tomanagle"><img src="https://avatars.githubusercontent.com/u/8683577?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tom</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tomanagle" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.linkedin.com/in/valentintrinque"><img src="https://avatars.githubusercontent.com/u/4662842?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Valentin Trinqué</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ValentinTrinque" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AValentinTrinque" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://mattn.kaoriya.net/"><img src="https://avatars.githubusercontent.com/u/10111?v=4?s=75" width="75px;" alt=""/><br /><sub><b>mattn</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mattn" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amattn" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/bearsh"><img src="https://avatars.githubusercontent.com/u/1089356?v=4?s=75" width="75px;" alt=""/><br /><sub><b>bearsh</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Code">💻</a> <a href="#ideas-bearsh" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/chenxiao1990"><img src="https://avatars.githubusercontent.com/u/16933565?v=4?s=75" width="75px;" alt=""/><br /><sub><b>chenxiao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Code">💻</a> <a href="#ideas-chenxiao1990" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/fengweiqiang"><img src="https://avatars.githubusercontent.com/u/22905300?v=4?s=75" width="75px;" alt=""/><br /><sub><b>fengweiqiang</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fengweiqiang" title="Code">💻</a> <a href="#platform-fengweiqiang" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://github.com/flin7"><img src="https://avatars.githubusercontent.com/u/58138185?v=4?s=75" width="75px;" alt=""/><br /><sub><b>flin7</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=flin7" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/fred21O4"><img src="https://avatars.githubusercontent.com/u/67189813?v=4?s=75" width="75px;" alt=""/><br /><sub><b>fred21O4</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fred21O4" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/gardc"><img src="https://avatars.githubusercontent.com/u/41453409?v=4?s=75" width="75px;" alt=""/><br /><sub><b>gardc</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gardc" title="Documentation">📖</a> <a href="#tutorial-gardc" title="Tutorials">✅</a></td>
|
||||
<td align="center"><a href="https://github.com/rayshoo"><img src="https://avatars.githubusercontent.com/u/52561899?v=4?s=75" width="75px;" alt=""/><br /><sub><b>rayshoo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rayshoo" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/Yz4230"><img src="https://avatars.githubusercontent.com/u/38999742?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ishiyama Yuzuki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Yz4230" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AYz4230" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://baiyue.one/"><img src="https://avatars.githubusercontent.com/u/43716063?v=4?s=75" width="75px;" alt=""/><br /><sub><b>佰阅</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Baiyuetribe" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/daodao97"><img src="https://avatars.githubusercontent.com/u/15009280?v=4?s=75" width="75px;" alt=""/><br /><sub><b>刀刀</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=daodao97" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adaodao97" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/jicg"><img src="https://avatars.githubusercontent.com/u/6479672?v=4?s=75" width="75px;" alt=""/><br /><sub><b>归位</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jicg" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ajicg" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/skamensky"><img src="https://avatars.githubusercontent.com/u/19151369?v=4?s=75" width="75px;" alt=""/><br /><sub><b>skamensky</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Code">💻</a> <a href="#ideas-skamensky" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/apps/dependabot"><img src="https://avatars.githubusercontent.com/in/29110?v=4?s=75" width="75px;" alt=""/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dependabot[bot]" title="Code">💻</a> <a href="#maintenance-dependabot[bot]" title="Maintenance">🚧</a></td>
|
||||
<td align="center"><a href="https://www.linkedin.com/in/dsieradzki/"><img src="https://avatars.githubusercontent.com/u/10297559?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Damian Sieradzki</b></sub></a><br /><a href="#financial-dsieradzki" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/boostchicken"><img src="https://avatars.githubusercontent.com/u/427295?v=4?s=75" width="75px;" alt=""/><br /><sub><b>John Dorman</b></sub></a><br /><a href="#financial-boostchicken" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://blog.iansinnott.com/"><img src="https://avatars.githubusercontent.com/u/3154865?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Ian Sinnott</b></sub></a><br /><a href="#financial-iansinnott" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Shackelford-Arden"><img src="https://avatars.githubusercontent.com/u/7362263?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Arden Shackelford</b></sub></a><br /><a href="#financial-Shackelford-Arden" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Bironou"><img src="https://avatars.githubusercontent.com/u/107761511?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Bironou</b></sub></a><br /><a href="#financial-Bironou" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/CharlieGo19"><img src="https://avatars.githubusercontent.com/u/62405980?v=4?s=75" width="75px;" alt=""/><br /><sub><b>CharlieGo_</b></sub></a><br /><a href="#financial-CharlieGo19" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/overnet"><img src="https://avatars.githubusercontent.com/u/6376126?v=4?s=75" width="75px;" alt=""/><br /><sub><b>overnet</b></sub></a><br /><a href="#financial-overnet" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://jugglingjsons.dev/"><img src="https://avatars.githubusercontent.com/u/20739064?v=4?s=75" width="75px;" alt=""/><br /><sub><b>jugglingjsons</b></sub></a><br /><a href="#financial-jugglingjsons" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://selvin.dev/"><img src="https://avatars.githubusercontent.com/u/1922523?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Selvin Ortiz</b></sub></a><br /><a href="#financial-selvindev" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/zandercodes"><img src="https://avatars.githubusercontent.com/u/46308805?v=4?s=75" width="75px;" alt=""/><br /><sub><b>ZanderCodes</b></sub></a><br /><a href="#financial-zandercodes" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/DonTomato"><img src="https://avatars.githubusercontent.com/u/1098084?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Michael Voronov</b></sub></a><br /><a href="#financial-DonTomato" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://lt.hn/"><img src="https://avatars.githubusercontent.com/u/83868036?v=4?s=75" width="75px;" alt=""/><br /><sub><b>letheanVPN</b></sub></a><br /><a href="#financial-letheanVPN" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://taigrr.com/"><img src="https://avatars.githubusercontent.com/u/8261498?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tai Groot</b></sub></a><br /><a href="#financial-taigrr" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/easy-web-it"><img src="https://avatars.githubusercontent.com/u/95484991?v=4?s=75" width="75px;" alt=""/><br /><sub><b>easy-web-it</b></sub></a><br /><a href="#financial-easy-web-it" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://michaelolson1996.github.io/portfolio"><img src="https://avatars.githubusercontent.com/u/45323107?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Michael Olson</b></sub></a><br /><a href="#financial-michaelolson1996" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://eden.network/"><img src="https://avatars.githubusercontent.com/u/4912777?v=4?s=75" width="75px;" alt=""/><br /><sub><b>EdenNetwork Italia</b></sub></a><br /><a href="#financial-EdenNetworkItalia" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/ondoki"><img src="https://avatars.githubusercontent.com/u/88536792?v=4?s=75" width="75px;" alt=""/><br /><sub><b>ondoki</b></sub></a><br /><a href="#financial-ondoki" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/questrail"><img src="https://avatars.githubusercontent.com/u/3536569?v=4?s=75" width="75px;" alt=""/><br /><sub><b>QuEST Rail LLC</b></sub></a><br /><a href="#financial-questrail" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/Gilgames000"><img src="https://avatars.githubusercontent.com/u/22778436?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Gilgameš</b></sub></a><br /><a href="#financial-Gilgames000" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/bbergshaven"><img src="https://avatars.githubusercontent.com/u/4091634?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Bernt-Johan Bergshaven</b></sub></a><br /><a href="#financial-bbergshaven" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/bglw"><img src="https://avatars.githubusercontent.com/u/40188355?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Liam Bigelow</b></sub></a><br /><a href="#financial-bglw" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/nickarellano"><img src="https://avatars.githubusercontent.com/u/13930605?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nick Arellano</b></sub></a><br /><a href="#financial-nickarellano" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/fcjr"><img src="https://avatars.githubusercontent.com/u/2053002?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Frank Chiarulli Jr.</b></sub></a><br /><a href="#financial-fcjr" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/tylertravisty"><img src="https://avatars.githubusercontent.com/u/8620352?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Tyler</b></sub></a><br /><a href="#financial-tylertravisty" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/trea"><img src="https://avatars.githubusercontent.com/u/1181448?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Trea Hauet</b></sub></a><br /><a href="#financial-trea" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://picatz.github.io/"><img src="https://avatars.githubusercontent.com/u/14850816?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Kent 'picat' Gruber</b></sub></a><br /><a href="#financial-picatz" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/tc-hib"><img src="https://avatars.githubusercontent.com/u/55949036?v=4?s=75" width="75px;" alt=""/><br /><sub><b>tc-hib</b></sub></a><br /><a href="#financial-tc-hib" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/acheong08"><img src="https://avatars.githubusercontent.com/u/36258159?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Antonio</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=acheong08" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/MyNameIsAres"><img src="https://avatars.githubusercontent.com/u/32432637?v=4?s=75" width="75px;" alt=""/><br /><sub><b>MyNameIsAres</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MyNameIsAres" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://mai.car.ons"><img src="https://avatars.githubusercontent.com/u/101958587?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Maicarons J</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Maicarons2022" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/KiddoV"><img src="https://avatars.githubusercontent.com/u/28552977?v=4?s=75" width="75px;" alt=""/><br /><sub><b>kiddov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Documentation">📖</a> <a href="#financial-KiddoV" title="Financial">💵</a> <a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Tests">⚠️</a> <a href="#ideas-KiddoV" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://nicolas-coutin.com/"><img src="https://avatars.githubusercontent.com/u/6564012?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Nicolas Coutin</b></sub></a><br /><a href="#financial-Ilshidur" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/ParvinEyvazov"><img src="https://avatars.githubusercontent.com/u/32189770?v=4?s=75" width="75px;" alt=""/><br /><sub><b>Parvin Eyvazov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ParvinEyvazov" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/leaanthony"><img src="https://avatars.githubusercontent.com/u/1943904?v=4?s=75" width="75px;" alt="Lea Anthony"/><br /><sub><b>Lea Anthony</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Code">💻</a> <a href="#ideas-leaanthony" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-leaanthony" title="Design">🎨</a> <a href="#content-leaanthony" title="Content">🖋</a> <a href="#example-leaanthony" title="Examples">💡</a> <a href="#mentoring-leaanthony" title="Mentoring">🧑🏫</a> <a href="#projectManagement-leaanthony" title="Project Management">📆</a> <a href="#tool-leaanthony" title="Tools">🔧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aleaanthony" title="Bug reports">🐛</a> <a href="#blog-leaanthony" title="Blogposts">📝</a> <a href="#maintenance-leaanthony" title="Maintenance">🚧</a> <a href="#platform-leaanthony" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="#question-leaanthony" title="Answering Questions">💬</a> <a href="#research-leaanthony" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Tests">⚠️</a> <a href="#tutorial-leaanthony" title="Tutorials">✅</a> <a href="#talk-leaanthony" title="Talks">📢</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aleaanthony" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=leaanthony" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/stffabi"><img src="https://avatars.githubusercontent.com/u/9464631?v=4?s=75" width="75px;" alt="stffabi"/><br /><sub><b>stffabi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Code">💻</a> <a href="#ideas-stffabi" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-stffabi" title="Design">🎨</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astffabi" title="Bug reports">🐛</a> <a href="#maintenance-stffabi" title="Maintenance">🚧</a> <a href="#platform-stffabi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="#question-stffabi" title="Answering Questions">💬</a> <a href="#research-stffabi" title="Research">🔬</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Astffabi" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/commits?author=stffabi" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tmclane"><img src="https://avatars.githubusercontent.com/u/511975?v=4?s=75" width="75px;" alt="Travis McLane"/><br /><sub><b>Travis McLane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Code">💻</a> <a href="#research-tmclane" title="Research">🔬</a> <a href="#platform-tmclane" title="Packaging/porting to new platform">📦</a> <a href="#ideas-tmclane" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Atmclane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Atmclane" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Tests">⚠️</a> <a href="#question-tmclane" title="Answering Questions">💬</a> <a href="https://github.com/wailsapp/wails/commits?author=tmclane" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://misitebao.com/"><img src="https://avatars.githubusercontent.com/u/28185258?v=4?s=75" width="75px;" alt="Misite Bao"/><br /><sub><b>Misite Bao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=misitebao" title="Documentation">📖</a> <a href="#translation-misitebao" title="Translation">🌍</a> <a href="#research-misitebao" title="Research">🔬</a> <a href="#maintenance-misitebao" title="Maintenance">🚧</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bh90210"><img src="https://avatars.githubusercontent.com/u/22690219?v=4?s=75" width="75px;" alt="Byron Chris"/><br /><sub><b>Byron Chris</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Code">💻</a> <a href="#research-bh90210" title="Research">🔬</a> <a href="#maintenance-bh90210" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abh90210" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Abh90210" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/wailsapp/wails/commits?author=bh90210" title="Tests">⚠️</a> <a href="#question-bh90210" title="Answering Questions">💬</a> <a href="#ideas-bh90210" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-bh90210" title="Design">🎨</a> <a href="#platform-bh90210" title="Packaging/porting to new platform">📦</a> <a href="#infra-bh90210" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/konez2k"><img src="https://avatars.githubusercontent.com/u/32417933?v=4?s=75" width="75px;" alt="konez2k"/><br /><sub><b>konez2k</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=konez2k" title="Code">💻</a> <a href="#platform-konez2k" title="Packaging/porting to new platform">📦</a> <a href="#ideas-konez2k" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/dedo1911"><img src="https://avatars.githubusercontent.com/u/1364496?v=4?s=75" width="75px;" alt="Dario Emerson"/><br /><sub><b>Dario Emerson</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adedo1911" title="Bug reports">🐛</a> <a href="#ideas-dedo1911" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=dedo1911" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://ianmjones.com/"><img src="https://avatars.githubusercontent.com/u/4710?v=4?s=75" width="75px;" alt="Ian M. Jones"/><br /><sub><b>Ian M. Jones</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aianmjones" title="Bug reports">🐛</a> <a href="#ideas-ianmjones" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=ianmjones" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Aianmjones" title="Reviewed Pull Requests">👀</a> <a href="#platform-ianmjones" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/marktohark"><img src="https://avatars.githubusercontent.com/u/19359934?v=4?s=75" width="75px;" alt="marktohark"/><br /><sub><b>marktohark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marktohark" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/rh12503"><img src="https://avatars.githubusercontent.com/u/48951973?v=4?s=75" width="75px;" alt="Ryan H"/><br /><sub><b>Ryan H</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rh12503" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://codybentley.dev/"><img src="https://avatars.githubusercontent.com/u/6968902?v=4?s=75" width="75px;" alt="Cody Bentley"/><br /><sub><b>Cody Bentley</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=codydbentley" title="Code">💻</a> <a href="#platform-codydbentley" title="Packaging/porting to new platform">📦</a> <a href="#ideas-codydbentley" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-codydbentley" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/napalu"><img src="https://avatars.githubusercontent.com/u/6690378?v=4?s=75" width="75px;" alt="Florent"/><br /><sub><b>Florent</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=napalu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Anapalu" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/akhudek"><img src="https://avatars.githubusercontent.com/u/147633?v=4?s=75" width="75px;" alt="Alexander Hudek"/><br /><sub><b>Alexander Hudek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=akhudek" title="Code">💻</a> <a href="#financial-akhudek" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://twitter.com/timkippdev"><img src="https://avatars.githubusercontent.com/u/37030721?v=4?s=75" width="75px;" alt="Tim Kipp"/><br /><sub><b>Tim Kipp</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=timkippdev" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gelleson"><img src="https://avatars.githubusercontent.com/u/44272887?v=4?s=75" width="75px;" alt="Altynbek Kaliakbarov"/><br /><sub><b>Altynbek Kaliakbarov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gelleson" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Chronophylos"><img src="https://avatars.githubusercontent.com/u/14890588?v=4?s=75" width="75px;" alt="Nikolai Zimmermann"/><br /><sub><b>Nikolai Zimmermann</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Chronophylos" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/k-muchmore"><img src="https://avatars.githubusercontent.com/u/16393095?v=4?s=75" width="75px;" alt="k-muchmore"/><br /><sub><b>k-muchmore</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=k-muchmore" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://peakd.com/@snider"><img src="https://avatars.githubusercontent.com/u/631881?v=4?s=75" width="75px;" alt="Snider"/><br /><sub><b>Snider</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Code">💻</a> <a href="#ideas-Snider" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=Snider" title="Documentation">📖</a> <a href="#financial-Snider" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/albert-sun"><img src="https://avatars.githubusercontent.com/u/54585592?v=4?s=75" width="75px;" alt="Albert Sun"/><br /><sub><b>Albert Sun</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=albert-sun" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/adalessa"><img src="https://avatars.githubusercontent.com/u/7914601?v=4?s=75" width="75px;" alt="Ariel"/><br /><sub><b>Ariel</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=adalessa" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aadalessa" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://triplebits.com/"><img src="https://avatars.githubusercontent.com/u/4365245?v=4?s=75" width="75px;" alt="Ilgıt Yıldırım"/><br /><sub><b>Ilgıt Yıldırım</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ilgityildirim" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ailgityildirim" title="Bug reports">🐛</a> <a href="#financial-ilgityildirim" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Vaelatern"><img src="https://avatars.githubusercontent.com/u/7906072?v=4?s=75" width="75px;" alt="Toyam Cox"/><br /><sub><b>Toyam Cox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Vaelatern" title="Code">💻</a> <a href="#platform-Vaelatern" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AVaelatern" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/hi019"><img src="https://avatars.githubusercontent.com/u/65871571?v=4?s=75" width="75px;" alt="hi019"/><br /><sub><b>hi019</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=hi019" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ahi019" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://artooro.com/"><img src="https://avatars.githubusercontent.com/u/393395?v=4?s=75" width="75px;" alt="Arthur Wiebe"/><br /><sub><b>Arthur Wiebe</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=artooro" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aartooro" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://sectcs.com/"><img src="https://avatars.githubusercontent.com/u/16898783?v=4?s=75" width="75px;" alt="Balakrishna Prasad Ganne"/><br /><sub><b>Balakrishna Prasad Ganne</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aayush420" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/BillBuilt"><img src="https://avatars.githubusercontent.com/u/28831382?v=4?s=75" width="75px;" alt="BillBuilt"/><br /><sub><b>BillBuilt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=BillBuilt" title="Code">💻</a> <a href="#platform-BillBuilt" title="Packaging/porting to new platform">📦</a> <a href="#ideas-BillBuilt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-BillBuilt" title="Answering Questions">💬</a> <a href="#financial-BillBuilt" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Juneezee"><img src="https://avatars.githubusercontent.com/u/20135478?v=4?s=75" width="75px;" alt="Eng Zer Jun"/><br /><sub><b>Eng Zer Jun</b></sub></a><br /><a href="#maintenance-Juneezee" title="Maintenance">🚧</a> <a href="https://github.com/wailsapp/wails/commits?author=Juneezee" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://lgiki.net/"><img src="https://avatars.githubusercontent.com/u/20807713?v=4?s=75" width="75px;" alt="LGiki"/><br /><sub><b>LGiki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LGiki" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/lontten"><img src="https://avatars.githubusercontent.com/u/30745595?v=4?s=75" width="75px;" alt="Lontten"/><br /><sub><b>Lontten</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=lontten" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/phoenix147"><img src="https://avatars.githubusercontent.com/u/809358?v=4?s=75" width="75px;" alt="Lukas Crepaz"/><br /><sub><b>Lukas Crepaz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=phoenix147" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aphoenix147" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://utf9k.net/"><img src="https://avatars.githubusercontent.com/u/14816406?v=4?s=75" width="75px;" alt="Marcus Crane"/><br /><sub><b>Marcus Crane</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Amarcus-crane" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=marcus-crane" title="Documentation">📖</a> <a href="#financial-marcus-crane" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://qaisjp.com/"><img src="https://avatars.githubusercontent.com/u/923242?v=4?s=75" width="75px;" alt="Qais Patankar"/><br /><sub><b>Qais Patankar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=qaisjp" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://wakefulcloud.dev/"><img src="https://avatars.githubusercontent.com/u/38930607?v=4?s=75" width="75px;" alt="Wakeful-Cloud"/><br /><sub><b>Wakeful-Cloud</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Wakeful-Cloud" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AWakeful-Cloud" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Lyimmi"><img src="https://avatars.githubusercontent.com/u/8627125?v=4?s=75" width="75px;" alt="Zámbó, Levente"/><br /><sub><b>Zámbó, Levente</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Code">💻</a> <a href="#platform-Lyimmi" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALyimmi" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=Lyimmi" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Ironpark"><img src="https://avatars.githubusercontent.com/u/4973597?v=4?s=75" width="75px;" alt="Ironpark"/><br /><sub><b>Ironpark</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Ironpark" title="Code">💻</a> <a href="#ideas-Ironpark" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/mondy"><img src="https://avatars.githubusercontent.com/u/3961824?v=4?s=75" width="75px;" alt="mondy"/><br /><sub><b>mondy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=mondy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://ryben.dev/"><img src="https://avatars.githubusercontent.com/u/6241454?v=4?s=75" width="75px;" alt="Benjamin Ryan"/><br /><sub><b>Benjamin Ryan</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Aredraskal" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fallendusk"><img src="https://avatars.githubusercontent.com/u/565631?v=4?s=75" width="75px;" alt="fallendusk"/><br /><sub><b>fallendusk</b></sub></a><br /><a href="#platform-fallendusk" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=fallendusk" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://twitter.com/matryer"><img src="https://avatars.githubusercontent.com/u/101659?v=4?s=75" width="75px;" alt="Mat Ryer"/><br /><sub><b>Mat Ryer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=matryer" title="Code">💻</a> <a href="#ideas-matryer" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amatryer" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/abtin"><img src="https://avatars.githubusercontent.com/u/441372?v=4?s=75" width="75px;" alt="Abtin"/><br /><sub><b>Abtin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=abtin" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aabtin" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/lanzafame"><img src="https://avatars.githubusercontent.com/u/5924712?v=4?s=75" width="75px;" alt="Adrian Lanzafame"/><br /><sub><b>Adrian Lanzafame</b></sub></a><br /><a href="#platform-lanzafame" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/wailsapp/wails/commits?author=lanzafame" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/polikow"><img src="https://avatars.githubusercontent.com/u/58259700?v=4?s=75" width="75px;" alt="Aleksey Polyakov"/><br /><sub><b>Aleksey Polyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/issues?q=author%3Apolikow" title="Bug reports">🐛</a> <a href="https://github.com/wailsapp/wails/commits?author=polikow" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/alexmat"><img src="https://avatars.githubusercontent.com/u/745421?v=4?s=75" width="75px;" alt="Alexander Matviychuk"/><br /><sub><b>Alexander Matviychuk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=alexmat" title="Code">💻</a> <a href="#platform-alexmat" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/AlienRecall"><img src="https://avatars.githubusercontent.com/u/68950287?v=4?s=75" width="75px;" alt="AlienRecall"/><br /><sub><b>AlienRecall</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=AlienRecall" title="Code">💻</a> <a href="#platform-AlienRecall" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://blog.checkyo.tech/"><img src="https://avatars.githubusercontent.com/u/17457975?v=4?s=75" width="75px;" alt="Aman"/><br /><sub><b>Aman</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=achhabra2" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/amaury-tobias"><img src="https://avatars.githubusercontent.com/u/37311888?v=4?s=75" width="75px;" alt="Amaury Tobias Quiroz"/><br /><sub><b>Amaury Tobias Quiroz</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=amaury-tobias" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aamaury-tobias" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://blog.nms.de/"><img src="https://avatars.githubusercontent.com/u/51517?v=4?s=75" width="75px;" alt="Andreas Wenk"/><br /><sub><b>Andreas Wenk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=andywenk" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/stankovic98"><img src="https://avatars.githubusercontent.com/u/29852655?v=4?s=75" width="75px;" alt="Antonio Stanković"/><br /><sub><b>Antonio Stanković</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stankovic98" title="Code">💻</a> <a href="#platform-stankovic98" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/antimatter96"><img src="https://avatars.githubusercontent.com/u/12068176?v=4?s=75" width="75px;" alt="Arpit Jain"/><br /><sub><b>Arpit Jain</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=antimatter96" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/aschey"><img src="https://avatars.githubusercontent.com/u/5882266?v=4?s=75" width="75px;" alt="Austin Schey"/><br /><sub><b>Austin Schey</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=aschey" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aaschey" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/benjamin-thomas"><img src="https://avatars.githubusercontent.com/u/1557738?v=4?s=75" width="75px;" alt="Benjamin Thomas"/><br /><sub><b>Benjamin Thomas</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=benjamin-thomas" title="Code">💻</a> <a href="#platform-benjamin-thomas" title="Packaging/porting to new platform">📦</a> <a href="#ideas-benjamin-thomas" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.bertramtruong.com/"><img src="https://avatars.githubusercontent.com/u/1100843?v=4?s=75" width="75px;" alt="Bertram Truong"/><br /><sub><b>Bertram Truong</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bt" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Abt" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://techwizworld.net/"><img src="https://avatars.githubusercontent.com/u/175873?v=4?s=75" width="75px;" alt="Blake Bourque"/><br /><sub><b>Blake Bourque</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TechplexEngineer" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://vk.com/raitonoberu"><img src="https://avatars.githubusercontent.com/u/64320078?v=4?s=75" width="75px;" alt="Denis"/><br /><sub><b>Denis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=raitonoberu" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/diogox"><img src="https://avatars.githubusercontent.com/u/13244408?v=4?s=75" width="75px;" alt="diogox"/><br /><sub><b>diogox</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=diogox" title="Code">💻</a> <a href="#platform-diogox" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/kyoto44"><img src="https://avatars.githubusercontent.com/u/17720761?v=4?s=75" width="75px;" alt="Dmitry Gomzyakov"/><br /><sub><b>Dmitry Gomzyakov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kyoto44" title="Code">💻</a> <a href="#platform-kyoto44" title="Packaging/porting to new platform">📦</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/edwardbrowncross"><img src="https://avatars.githubusercontent.com/u/35063432?v=4?s=75" width="75px;" alt="Edward Browncross"/><br /><sub><b>Edward Browncross</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=edwardbrowncross" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://pr0gramming.ca/"><img src="https://avatars.githubusercontent.com/u/14944216?v=4?s=75" width="75px;" alt="Elie Grenon"/><br /><sub><b>Elie Grenon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=elie-g" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fdidron"><img src="https://avatars.githubusercontent.com/u/1848786?v=4?s=75" width="75px;" alt="Florian Didron"/><br /><sub><b>Florian Didron</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Afdidron" title="Bug reports">🐛</a> <a href="#ideas-fdidron" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=fdidron" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Afdidron" title="Reviewed Pull Requests">👀</a> <a href="#platform-fdidron" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/GargantuaX"><img src="https://avatars.githubusercontent.com/u/14013111?v=4?s=75" width="75px;" alt="GargantuaX"/><br /><sub><b>GargantuaX</b></sub></a><br /><a href="#financial-GargantuaX" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://bednya.ga/"><img src="https://avatars.githubusercontent.com/u/12101721?v=4?s=75" width="75px;" alt="Igor Minin"/><br /><sub><b>Igor Minin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Igogrek" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AIgogrek" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.jae-sung.com/"><img src="https://avatars.githubusercontent.com/u/39658806?v=4?s=75" width="75px;" alt="Jae-Sung Lee"/><br /><sub><b>Jae-Sung Lee</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jaesung9507" title="Code">💻</a> <a href="#ideas-jaesung9507" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Jarek-SRT"><img src="https://avatars.githubusercontent.com/u/3391365?v=4?s=75" width="75px;" alt="Jarek"/><br /><sub><b>Jarek</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Jarek-SRT" title="Code">💻</a> <a href="#platform-Jarek-SRT" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Junkher"><img src="https://avatars.githubusercontent.com/u/85776620?v=4?s=75" width="75px;" alt="Junker"/><br /><sub><b>Junker</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Junkher" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/kraney"><img src="https://avatars.githubusercontent.com/u/5760081?v=4?s=75" width="75px;" alt="Kris Raney"/><br /><sub><b>Kris Raney</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=kraney" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Akraney" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/LukenSkyne"><img src="https://avatars.githubusercontent.com/u/29918069?v=4?s=75" width="75px;" alt="Luken"/><br /><sub><b>Luken</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LukenSkyne" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://markstenglein.com/"><img src="https://avatars.githubusercontent.com/u/9255772?v=4?s=75" width="75px;" alt="Mark Stenglein"/><br /><sub><b>Mark Stenglein</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ocelotsloth" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Aocelotsloth" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/buddyabaddon"><img src="https://avatars.githubusercontent.com/u/33861511?v=4?s=75" width="75px;" alt="buddyabaddon"/><br /><sub><b>buddyabaddon</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=buddyabaddon" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/MikeSchaap"><img src="https://avatars.githubusercontent.com/u/35368821?v=4?s=75" width="75px;" alt="MikeSchaap"/><br /><sub><b>MikeSchaap</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MikeSchaap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AMikeSchaap" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Orijhins"><img src="https://avatars.githubusercontent.com/u/47521598?v=4?s=75" width="75px;" alt="NYSSEN Michaël"/><br /><sub><b>NYSSEN Michaël</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Orijhins" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AOrijhins" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/NanoNik"><img src="https://avatars.githubusercontent.com/u/11991329?v=4?s=75" width="75px;" alt="Nan0"/><br /><sub><b>Nan0</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Code">💻</a> <a href="#ideas-NanoNik" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=NanoNik" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3ANanoNik" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/marcio199226"><img src="https://avatars.githubusercontent.com/u/10244404?v=4?s=75" width="75px;" alt="oskar"/><br /><sub><b>oskar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marcio199226" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/pierrejoye"><img src="https://avatars.githubusercontent.com/u/282408?v=4?s=75" width="75px;" alt="Pierre Joye"/><br /><sub><b>Pierre Joye</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Apierrejoye" title="Bug reports">🐛</a> <a href="#ideas-pierrejoye" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=pierrejoye" title="Tests">⚠️</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Rested"><img src="https://avatars.githubusercontent.com/u/2003608?v=4?s=75" width="75px;" alt="Reuben Thomas-Davis"/><br /><sub><b>Reuben Thomas-Davis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Rested" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ARested" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/mewmew"><img src="https://avatars.githubusercontent.com/u/1414531?v=4?s=75" width="75px;" alt="Robin"/><br /><sub><b>Robin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mewmew" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amewmew" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://threema.id/YSB3TVF7"><img src="https://avatars.githubusercontent.com/u/70367451?v=4?s=75" width="75px;" alt="Sebastian Bauer"/><br /><sub><b>Sebastian Bauer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Code">💻</a> <a href="#ideas-sebastian0x62" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=sebastian0x62" title="Tests">⚠️</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Asebastian0x62" title="Reviewed Pull Requests">👀</a> <a href="#question-sebastian0x62" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/sidwebworks"><img src="https://avatars.githubusercontent.com/u/58144379?v=4?s=75" width="75px;" alt="Sidharth Rathi"/><br /><sub><b>Sidharth Rathi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sidwebworks" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asidwebworks" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/sithembiso"><img src="https://avatars.githubusercontent.com/u/6559905?v=4?s=75" width="75px;" alt="Sithembiso Khumalo"/><br /><sub><b>Sithembiso Khumalo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sithembiso" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Asithembiso" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/LanguageAgnostic"><img src="https://avatars.githubusercontent.com/u/19310562?v=4?s=75" width="75px;" alt="Soheib El-Harrache"/><br /><sub><b>Soheib El-Harrache</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=LanguageAgnostic" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ALanguageAgnostic" title="Bug reports">🐛</a> <a href="#financial-LanguageAgnostic" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.sophieau.com/"><img src="https://avatars.githubusercontent.com/u/11145039?v=4?s=75" width="75px;" alt="Sophie Au"/><br /><sub><b>Sophie Au</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SophieAu" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3ASophieAu" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/stefpap"><img src="https://avatars.githubusercontent.com/u/22637722?v=4?s=75" width="75px;" alt="Stefanos Papadakis"/><br /><sub><b>Stefanos Papadakis</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=stefpap" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Astefpap" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/s12chung"><img src="https://avatars.githubusercontent.com/u/263394?v=4?s=75" width="75px;" alt="Steve Chung"/><br /><sub><b>Steve Chung</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=s12chung" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3As12chung" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://tortloff.de/"><img src="https://avatars.githubusercontent.com/u/41272726?v=4?s=75" width="75px;" alt="Timm Ortloff"/><br /><sub><b>Timm Ortloff</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=TAINCER" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tomanagle"><img src="https://avatars.githubusercontent.com/u/8683577?v=4?s=75" width="75px;" alt="Tom"/><br /><sub><b>Tom</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tomanagle" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/valentintrinque"><img src="https://avatars.githubusercontent.com/u/4662842?v=4?s=75" width="75px;" alt="Valentin Trinqué"/><br /><sub><b>Valentin Trinqué</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ValentinTrinque" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AValentinTrinque" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://mattn.kaoriya.net/"><img src="https://avatars.githubusercontent.com/u/10111?v=4?s=75" width="75px;" alt="mattn"/><br /><sub><b>mattn</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mattn" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Amattn" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bearsh"><img src="https://avatars.githubusercontent.com/u/1089356?v=4?s=75" width="75px;" alt="bearsh"/><br /><sub><b>bearsh</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Code">💻</a> <a href="#ideas-bearsh" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=bearsh" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/chenxiao1990"><img src="https://avatars.githubusercontent.com/u/16933565?v=4?s=75" width="75px;" alt="chenxiao"/><br /><sub><b>chenxiao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Code">💻</a> <a href="#ideas-chenxiao1990" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=chenxiao1990" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fengweiqiang"><img src="https://avatars.githubusercontent.com/u/22905300?v=4?s=75" width="75px;" alt="fengweiqiang"/><br /><sub><b>fengweiqiang</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fengweiqiang" title="Code">💻</a> <a href="#platform-fengweiqiang" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/flin7"><img src="https://avatars.githubusercontent.com/u/58138185?v=4?s=75" width="75px;" alt="flin7"/><br /><sub><b>flin7</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=flin7" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fred21O4"><img src="https://avatars.githubusercontent.com/u/67189813?v=4?s=75" width="75px;" alt="fred21O4"/><br /><sub><b>fred21O4</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=fred21O4" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gardc"><img src="https://avatars.githubusercontent.com/u/41453409?v=4?s=75" width="75px;" alt="gardc"/><br /><sub><b>gardc</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gardc" title="Documentation">📖</a> <a href="#tutorial-gardc" title="Tutorials">✅</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/rayshoo"><img src="https://avatars.githubusercontent.com/u/52561899?v=4?s=75" width="75px;" alt="rayshoo"/><br /><sub><b>rayshoo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rayshoo" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Yz4230"><img src="https://avatars.githubusercontent.com/u/38999742?v=4?s=75" width="75px;" alt="Ishiyama Yuzuki"/><br /><sub><b>Ishiyama Yuzuki</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Yz4230" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3AYz4230" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://baiyue.one/"><img src="https://avatars.githubusercontent.com/u/43716063?v=4?s=75" width="75px;" alt="佰阅"/><br /><sub><b>佰阅</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Baiyuetribe" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/daodao97"><img src="https://avatars.githubusercontent.com/u/15009280?v=4?s=75" width="75px;" alt="刀刀"/><br /><sub><b>刀刀</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=daodao97" title="Documentation">📖</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Adaodao97" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/jicg"><img src="https://avatars.githubusercontent.com/u/6479672?v=4?s=75" width="75px;" alt="归位"/><br /><sub><b>归位</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=jicg" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/issues?q=author%3Ajicg" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/skamensky"><img src="https://avatars.githubusercontent.com/u/19151369?v=4?s=75" width="75px;" alt="skamensky"/><br /><sub><b>skamensky</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Code">💻</a> <a href="#ideas-skamensky" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/wailsapp/wails/commits?author=skamensky" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/dependabot"><img src="https://avatars.githubusercontent.com/in/29110?v=4?s=75" width="75px;" alt="dependabot[bot]"/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=dependabot[bot]" title="Code">💻</a> <a href="#maintenance-dependabot[bot]" title="Maintenance">🚧</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/dsieradzki/"><img src="https://avatars.githubusercontent.com/u/10297559?v=4?s=75" width="75px;" alt="Damian Sieradzki"/><br /><sub><b>Damian Sieradzki</b></sub></a><br /><a href="#financial-dsieradzki" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/boostchicken"><img src="https://avatars.githubusercontent.com/u/427295?v=4?s=75" width="75px;" alt="John Dorman"/><br /><sub><b>John Dorman</b></sub></a><br /><a href="#financial-boostchicken" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://blog.iansinnott.com/"><img src="https://avatars.githubusercontent.com/u/3154865?v=4?s=75" width="75px;" alt="Ian Sinnott"/><br /><sub><b>Ian Sinnott</b></sub></a><br /><a href="#financial-iansinnott" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Shackelford-Arden"><img src="https://avatars.githubusercontent.com/u/7362263?v=4?s=75" width="75px;" alt="Arden Shackelford"/><br /><sub><b>Arden Shackelford</b></sub></a><br /><a href="#financial-Shackelford-Arden" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Bironou"><img src="https://avatars.githubusercontent.com/u/107761511?v=4?s=75" width="75px;" alt="Bironou"/><br /><sub><b>Bironou</b></sub></a><br /><a href="#financial-Bironou" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/CharlieGo19"><img src="https://avatars.githubusercontent.com/u/62405980?v=4?s=75" width="75px;" alt="CharlieGo_"/><br /><sub><b>CharlieGo_</b></sub></a><br /><a href="#financial-CharlieGo19" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/overnet"><img src="https://avatars.githubusercontent.com/u/6376126?v=4?s=75" width="75px;" alt="overnet"/><br /><sub><b>overnet</b></sub></a><br /><a href="#financial-overnet" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://jugglingjsons.dev/"><img src="https://avatars.githubusercontent.com/u/20739064?v=4?s=75" width="75px;" alt="jugglingjsons"/><br /><sub><b>jugglingjsons</b></sub></a><br /><a href="#financial-jugglingjsons" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://selvin.dev/"><img src="https://avatars.githubusercontent.com/u/1922523?v=4?s=75" width="75px;" alt="Selvin Ortiz"/><br /><sub><b>Selvin Ortiz</b></sub></a><br /><a href="#financial-selvindev" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/zandercodes"><img src="https://avatars.githubusercontent.com/u/46308805?v=4?s=75" width="75px;" alt="ZanderCodes"/><br /><sub><b>ZanderCodes</b></sub></a><br /><a href="#financial-zandercodes" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/DonTomato"><img src="https://avatars.githubusercontent.com/u/1098084?v=4?s=75" width="75px;" alt="Michael Voronov"/><br /><sub><b>Michael Voronov</b></sub></a><br /><a href="#financial-DonTomato" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://lt.hn/"><img src="https://avatars.githubusercontent.com/u/83868036?v=4?s=75" width="75px;" alt="letheanVPN"/><br /><sub><b>letheanVPN</b></sub></a><br /><a href="#financial-letheanVPN" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://taigrr.com/"><img src="https://avatars.githubusercontent.com/u/8261498?v=4?s=75" width="75px;" alt="Tai Groot"/><br /><sub><b>Tai Groot</b></sub></a><br /><a href="#financial-taigrr" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/easy-web-it"><img src="https://avatars.githubusercontent.com/u/95484991?v=4?s=75" width="75px;" alt="easy-web-it"/><br /><sub><b>easy-web-it</b></sub></a><br /><a href="#financial-easy-web-it" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://michaelolson1996.github.io/portfolio"><img src="https://avatars.githubusercontent.com/u/45323107?v=4?s=75" width="75px;" alt="Michael Olson"/><br /><sub><b>Michael Olson</b></sub></a><br /><a href="#financial-michaelolson1996" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://eden.network/"><img src="https://avatars.githubusercontent.com/u/4912777?v=4?s=75" width="75px;" alt="EdenNetwork Italia"/><br /><sub><b>EdenNetwork Italia</b></sub></a><br /><a href="#financial-EdenNetworkItalia" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ondoki"><img src="https://avatars.githubusercontent.com/u/88536792?v=4?s=75" width="75px;" alt="ondoki"/><br /><sub><b>ondoki</b></sub></a><br /><a href="#financial-ondoki" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/questrail"><img src="https://avatars.githubusercontent.com/u/3536569?v=4?s=75" width="75px;" alt="QuEST Rail LLC"/><br /><sub><b>QuEST Rail LLC</b></sub></a><br /><a href="#financial-questrail" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Gilgames000"><img src="https://avatars.githubusercontent.com/u/22778436?v=4?s=75" width="75px;" alt="Gilgameš"/><br /><sub><b>Gilgameš</b></sub></a><br /><a href="#financial-Gilgames000" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bbergshaven"><img src="https://avatars.githubusercontent.com/u/4091634?v=4?s=75" width="75px;" alt="Bernt-Johan Bergshaven"/><br /><sub><b>Bernt-Johan Bergshaven</b></sub></a><br /><a href="#financial-bbergshaven" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/bglw"><img src="https://avatars.githubusercontent.com/u/40188355?v=4?s=75" width="75px;" alt="Liam Bigelow"/><br /><sub><b>Liam Bigelow</b></sub></a><br /><a href="#financial-bglw" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/nickarellano"><img src="https://avatars.githubusercontent.com/u/13930605?v=4?s=75" width="75px;" alt="Nick Arellano"/><br /><sub><b>Nick Arellano</b></sub></a><br /><a href="#financial-nickarellano" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/fcjr"><img src="https://avatars.githubusercontent.com/u/2053002?v=4?s=75" width="75px;" alt="Frank Chiarulli Jr."/><br /><sub><b>Frank Chiarulli Jr.</b></sub></a><br /><a href="#financial-fcjr" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tylertravisty"><img src="https://avatars.githubusercontent.com/u/8620352?v=4?s=75" width="75px;" alt="Tyler"/><br /><sub><b>Tyler</b></sub></a><br /><a href="#financial-tylertravisty" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/trea"><img src="https://avatars.githubusercontent.com/u/1181448?v=4?s=75" width="75px;" alt="Trea Hauet"/><br /><sub><b>Trea Hauet</b></sub></a><br /><a href="#financial-trea" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://picatz.github.io/"><img src="https://avatars.githubusercontent.com/u/14850816?v=4?s=75" width="75px;" alt="Kent 'picat' Gruber"/><br /><sub><b>Kent 'picat' Gruber</b></sub></a><br /><a href="#financial-picatz" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tc-hib"><img src="https://avatars.githubusercontent.com/u/55949036?v=4?s=75" width="75px;" alt="tc-hib"/><br /><sub><b>tc-hib</b></sub></a><br /><a href="#financial-tc-hib" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/acheong08"><img src="https://avatars.githubusercontent.com/u/36258159?v=4?s=75" width="75px;" alt="Antonio"/><br /><sub><b>Antonio</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=acheong08" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/MyNameIsAres"><img src="https://avatars.githubusercontent.com/u/32432637?v=4?s=75" width="75px;" alt="MyNameIsAres"/><br /><sub><b>MyNameIsAres</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=MyNameIsAres" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://mai.car.ons"><img src="https://avatars.githubusercontent.com/u/101958587?v=4?s=75" width="75px;" alt="Maicarons J"/><br /><sub><b>Maicarons J</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Maicarons2022" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/KiddoV"><img src="https://avatars.githubusercontent.com/u/28552977?v=4?s=75" width="75px;" alt="kiddov"/><br /><sub><b>kiddov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Documentation">📖</a> <a href="#financial-KiddoV" title="Financial">💵</a> <a href="https://github.com/wailsapp/wails/commits?author=KiddoV" title="Tests">⚠️</a> <a href="#ideas-KiddoV" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://nicolas-coutin.com/"><img src="https://avatars.githubusercontent.com/u/6564012?v=4?s=75" width="75px;" alt="Nicolas Coutin"/><br /><sub><b>Nicolas Coutin</b></sub></a><br /><a href="#financial-Ilshidur" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ParvinEyvazov"><img src="https://avatars.githubusercontent.com/u/32189770?v=4?s=75" width="75px;" alt="Parvin Eyvazov"/><br /><sub><b>Parvin Eyvazov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ParvinEyvazov" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/github-actions"><img src="https://avatars.githubusercontent.com/in/15368?v=4?s=75" width="75px;" alt="github-actions[bot]"/><br /><sub><b>github-actions[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=github-actions[bot]" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/OlegGulevskyy"><img src="https://avatars.githubusercontent.com/u/43781031?v=4?s=75" width="75px;" alt="Oleg Gulevskyy"/><br /><sub><b>Oleg Gulevskyy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=OlegGulevskyy" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=OlegGulevskyy" title="Documentation">📖</a> <a href="#maintenance-OlegGulevskyy" title="Maintenance">🚧</a> <a href="#platform-OlegGulevskyy" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://www.customct.com/"><img src="https://avatars.githubusercontent.com/u/2487495?v=4?s=75" width="75px;" alt="Richard Guay"/><br /><sub><b>Richard Guay</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=raguay" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ATenderholt"><img src="https://avatars.githubusercontent.com/u/740623?v=4?s=75" width="75px;" alt="Adam Tenderholt"/><br /><sub><b>Adam Tenderholt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ATenderholt" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/JulioDRF"><img src="https://avatars.githubusercontent.com/u/15677708?v=4?s=75" width="75px;" alt="JulioDRF"/><br /><sub><b>JulioDRF</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=JulioDRF" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://scottopell.com/"><img src="https://avatars.githubusercontent.com/u/996472?v=4?s=75" width="75px;" alt="Scott Opell"/><br /><sub><b>Scott Opell</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=scottopell" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://aven.dev/"><img src="https://avatars.githubusercontent.com/u/2055581?v=4?s=75" width="75px;" alt="Vadim Shchepotev"/><br /><sub><b>Vadim Shchepotev</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=avengerweb" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://willdot.net/"><img src="https://avatars.githubusercontent.com/u/4906530?v=4?s=75" width="75px;" alt="Will Andrews"/><br /><sub><b>Will Andrews</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=willdot" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gwynforthewyn"><img src="https://avatars.githubusercontent.com/u/434656?v=4?s=75" width="75px;" alt="Gwyn"/><br /><sub><b>Gwyn</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gwynforthewyn" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/pulls?q=is%3Apr+reviewed-by%3Agwynforthewyn" title="Reviewed Pull Requests">👀</a> <a href="#question-gwynforthewyn" title="Answering Questions">💬</a> <a href="#research-gwynforthewyn" title="Research">🔬</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/xijaja"><img src="https://avatars.githubusercontent.com/u/47017666?v=4?s=75" width="75px;" alt="希嘉嘉"/><br /><sub><b>希嘉嘉</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=xijaja" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.almas.cc/"><img src="https://avatars.githubusercontent.com/u/9382335?v=4?s=75" width="75px;" alt="ALMAS"/><br /><sub><b>ALMAS</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=almas1992" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://stdout.com.cn/"><img src="https://avatars.githubusercontent.com/u/20666153?v=4?s=75" width="75px;" alt="Alex"/><br /><sub><b>Alex</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=o8x" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/arifali123"><img src="https://avatars.githubusercontent.com/u/51419655?v=4?s=75" width="75px;" alt="Arif Ali"/><br /><sub><b>Arif Ali</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=arifali123" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/hotafrika"><img src="https://avatars.githubusercontent.com/u/18332839?v=4?s=75" width="75px;" alt="Artur Siarohau"/><br /><sub><b>Artur Siarohau</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=hotafrika" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://binyam.in/"><img src="https://avatars.githubusercontent.com/u/39805353?v=4?s=75" width="75px;" alt="Binyamin Aron Green"/><br /><sub><b>Binyamin Aron Green</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=binyamin" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://bdwyertech.net/"><img src="https://avatars.githubusercontent.com/u/2973273?v=4?s=75" width="75px;" alt="Brian Dwyer"/><br /><sub><b>Brian Dwyer</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=bdwyertech" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://www.cilb.de/"><img src="https://avatars.githubusercontent.com/u/7283097?v=4?s=75" width="75px;" alt="Christian Kilb"/><br /><sub><b>Christian Kilb</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ckilb" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/edwargix"><img src="https://avatars.githubusercontent.com/u/22877007?v=4?s=75" width="75px;" alt="David Florness"/><br /><sub><b>David Florness</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=edwargix" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/BuckeyeCoder"><img src="https://avatars.githubusercontent.com/u/95933880?v=4?s=75" width="75px;" alt="David Walton"/><br /><sub><b>David Walton</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=BuckeyeCoder" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Debdut"><img src="https://avatars.githubusercontent.com/u/7561070?v=4?s=75" width="75px;" alt="Debdut Karmakar"/><br /><sub><b>Debdut Karmakar</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Debdut" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/gotid"><img src="https://avatars.githubusercontent.com/u/4010854?v=4?s=75" width="75px;" alt="Dieter Zhu"/><br /><sub><b>Dieter Zhu</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=gotid" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://fredrikholmqvist.com/"><img src="https://avatars.githubusercontent.com/u/22743750?v=4?s=75" width="75px;" alt="Fredrik Holmqvist"/><br /><sub><b>Fredrik Holmqvist</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Holmqvist1990" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/giopalma"><img src="https://avatars.githubusercontent.com/u/33783684?v=4?s=75" width="75px;" alt="Giovanni Palma"/><br /><sub><b>Giovanni Palma</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=giopalma" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Nexus26404"><img src="https://avatars.githubusercontent.com/u/83110373?v=4?s=75" width="75px;" alt="Hao"/><br /><sub><b>Hao</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Nexus26404" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/i7tsov"><img src="https://avatars.githubusercontent.com/u/44977153?v=4?s=75" width="75px;" alt="Igor Sementsov"/><br /><sub><b>Igor Sementsov</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=i7tsov" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/derhasi"><img src="https://avatars.githubusercontent.com/u/118502?v=4?s=75" width="75px;" alt="Johannes Haseitl"/><br /><sub><b>Johannes Haseitl</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=derhasi" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/joshbuddy"><img src="https://avatars.githubusercontent.com/u/8898?v=4?s=75" width="75px;" alt="Joshua Hull"/><br /><sub><b>Joshua Hull</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=joshbuddy" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/joshm998"><img src="https://avatars.githubusercontent.com/u/1779737?v=4?s=75" width="75px;" alt="Joshua Mangiola"/><br /><sub><b>Joshua Mangiola</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=joshm998" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/prurigro"><img src="https://avatars.githubusercontent.com/u/1149238?v=4?s=75" width="75px;" alt="Kevin MacMartin"/><br /><sub><b>Kevin MacMartin</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=prurigro" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/liang-li-dev"><img src="https://avatars.githubusercontent.com/u/112530363?v=4?s=75" width="75px;" alt="Liang Li"/><br /><sub><b>Liang Li</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=liang-li-dev" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://appslab.co.ke/"><img src="https://avatars.githubusercontent.com/u/7722584?v=4?s=75" width="75px;" alt="Marvin Collins Hosea"/><br /><sub><b>Marvin Collins Hosea</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=marvinhosea" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://matt.life/"><img src="https://avatars.githubusercontent.com/u/1128849?v=4?s=75" width="75px;" alt="Matt Holt"/><br /><sub><b>Matt Holt</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=mholt" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Gurkengewuerz"><img src="https://avatars.githubusercontent.com/u/10966337?v=4?s=75" width="75px;" alt="Niklas"/><br /><sub><b>Niklas</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Gurkengewuerz" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Xhofe"><img src="https://avatars.githubusercontent.com/u/36558727?v=4?s=75" width="75px;" alt="Andy Hsu"/><br /><sub><b>Andy Hsu</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Xhofe" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/NullCode1337"><img src="https://avatars.githubusercontent.com/u/70959549?v=4?s=75" width="75px;" alt="NullCode"/><br /><sub><b>NullCode</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=NullCode1337" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/oSethoum"><img src="https://avatars.githubusercontent.com/u/88779394?v=4?s=75" width="75px;" alt="Oussama Sethoum"/><br /><sub><b>Oussama Sethoum</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=oSethoum" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/ParkourLiu"><img src="https://avatars.githubusercontent.com/u/33681340?v=4?s=75" width="75px;" alt="ParkourLiu"/><br /><sub><b>ParkourLiu</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=ParkourLiu" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/zllovesuki"><img src="https://avatars.githubusercontent.com/u/298453?v=4?s=75" width="75px;" alt="Rachel Chen"/><br /><sub><b>Rachel Chen</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=zllovesuki" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/rnice01"><img src="https://avatars.githubusercontent.com/u/11394384?v=4?s=75" width="75px;" alt="Rob Nice"/><br /><sub><b>Rob Nice</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=rnice01" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/RyoTagami"><img src="https://avatars.githubusercontent.com/u/9672589?v=4?s=75" width="75px;" alt="Ryo TAGAMI"/><br /><sub><b>Ryo TAGAMI</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=RyoTagami" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/SamHennessy"><img src="https://avatars.githubusercontent.com/u/119867?v=4?s=75" width="75px;" alt="Sam Hennessy"/><br /><sub><b>Sam Hennessy</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SamHennessy" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://albinodrought.com/"><img src="https://avatars.githubusercontent.com/u/852873?v=4?s=75" width="75px;" alt="Sean"/><br /><sub><b>Sean</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=AlbinoDrought" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/sgosiaco"><img src="https://avatars.githubusercontent.com/u/212341?v=4?s=75" width="75px;" alt="Sean Gosiaco"/><br /><sub><b>Sean Gosiaco</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=sgosiaco" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://sheetjs.com/"><img src="https://avatars.githubusercontent.com/u/6070939?v=4?s=75" width="75px;" alt="Eric P Sheets"/><br /><sub><b>Eric P Sheets</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SheetJSDev" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.octopy.dev/"><img src="https://avatars.githubusercontent.com/u/37969970?v=4?s=75" width="75px;" alt="Supian M"/><br /><sub><b>Supian M</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=SupianIDz" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/Watson-Sei"><img src="https://avatars.githubusercontent.com/u/55475145?v=4?s=75" width="75px;" alt="Watson-Sei"/><br /><sub><b>Watson-Sei</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=Watson-Sei" title="Code">💻</a> <a href="https://github.com/wailsapp/wails/commits?author=Watson-Sei" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://shinshin86.com/"><img src="https://avatars.githubusercontent.com/u/8216064?v=4?s=75" width="75px;" alt="Yuki Shindo"/><br /><sub><b>Yuki Shindo</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=shinshin86" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/cuigege"><img src="https://avatars.githubusercontent.com/u/26080122?v=4?s=75" width="75px;" alt="cuigege"/><br /><sub><b>cuigege</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=cuigege" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://cybertramp.net/"><img src="https://avatars.githubusercontent.com/u/30935096?v=4?s=75" width="75px;" alt="cybertramp"/><br /><sub><b>cybertramp</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=cybertramp" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/h8gi"><img src="https://avatars.githubusercontent.com/u/10811057?v=4?s=75" width="75px;" alt="hiroki yagi"/><br /><sub><b>hiroki yagi</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=h8gi" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/imgbot"><img src="https://avatars.githubusercontent.com/in/4706?v=4?s=75" width="75px;" alt="imgbot[bot]"/><br /><sub><b>imgbot[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=imgbot[bot]" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tong3jie"><img src="https://avatars.githubusercontent.com/u/14191774?v=4?s=75" width="75px;" alt="juju"/><br /><sub><b>juju</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tong3jie" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="12.5%"><a href="http://meatherly.github.io/"><img src="https://avatars.githubusercontent.com/u/1327960?v=4?s=75" width="75px;" alt="Michael Eatherly"/><br /><sub><b>Michael Eatherly</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=meatherly" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/tk103331"><img src="https://avatars.githubusercontent.com/u/4404609?v=4?s=75" width="75px;" alt="tk"/><br /><sub><b>tk</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=tk103331" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://github.com/apps/allcontributors"><img src="https://avatars.githubusercontent.com/in/23186?v=4?s=75" width="75px;" alt="allcontributors[bot]"/><br /><sub><b>allcontributors[bot]</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=allcontributors[bot]" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="12.5%"><a href="https://www.ffactory.org/"><img src="https://avatars.githubusercontent.com/u/77320953?v=4?s=75" width="75px;" alt="wander"/><br /><sub><b>wander</b></sub></a><br /><a href="https://github.com/wailsapp/wails/commits?author=wandercn" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
|
|
@ -193,6 +266,7 @@
|
|||
- [John Chadwick](https://github.com/jchv) - 彼の[go-webview2](https://github.com/jchv/go-webview2)および[go-winloader](https://github.com/jchv/go-winloader)というすばらしい成果によって、Windows版を開発できました。
|
||||
- [Tad Vizbaras](https://github.com/tadvi) - 彼のwincプロジェクトは、純粋なGo Wails開発の最初のステップでした。
|
||||
- [Mat Ryer](https://github.com/matryer) - アドバイス、サポート、営業。
|
||||
- [Byron Chris](https://github.com/bh90210) - このプロジェクトに長期的に貢献してくれました。
|
||||
- [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) - 彼は非常に有益なサポートおよびフィードバックをしてくれました。
|
||||
- [Justen Walker](https://github.com/justenwalker/) - v2を成功させるために、COM問題を解決してくれました。
|
||||
- [Wang, Chi](https://github.com/patr0nus/) - DeskGapプロジェクトは、Wails v2の方向性に大きな影響を与えてくれました。
|
||||
|
|
|
|||
|
|
@ -50,5 +50,9 @@
|
|||
"link.item.label.Awesome": {
|
||||
"message": "Awesome",
|
||||
"description": "The label of footer link with label=Awesome linking to https://github.com/wailsapp/awesome-wails"
|
||||
},
|
||||
"link.item.label.Discord": {
|
||||
"message": "Discord",
|
||||
"description": "The label of footer link with label=Discord linking to https://discord.gg/JDdSxwjhGf"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -411,5 +411,13 @@
|
|||
"theme.SearchModal.placeholder": {
|
||||
"message": "문서 검색",
|
||||
"description": "The placeholder of the input of the DocSearch pop-up modal"
|
||||
},
|
||||
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
|
||||
"message": "Close navigation bar",
|
||||
"description": "The ARIA label for close button of mobile sidebar"
|
||||
},
|
||||
"theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
|
||||
"message": "Toggle navigation bar",
|
||||
"description": "The ARIA label for hamburger menu button of mobile navigation"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,184 @@
|
|||
---
|
||||
slug: the-road-to-wails-v3
|
||||
title: The Road to Wails v3
|
||||
authors:
|
||||
- leaanthony
|
||||
tags:
|
||||
- wails
|
||||
- v3
|
||||
---
|
||||
|
||||
```mdx-code-block
|
||||
<div class="text--center">
|
||||
<img
|
||||
src={require("@site/static/img/blog/multiwindow.webp").default}
|
||||
width="90%"
|
||||
/>
|
||||
</div>
|
||||
<br />
|
||||
```
|
||||
|
||||
# Introduction
|
||||
|
||||
Wails is a project that simplifies the ability to write cross-platform desktop applications using Go. It uses native webview components for the frontend (not embedded browsers), bringing the power of the world's most popular UI system to Go, whilst remaining lightweight.
|
||||
|
||||
Version 2 was released on the 22nd of September 2022 and brought with it a lot of enhancements including:
|
||||
|
||||
- Live development, leveraging the popular Vite project
|
||||
- Rich functionality for managing windows and creating menus
|
||||
- Microsoft's WebView2 component
|
||||
- Generation of Typescript models that mirror your Go structs
|
||||
- Creating of NSIS Installer
|
||||
- Obfuscated builds
|
||||
|
||||
Right now, Wails v2 provides powerful tooling for creating rich, cross-platform desktop applications.
|
||||
|
||||
This blog post aims to look at where the project is at right now and what we can improve on moving forward.
|
||||
|
||||
# Where are we now?
|
||||
|
||||
It's been incredible to see the popularity of Wails rising since the v2 release. I'm constantly amazed by the creativity of the community and the wonderful things that are being built with it. With more popularity, comes more eyes on the project. And with that, more feature requests and bug reports.
|
||||
|
||||
Over time, I've been able to identify some of the most pressing issues facing the project. I've also been able to identify some of the things that are holding the project back.
|
||||
|
||||
## Current issues
|
||||
|
||||
I've identified the following areas that I feel are holding the project back:
|
||||
|
||||
- The API
|
||||
- Bindings generation
|
||||
- The Build System
|
||||
|
||||
### The API
|
||||
|
||||
The API to build a Wails application currently consists of 2 parts:
|
||||
|
||||
- The Application API
|
||||
- The Runtime API
|
||||
|
||||
The Application API famously has only 1 function: `Run()` which takes a heap of options which govern how the application will work. Whilst this is very simple to use, it is also very limiting. It is a "declarative" approach which hides a lot of the underlying complexity. For instance, there is no handle to the main window, so you can't interact with it directly. For that, you need to use the Runtime API. This is a problem when you start to want to do more complex things like create multiple windows.
|
||||
|
||||
The Runtime API provides a lot of utility functions for the developer. This includes:
|
||||
|
||||
- Window management
|
||||
- Dialogs
|
||||
- Menus
|
||||
- Events
|
||||
- Logs
|
||||
|
||||
There are a number of things I am not happy with the Runtime API. The first is that it requires a "context" to be passed around. This is both frustrating and confusing for new developers who pass in a context and then get a runtime error.
|
||||
|
||||
The biggest issue with the Runtime API is that it was designed for applications that only use a single window. Over time, the demand for multiple windows has grown and the API is not well suited to this.
|
||||
|
||||
### Thoughts on the v3 API
|
||||
|
||||
Wouldn't it be great if we could do something like this?
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := wails.NewApplication(options.App{})
|
||||
myWindow := app.NewWindow(options.Window{})
|
||||
myWindow.SetTitle("My Window")
|
||||
myWindow.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
app.Run()
|
||||
}
|
||||
```
|
||||
|
||||
This programmatic approach is far more intuitive and allows the developer to interact with the application elements directly. All current runtime methods for windows would simply be methods on the window object. For the other runtime methods, we could move them to the application object like so:
|
||||
|
||||
```go
|
||||
app := wails.NewApplication(options.App{})
|
||||
app.NewInfoDialog(options.InfoDialog{})
|
||||
app.Log.Info("Hello World")
|
||||
```
|
||||
|
||||
This is a much more powerful API which will allow for more complex applications to be built. It also allows for the creation of multiple windows, [the most up-voted feature on GitHub](https://github.com/wailsapp/wails/issues/1480):
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := wails.NewApplication(options.App{})
|
||||
myWindow := app.NewWindow(options.Window{})
|
||||
myWindow.SetTitle("My Window")
|
||||
myWindow.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
myWindow2 := app.NewWindow(options.Window{})
|
||||
myWindow2.SetTitle("My Window 2")
|
||||
myWindow2.On(events.Window.Close, func() {
|
||||
app.Quit()
|
||||
})
|
||||
app.Run()
|
||||
}
|
||||
```
|
||||
|
||||
### Bindings generation
|
||||
|
||||
One of the key features of Wails is generating bindings for your Go methods so they may be called from Javascript. The current method for doing this is a bit of a hack. It involves building the application with a special flag and then running the resultant binary which uses reflection to determine what has been bound. This leads to a bit of a chicken and egg situation: You can't build the application without the bindings and you can't generate the bindings without building the application. There are many ways around this but the best one would be not to use this approach at all.
|
||||
|
||||
There was a number of attempts at writing a static analyser for Wails projects but they didn't get very far. In more recent times, it has become slightly easier to do this with more material available on the subject.
|
||||
|
||||
Compared to reflection, the AST approach is much faster however it is significantly more complicated. To start with, we may need to impose certain constraints on how to specify bindings in the code. The goal is to support the most common use cases and then expand it later on.
|
||||
|
||||
### The Build System
|
||||
|
||||
Like the declarative approach to the API, the build system was created to hide the complexities of building a desktop application. When you run `wails build`, it does a lot of things behind the scenes:
|
||||
- Builds the backend binary for bindings and generates the bindings
|
||||
- Installs the frontend dependencies
|
||||
- Builds the frontend assets
|
||||
- Determines if the application icon is present and if so, embeds it
|
||||
- Builds the final binary
|
||||
- If the build is for `darwin/universal` it builds 2 binaries, one for `darwin/amd64` and one for `darwin/arm64` and then creates a fat binary using `lipo`
|
||||
- If compression is required, it compresses the binary with UPX
|
||||
- Determines if this binary is to be packaged and if so:
|
||||
- Ensures the icon and application manifest are compiled into the binary (Windows)
|
||||
- Builds out the application bundle, generates the icon bundle and copies it, the binary and Info.plist to the application bundle (Mac)
|
||||
- If an NSIS installer is required, it builds it
|
||||
|
||||
This entire process, whilst very powerful, is also very opaque. It is very difficult to customise it and it is very difficult to debug.
|
||||
|
||||
To address this in v3, I would like to move to a build system that exists outside of Wails. After using [Task](https://taskfile.dev/) for a while, I am a big fan of it. It is a great tool for configuring build systems and should be reasonably familiar to anyone who has used Makefiles.
|
||||
|
||||
The build system would be configured using a `Taskfile.yml` file which would be generated by default with any of the supported templates. This would have all of the steps required to do all the current tasks, such as building or packaging the application, allowing for easy customisation.
|
||||
|
||||
There will be no external requirement for this tooling as it would form part of the Wails CLI. This means that you can still use `wails build` and it will do all the things it does today. However, if you want to customise the build process, you can do so by editing the `Taskfile.yml` file. It also means you can easily understand the build steps and use your own build system if you wish.
|
||||
|
||||
The missing piece in the build puzzle is the atomic operations in the build process, such as icon generation, compression and packaging. To require a bunch of external tooling would not be a great experience for the developer. To address this, the Wails CLI will provide all these capabilities as part of the CLI. This means that the builds still work as expected, with no extra external tooling, however you can replace any step of the build with any tool you like.
|
||||
|
||||
This will be a much more transparent build system which will allow for easier customisation and address a lot of the issues that have been raised around it.
|
||||
|
||||
## The Payoff
|
||||
|
||||
These positive changes will be a huge benefit to the project:
|
||||
- The new API will be much more intuitive and will allow for more complex applications to be built.
|
||||
- Using static analysis for bindings generation will be much faster and reduce a lot of the complexity around the current process.
|
||||
- Using an established, external build system will make the build process completely transparent, allowing for powerful customisation.
|
||||
|
||||
Benefits to the project maintainers are:
|
||||
|
||||
- The new API will be much easier to maintain and adapt to new features and platforms.
|
||||
- The new build system will be much easier to maintain and extend. I hope this will lead to a new ecosystem of community driven build pipelines.
|
||||
- Better separation of concerns within the project. This will make it easier to add new features and platforms.
|
||||
|
||||
## The Plan
|
||||
|
||||
A lot of the experimentation for this has already been done and it's looking good. There is no current timeline for this work but I'm hoping by the end of Q1 2023, there will be an alpha release for Mac to allow the community to test, experiment with and provide feedback.
|
||||
|
||||
## Summary
|
||||
|
||||
- The v2 API is declarative, hides a lot from the developer and not suitable for features such as multiple windows. A new API will be created which will be simpler, intuitive and more powerful.
|
||||
- The build system is opaque and difficult to customise so we will move to an external build system which will open it all up.
|
||||
- The bindings generation is slow and complex so we will move to static analysis which will remove a lot of the complexity the current method has.
|
||||
|
||||
There has been a lot of work put into the guts of v2 and it's solid. It's now time to address the layer on top of it and make it a much better experience for the developer.
|
||||
|
||||
I hope you are as excited about this as I am. I'm looking forward to hearing your thoughts and feedback.
|
||||
|
||||
Regards,
|
||||
|
||||
‐ Lea
|
||||
|
||||
PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
|
||||
|
||||
PPS: Yes, that's a genuine screenshot of a multi-window application built with Wails. It's not a mockup. It's real. It's awesome. It's coming soon.
|
||||
|
|
@ -12,7 +12,7 @@ The [definitive list](https://github.com/wailsapp/awesome-wails) of links relate
|
|||
|
||||
## Support Channels
|
||||
|
||||
- [Discord](https://discord.com/invite/JDdSxwjhGf)
|
||||
- [Wails Discord Server](https://discord.gg/JDdSxwjhGf)
|
||||
- [Github Issues](https://github.com/wailsapp/wails/issues)
|
||||
- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828)
|
||||
|
||||
|
|
@ -22,4 +22,5 @@ The [definitive list](https://github.com/wailsapp/awesome-wails) of links relate
|
|||
- [Wails Chinese Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Group number: 1067173054
|
||||
|
||||
## Other Tutorials and Articles
|
||||
|
||||
- [Building of Bulletin Board](https://blog.customct.com/building-bulletin-board)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# BulletinBoard
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img src={require("@site/static/img/showcase/bboard.webp").default} />
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
The [BulletinBoard](https://github.com/raguay/BulletinBoard) application is a versital message board for static messages or dialogs to get information from the user for a script. It has a TUI for creating new dialogs that can latter be used to get information from the user. It's design is to stay running on your system and show the information as needed and then hide away. I have a process for watching a file on my system and sending the contents to BulletinBoard when changed. It works great with my workflows. There is also an [Alfred workflow](https://github.com/raguay/MyAlfred/blob/master/Alfred%205/EmailIt.alfredworkflow) for sending information to the program. The workflow is also for working with [EmailIt](https://github.com/raguay/EmailIt).
|
||||
|
|
@ -7,4 +7,4 @@
|
|||
</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. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
|
||||
[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 scripts terminal to run scripts in EmailIt on files in your system. The scripts and templates can be used from the commandline itself or with the Alfred, Keyboard Maestro, Dropzone, or PopClip extensions. It also supports scripts and themes downloaded form GitHub. Documentation is not complete, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
|
||||
|
|
|
|||
|
|
@ -13,4 +13,4 @@ FileHound Export Utility를 사용하면 FileHound 관리자가 대체 백업
|
|||
|
||||
백엔드의 구성은 다음과 같습니다: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2
|
||||
|
||||
Frontend with: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6
|
||||
사용된 프론트엔드: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# hiposter
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img src={require("@site/static/img/showcase/hiposter.webp").default} />
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
|
||||
|
|
@ -9,6 +9,6 @@
|
|||
</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) 는 웹 기술을 사용하는 이중 창 모양의 파일 관리자입니다. 나의 원래 디자인은 NW.js를 기반으로 했으며 [여기](https://github.com/raguay/ModalFileManager-NWjs)에서 찾을 수 있습니다. 이 버전은 동일한 Svelte 기반 프론트엔드 코드를 사용하지만(그러나 NW.js에서 출발한 이후 크게 수정됨) 백엔드는 [Wails 2](https://wails.io/) 구현입니다. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands, but a git install has to be on the system to download themes and extensions. Go를 사용하여 코딩되었으며, 이전 버전보다 훨씬 빠르게 실행됩니다.
|
||||
|
||||
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.
|
||||
이 파일 관리자는 Vim과 동일한 원칙, 즉 상태 제어 키보드 동작을 기반으로 설계되었습니다. 상태의 수는 고정이 안되어 있지만, 그러나 매우 프로그래머블합니다. 그러므로, 키보드 설정들의 무한한 수는 생성 될 수 있고 사용될 수 있습니다. 이것은 다른 파일 매니저들과 다른 주요점입니다. There are themes and extensions available to download from GitHub.
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@
|
|||
</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.
|
||||
[Molly Wallet](https://github.com/grvlle/constellation_wallet/) 은 Constellation Network의 공식 $DAG 지갑입니다. 이를 통해 사용자는 $DAG 트랜잭션 생성에 국한되지 않고 다양한 방식으로 Hypergraph Network와 상호 작용할 수 있습니다.
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@
|
|||
</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.
|
||||
[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of scripts or [Node-Red](https://nodered.org) server. It runs scripts defined in EmailIt program and shows the output. Scripts from xBar or TextBar can be used, but currently on the TextBar scripts work well. 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.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
# Minecraft launcher for WarMine
|
||||
|
||||
```mdx-code-block
|
||||
<p style={{ "text-align": "center" }}>
|
||||
<img
|
||||
src={require("@site/static/img/showcase/warmine1.png").default}
|
||||
/>
|
||||
<img
|
||||
src={require("@site/static/img/showcase/warmine2.png").default}
|
||||
/>
|
||||
<br />
|
||||
</p>
|
||||
```
|
||||
|
||||
[Minecraft launcher for WarMine](https://warmine.ru/) is a Wails application, that allows you to easily join modded game servers and manage your game accounts.
|
||||
|
||||
The Launcher downloads the game files, checks their integrity and launches the game with a wide range of customization options for the launch arguments from the backend.
|
||||
|
||||
Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
|
||||
|
|
@ -27,6 +27,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
|
|||
- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vue 3 TypeScript with Vite, Vuex, Vue Router, Sass, and ESLint + Prettier
|
||||
- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - A template using JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier)
|
||||
- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - A template using TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, Composition API with <script setup>)
|
||||
- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Wails template based on Naive UI (A Vue 3 Component Library)
|
||||
|
||||
## Angular
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue