Advanced Topics
📄️ Error Handling
Fehlerbehandlung ist ein entscheidender Aspekt bei der Entwicklung zuverlässiger Webanwendungen. In webforJ ist die Fehlerbehandlung so gestaltet, dass sie flexibel und anpassbar ist, sodass Entwickler Ausnahmen auf die Weise behandeln können, die am besten zu den Bedürfnissen ihrer Anwendung passt.
📄️ Lifecycle Listeners
Das AppLifecycleListener-Interface ermöglicht externem Code, die App-Lebensereignisse zu beobachten und darauf zu reagieren. Durch die Implementierung dieses Interfaces können Sie Code zu spezifischen Zeitpunkten während des Starts und Herunterfahrens der App 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 zur Verwaltung der App-Lokalisierung. Die Lokalisierung bestimmt, welche Sprache und regionalen Formatierungen in der gesamten App verwendet werden. Komponenten können auf Änderungen der Sprache reagieren, indem sie das LocaleObserver-Interface implementieren, wodurch die Benutzeroberfläche sofort aktualisiert wird, wenn der Benutzer die Sprache wechselt.
📄️ Translation
webforJ enthält ein integriertes Übersetzungssystem zum Abrufen lokalisierter Zeichenfolgen über Schlüssel. Das System besteht aus einem Übersetzungsresolver, der Schlüssel auf lokalisierte Texte abbildet, einem HasTranslation Concern-Interface, das eine bequeme t()-Methode bereitstellt, App.getTranslation() für den direkten Zugriff überall, automatischer Erkennung der Regionaleinstellung aus dem Browser und Unterstützung für benutzerdefinierte Übersetzungsquellen wie Datenbanken.
📄️ Browser Console
Die Verwendung der Konsole des Browsers zum Drucken von Programminformationen ist ein wesentlicher Bestandteil des Entwicklungsprozesses.
📄️ MaskDecorator
MaskDecorator ist eine statische Dienstprogrammklasse zum Anwenden von Masken auf Zeichenfolgen, Zahlen, Daten und Zeiten außerhalb eines Eingabefelds. Es verwendet die gleiche Maskensyntax wie die masked field components von webforJ, was es einfach macht, Werte konsistent zu formatieren und zu analysieren—ob in einem Anzeigelabel, einem Table Renderer oder an jedem anderen Ort in Ihrer App.
📄️ Interval
Die Interval-Klasse repräsentiert einen Timer, der ein Ereignis mit einer festen Zeitverzögerung zwischen jedem Triggern auslöst.
📄️ 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 gewartet werden soll, bis der Benutzer mit der Eingabe aufhört, bevor eine Suchanfrage ausgeführt wird.
📄️ Browser History
Die BrowserHistory-Klasse in webforJ bietet eine hochlevelige API, um mit dem Verlauf des Browsers zu interagieren. Der Browserverlauf ermöglicht es Webanwendungen, die Navigation des Benutzers innerhalb der App nachverfolgen. Durch die Verwendung des Browserverlaufs können Entwickler Funktionen wie Zurück- und Vorwärtsnavigation, Zustandserhaltung und dynamisches URL-Management aktivieren, ohne vollständige Seitenaktualisierungen erforderlich zu machen.
📄️ Namespaces
Share thread-safe key-value state across sessions, thread groups, or the entire JVM using Private, Group, and Global namespaces.
📄️ 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
Übergänge bieten animierte Übergänge, wenn sich der DOM ändert, wodurch visuelles Stören verringert und der räumliche Kontext während der Navigation oder Inhaltsaktualisierungen aufrechterhalten wird. webforJ integriert sich mit der View Transition API des Browsers, um die Komplexität der Koordinierung von Animationen zwischen alten und neuen Zuständen zu handhaben.
📄️ 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:
🗃️ Repository
3 Elemente
📄️ Asynchronous Updates
Die Environment.runLater() API bietet einen Mechanismus zum sicheren Aktualisieren der Benutzeroberfläche von Hintergrundthreads in webforJ-Anwendungen. Diese experimentelle Funktion ermöglicht asynchrone Operationen, während die Thread-Sicherheit für UI-Änderungen gewährleistet bleibt.
📄️ Route Registry Provider
Der RouteRegistryProvider ist eine Service Provider Interface (SPI), die es Integrationsframeworks ermöglicht, benutzerdefinierte Mechanismen zur Routenentdeckung bereitzustellen. Dies ermögliche es Frameworks, ihre eigenen Klassenpfad-Scans und Dependency Injection-Systeme mit der Routing-Infrastruktur von webforJ zu integrieren.