Advanced Topics
📄️ Browser Console
Die Verwendung der Konsole des Browsers, um wertvolle Programminformationen auszugeben, ist ein integraler Bestandteil des Entwicklungsprozesses. Die BrowserConsole-Utility-Klasse bietet zahlreiche Funktionen zur Verbesserung der Protokollierungsfähigkeiten.
📄️ Lifecycle Listeners
Das AppLifecycleListener-Interface ermöglicht externem Code, App-Lebenszyklusereignisse zu beobachten und darauf zu reagieren. Durch die Implementierung dieses Interfaces können Sie Code zu bestimmten Zeitpunkten während des App-Starts und -Herunterfahrens ausführen, ohne die App-Klasse selbst zu ändern.
📄️ Web Storage
Web storage ist ein grundlegendes Konzept in der Webentwicklung, das es Websites ermöglicht, Daten auf der Client-Seite zu speichern. Dies ermöglicht es Webanwendungen, den Zustand, Einstellungen und andere Informationen lokal im Browser des Benutzers zu speichern. Web storage bietet eine Möglichkeit, Daten über Seitenneuladevorgänge und Browsersitzungen hinweg zu persistieren, wodurch die Notwendigkeit wiederholter Serveranfragen verringert und Offline-Funktionen aktiviert werden.
📄️ Locale Management
webforJ bietet integrierte Unterstützung für die Verwaltung der App-Lokalisierung. Die Lokalisierung bestimmt, welche Sprache und regionale Formatierung in der gesamten App verwendet wird. Komponenten können auf Änderungen der Lokalisierung durch das LocaleObserver-Interface reagieren, sodass die Benutzeroberfläche sofort aktualisiert wird, wenn der Benutzer die Sprache wechselt.
📄️ Translation
webforJ enthält ein integriertes Übersetzungssystem, um lokalisierten Text anhand von Schlüsseln zu suchen. Das System besteht aus einem Übersetzungs-Resolver, der Schlüssel auf lokalisierten Text abbildet, einer HasTranslation-Schnittstelle, die eine praktische t()-Methode bereitstellt, App.getTranslation() f ür den direkten Zugriff überall, automatischer Spracherkennung durch den Browser und Unterstützung für benutzerdefinierte Übersetzungsquellen wie Datenbanken.
📄️ Interval
Die Interval-Klasse repräsentiert einen Timer, der ein Ereignis mit einer festen Zeitverzögerung zwischen jedem Auslösen auslöst.
📄️ Browser History
Die BrowserHistory-Klasse in webforJ bietet eine hochgradig API, um mit der Verlauf des Browsers zu interagieren. Der Browserverlauf ermöglicht es Webanwendungen, die Navigation des Benutzers innerhalb der App nachverfolgen. Durch die Nutzung des Browserverlaufs können Entwickler Funktionen wie Vor- und Zurücknavigation, Zustandserhaltung und dynamische URL-Verwaltung aktivieren, ohne vollständige Seitenaktualisierungen erforderlich zu machen.
📄️ Debouncing
Debouncing ist eine Technik, die die Ausführung einer Aktion verzögert, bis eine bestimmte Zeit seit dem letzten Aufruf vergangen ist. Jeder neue Aufruf setzt den Timer zurück. Dies ist nützlich für Szenarien wie „Suche während der Eingabe“, bei denen Sie warten möchten, bis der Benutzer mit dem Tippen aufgehört hat, bevor eine Suchanfrage ausgeführt wird.
📄️ Error Handling
Fehlerbehandlung ist ein entscheidender Aspekt bei der Entwicklung robuster Webanwendungen. In webforJ ist die Fehlerbehandlung so gestaltet, dass sie flexibel und anpassbar ist, wodurch Entwickler Ausnahmen auf eine Weise behandeln können, die am besten zu den Bedürfnissen ihrer Anwendung passt.
📄️ Namespaces
Namespaces in webforJ bieten einen Mechanismus zum Speichern und Abrufen von gemeinsam genutzten Daten über verschiedene Bereiche in einer Webanwendung. Sie ermöglichen die Inter-Komponenten- und Sitzungsübergreifende Datenkommunikation, ohne auf traditionelle Speichertechniken wie Sitzungsattribute oder statische Felder angewiesen zu sein. Diese Abstraktion ermöglicht es Entwicklern, den Zustand auf kontrollierte und threadsichere Weise zu kapseln und zuzugreifen. Namespaces sind ideal für den Aufbau von Mehrbenutzer-Kollaborationstools oder einfach zur Pflege konsistenter globaler Einstellungen und ermöglichen es Ihnen, Daten sicher und effizient zu koordinieren.
📄️ Terminate and Error Actions
Bei der Entwicklung von Anwendungen mit webforJ ist es entscheidend, festzulegen, wie sich Ihre App verhält, wenn sie beendet wird oder auf einen Fehler stößt. Das Framework bietet Mechanismen, um diese Verhaltensweisen über terminate- und error-Aktionen anzupassen.
📄️ View Transitions
View transitions bieten animierte Übergänge, wenn sich der DOM ändert, wodurch visuelle Störungen verringert und der räumliche Kontext während der Navigation oder Inhaltsaktualisierungen erhalten bleibt. webforJ integriert sich in die View Transition API des Browsers, um die Komplexität der Koordination von Animationen zwischen alten und neuen Zuständen zu bewältigen.
📄️ Object and String Tables
Die ObjectTable, SessionObjectTable und StringTable bieten statischen Zugriff auf gemeinsame Daten in einer webforJ-Umgebung. Alle sind von überall in Ihrer Anwendung zugänglich und dienen unterschiedlichen Zwecken:
📄️ Asynchronous Updates
Die Environment.runLater() API bietet einen Mechanismus zum sicheren Aktualisieren der Benutzeroberfläche aus Hintergrundthreads in webforJ-Anwendungen. Diese experimentelle Funktion ermöglicht asynchrone Operationen, während die Threadsicherheit für UI-Modifikationen gewährleistet bleibt.
🗃️ Repository
3 Elemente
📄️ Route Registry Provider
Der RouteRegistryProvider ist ein Service Provider Interface (SPI), das Integrationsframeworks ermöglicht, benutzerdefinierte Routenentdeckungsmechanismen bereitzustellen. Dies ermöglicht es Frameworks, ihre eigenen Classpath-Scans und Dependency-Injection-Systeme mit der Routing-Infrastruktur von webforJ zu integrieren.