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 stringwaarden op basis van sleutel. Het systeem bestaat uit een vertaaloplosser die sleutels aan gelokaliseerde tekst koppelt, een HasTranslation concerninterface die een handige t()-methode biedt, App.getTranslation() voor directe toegang overal, automatische locale-detectie vanuit de browser en ondersteuning voor aangepaste vertaalbronnen zoals databases.
📄️ Browser Console
Het gebruik van de console van de browser om programmainformatie af te drukken is een essentieel onderdeel van het ontwikkelingsproces.
📄️ 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 vertraagt totdat een bepaalde tijd is verstreken sinds de laatste aanroep. Elke nieuwe aanroep 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
Namespaces in webforJ bieden een mechanisme voor het opslaan en ophalen van gedeelde gegevens over verschillende scopes in een webapplicatie. Ze stellen inter-component en cross-sessie datacommunicatie mogelijk zonder afhankelijk te zijn van traditionele opslagtechnieken zoals sessie-attributen of statische velden. Deze abstractie stelt ontwikkelaars in staat om toestand op een gecontroleerde, thread-veilige manier te encapculeren en toegang te krijgen. Namespaces zijn ideaal voor het bouwen van samenwerkingshulpmiddelen voor meerdere gebruikers of simpelweg voor het behouden van consistente globale instellingen, en laten je gegevens veilig en efficiënt coördineren.
📄️ 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
Weergave-overgangen bieden geanimeerde overgangen wanneer de DOM verandert, waardoor visuele schokken worden verminderd en de ruimtelijke context tijdens navigatie of inhoudsupdates 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 staten 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 voor het veilig bijwerken van de gebruikersinterface vanuit achtergrondthreads in webforJ-toepassingen. Deze experimentele functie maakt asynchrone bewerkingen mogelijk terwijl de thread-veiligheid voor UI-wijzigingen behouden blijft.
📄️ 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.