Neuerungen in Wails v3
Entdecken Sie die wichtigsten Verbesserungen und neuen Funktionen in Wails v3
Wails v3 bringt gegenüber v2 wesentliche Änderungen mit sich. Die deklarative API für ein einzelnes Fenster wird durch einen flexibleren prozeduralen Ansatz ersetzt. Dieses neue API-Design verbessert die Lesbarkeit des Codes und vereinfacht die Entwicklung, insbesondere bei komplexen Anwendungen mit mehreren Fenstern.
Wails v3 stellt eine bedeutende Weiterentwicklung beim Erstellen von Desktopanwendungen mit Go und Webtechnologien dar.
Mehrere Fenster
Mit Wails v3 können Sie mehrere Fenster innerhalb einer einzigen Anwendung erstellen und verwalten. Dadurch lassen sich komplexere und vielseitigere Benutzeroberflächen entwickeln, die über die Einschränkungen von Anwendungen mit nur einem Fenster hinausgehen.
Jedes Fenster kann unabhängig konfiguriert werden. Größe, Position, Inhalt und Verhalten lassen sich flexibel festlegen. So können Anwendungen separate Fenster für unterschiedliche Funktionen bereitstellen, etwa Hauptoberflächen, Einstellungsbereiche oder ergänzende Ansichten.
Entwickler können diese Fenster programmgesteuert erstellen, bearbeiten und verwalten. Dadurch entstehen dynamische Benutzeroberflächen, die sich an die Anforderungen der Benutzer und den Zustand der Anwendung anpassen.
Systemleistenintegration
Wails v3 bietet umfassende Unterstützung für Funktionen der Systemleiste, sodass Ihre Anwendung dauerhaft auf dem Desktop des Benutzers verfügbar bleibt. Diese Funktion ist besonders für Anwendungen nützlich, die im Hintergrund ausgeführt werden müssen oder schnellen Zugriff auf zentrale Funktionen bieten sollen.
Die Systemleistenintegration von Wails v3 bietet unter anderem folgende Hauptfunktionen:
-
Fensterzuordnung: Sie können dem Symbol in der Systemleiste ein Fenster zuordnen. Bei der Aktivierung wird dieses Fenster relativ zur Position des Symbols zentriert und ermöglicht so einen schnellen Zugriff auf Ihre Anwendung.
-
Umfassende Menüunterstützung: Erstellen Sie umfangreiche interaktive Menüs, auf die Benutzer direkt über das Symbol in der Systemleiste zugreifen können. So lassen sich schnelle Aktionen ausführen, ohne das vollständige Anwendungsfenster öffnen zu müssen.
-
Adaptive Symboldarstellung: Die Unterstützung für Symbole im hellen und dunklen Modus stellt sicher, dass das Systemleistensymbol Ihrer Anwendung bei verschiedenen Systemdesigns sichtbar und ansprechend bleibt. Unter macOS werden außerdem Vorlagensymbole unterstützt.
Verbesserte Bindings-Generierung
Wails v3 verbessert die Generierung von Bindings für Ihr Projekt erheblich. Bindings verbinden Ihr Go-Backend mit Ihrem Frontend und ermöglichen eine nahtlose Kommunikation zwischen beiden.
Die Bindings werden jetzt mit einem leistungsfähigen statischen Analysewerkzeug generiert, das den Generierungsprozess grundlegend verbessert. Es erhöht die Geschwindigkeit und bewahrt die Codequalität, indem Kommentare und Parameternamen erhalten bleiben.
Die Generierung der Bindings wurde vereinfacht und erfordert nur noch einen einzigen Befehl: wails3 generate bindings.
Verbessertes Build-System
Wails v3 führt ein flexibleres und transparenteres Build-System ein, das die Einschränkungen seines Vorgängers beseitigt. In v2 war der Build-Prozess weitgehend undurchsichtig und nur schwer anpassbar. Das konnte Entwickler frustrieren, die mehr Kontrolle über den Build-Prozess ihres Projekts benötigten.
Alle aufwendigen Aufgaben, die das Build-System von v2 übernahm, etwa das Generieren von Symbolen und das Erstellen von Manifesten, wurden der CLI als Werkzeugbefehle hinzugefügt. Zur Orchestrierung dieser Aufrufe haben wir Taskfile in die CLI integriert, um dieselbe Entwicklererfahrung wie in v2 zu bieten. Dieser Ansatz schafft jedoch die bestmögliche Balance zwischen Flexibilität und Benutzerfreundlichkeit, da Sie den Build-Prozess jetzt an Ihre Anforderungen anpassen können.
Sie können sogar make verwenden, wenn Ihnen das lieber ist!
Verbesserte Ereignisse
Wails löst jetzt Ereignisse für verschiedene Laufzeitvorgänge und Systemaktivitäten aus. Dadurch kann Ihre Anwendung in Echtzeit auf diese Ereignisse reagieren. Zusätzlich stehen plattformübergreifende (gemeinsame) Ereignisse zur Verfügung, sodass Sie einheitliche Methoden zur Ereignisbehandlung schreiben können, die unter verschiedenen Betriebssystemen funktionieren.
Zur synchronen Behandlung bestimmter Ereignisse können Ereignis-Hooks registriert werden. Anders als bei der Methode On können Sie mit diesen Hooks das Ereignis bei Bedarf abbrechen. Ein typischer Anwendungsfall ist die Anzeige eines Bestätigungsdialogs, bevor ein Fenster geschlossen wird. Dadurch haben Sie mehr Kontrolle über den Ereignisablauf und die Benutzerführung.
Wails Markup Language (wml)
Eine experimentelle Funktion zum Aufrufen von Laufzeitmethoden mit einfachem HTML, ähnlich wie htmx.
Beispiele
Weitere Beispiele finden Sie im Verzeichnis examples. Sehen Sie sie sich an!