Making the Web Framework more robust is something we’ve been working on for years. This release doesn’t brings too many shiny new toys to play with, it comes with bug fixes instead that were tricky to fix. Here are some highlights.
Using a WebPopupMenu with a Keyboard
2024r4 comes with keyboard full support for WebPopupMenu. We’ve been gradually improving this control to allow your users to select a field using the arrow keys, for example. What’s new is being able to go directly to one of the item just by starting to type its name.
Memory Usage Improvements
Everyone does their best to avoid leaking memory but, sometimes, that’s just not enough.
Jérémie Leroy is known for the success of the mobile apps he makes with Xojo. When one of these successful app requires a Web Service, receiving 1000s of requests, it needs to be as lightweight as possible.
Thanks to his reports, the visual controls will be creating Tooltip and WebCSSClasses instances only when being used. For many projects this won’t make a difference, but having a Web project with hundreds of concurrent users will surely lead to less memory pressure, allowing to run Web apps in cheaper servers.
This task never ends. Upcoming releases will continue improving memory usage and performance.
WebMapViewer
The library we use to display maps, MapLibre, has been upgraded from 3.2.0 to 4.7.1, which will make much easier to implement some of the features we want to introduce in upcoming releases. Stay tuned!
This control also received 4 additional bug fixes. One of them was causing the Zoom to be modified, when updating another control property, for example.
Some New Features
While Web received mostly bug fixes this time, it also comes with some hidden gems.
Popover position can be adjusted now when displaying it. The positioning is relative to its parent control. Additionally, you can now use a WebPage as the parent control, instead of one of the page children, to place your Popover exactly where you need.
Last, but not least, my favorite new feature. We’ve added CallLater method to WebTimer. It works exactly the same as Timer.CallLater, but it’s Session aware. This means you will be able to access the Session from its callback, without having to do anything special.
Wrapping Up
We are saying goodbye to a 2024 packed with improvements for the Web target, with a release dedicated (more than usual) to bug fixing and to make everything more stable. Make sure to check Xojo 2024r4 Release Notes, so you don’t miss anything.
Thanks to everyone reporting bugs, making feature requests and collaborating in the forum!
Ricardo has always been curious about how things work. Growing up surrounded by computers he became interested in web technologies in the dial-up connections era. Xojo has been his secret weapon and language of preference since 2018. When he’s not online, chances are he will be scuba diving … or crocheting amigurumis. Find Ricardo on Twitter @piradoiv.