Advanced Topics
📄️ Error Handling
Foutafhandeling is een cruciaal aspect van de ontwikkeling van betrouwbare webapps. In webforJ is foutafhandeling ontworpen om flexibel en aanpasbaar te zijn, waardoor ontwikkelaars uitzonderingen kunnen afhandelen op een manier die het beste aansluit bij de behoeften van hun app.
📄️ Lifecycle Listeners
De AppLifecycleListener interface stelt externe code in staat om app-levenscyclusgebeurtenissen te observeren en erop te reageren. Door deze interface te implementeren, kun je code uitvoeren op specifieke momenten tijdens het opstarten en afsluiten van de app, zonder de App-klasse zelf te wijzigen.
📄️ Web Storage
Webopslag is een fundamenteel concept in webontwikkeling dat websites in staat stelt om gegevens aan de clientzijde op te slaan. Dit stelt webapplicaties in staat om status, voorkeuren en andere informatie lokaal op de browser van de gebruiker op te slaan. Webopslag biedt een manier om gegevens te behouden tijdens pagina-herladingen en browsersessies, waardoor de noodzaak voor herhaalde serververzoeken vermindert en offlinemogelijkheden worden ingeschakeld.
📄 ️ Locale Management
webforJ biedt ingebouwde ondersteuning voor het beheren van de app-locatie. De locatie bepaalt welke taal en regionale opmaak in de app worden gebruikt. Componenten kunnen reageren op wijzigingen in de locatie via de LocaleObserver-interface, waardoor de gebruikersinterface onmiddellijk wordt bijgewerkt wanneer de gebruiker van taal wisselt.
📄️ Translation
webforJ bevat een ingebouwd vertaalsysteem voor het opzoeken van gelokaliseerde strings op sleutel. Het systeem bestaat uit een vertaalresolver die sleutels aan gelokaliseerde tekst koppelt, een HasTranslation concern interface dat een handige t() methode biedt, App.getTranslation() voor directe toegang overal, automatische provinciale detectie vanuit de browser en ondersteuning voor aangepaste vertaale bronnen zoals databases.
📄️ Browser Console
Het gebruik van de console van de browser om programmainformatie af te drukken is een essentieel onderdeel van het ontwikkelingsproces.
📄️ MaskDecorator
MaskDecorator is een statische utilityklasse voor het toepassen van maskers op strings, getallen, datums en tijden buiten een invoerveld. Het gebruikt dezelfde maskersyntax als de gemaskeerde veldcomponenten van webforJ, waardoor het eenvoudig is om waarden consistent te formatteren en te parseren—of het nu in een displaylabel, een Table renderer, of op een andere plek in je app is.
📄️ Interval
De Interval klasse vertegenwoordigt een timer die een evenement met een vaste tijdsvertraging tussen elke trigger activeert.
📄️ Debouncing
Debouncing is een techniek die het uitvoeren van een actie uitstelt totdat er een bepaalde tijd is verstreken sinds de laatste oproep. Elke nieuwe oproep reset de timer. Dit is nuttig voor scenario's zoals zoeken terwijl je typt, waar je wilt wachten tot de gebruiker stopt met typen voordat je een zoekopdracht uitvoert.
📄️ Browser History
De BrowserHistory klasse in webforJ biedt een high-level API om interactie te hebben met de geschiedenis van de browser. Browsergeschiedenis stelt webapplicaties in staat om de navigatie van de gebruiker binnen de app bij te houden. Door gebruik te maken van browsergeschiedenis kunnen ontwikkelaars functies mogelijk maken zoals terug- en vooruitnavigatie, staatbewaring en dynamisch URL-beheer zonder volledige pagina-herlaadacties.
📄️ 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
Bij het ontwikkelen van applicaties met webforJ is het essentieel om te definiëren hoe je app zich gedraagt wanneer deze beëindigt of een fout tegenkomt. Het framework biedt mechanismen om deze gedragingen aan te passen via terminate en error acties.
📄️ View Transitions
View-transities bieden geanimeerde overgangen wanneer de DOM verandert, waardoor visuele verstoringen worden verminderd en de ruimtelijke context tijdens navigatie of contentupdates behouden blijft. webforJ integreert met de View Transition API van de browser om de complexiteit van het coördineren van animaties tussen oude en nieuwe toestanden te beheren.
📄️ Object and String Tables
De ObjectTable, SessionObjectTable en StringTable bieden statische toegang tot gedeelde gegevens in een webforJ-omgeving. Ze zijn overal in je app toegankelijk en dienen verschillende doeleinden:
🗃️ Opslagplaats
3 items
📄️ Asynchronous Updates
De Environment.runLater() API biedt een mechanisme om de UI veilig bij te werken vanuit achtergrondthreads in webforJ-toepassingen. Deze experimentele functie maakt asynchrone bewerkingen mogelijk terwijl de threadveiligheid voor UI-wijzigingen wordt behouden.
📄️ Route Registry Provider
De RouteRegistryProvider is een Service Provider Interface (SPI) die integratiekaders de mogelijkheid biedt om aangepaste route-ontdekkingsmechanismen te bieden. Dit stelt kaders in staat om hun eigen classpath-scanning en afhankelijkheidsinjectiesystemen te integreren met de routeringsinfrastructuur van webforJ.