If you keep up with our work, you may already know that here at Flowing Code, we’re passionate about contributing to the Open Source community and dedicated to delivering solutions that can help developers to build better applications. This year, as part of that commitment, we’ve successfully released eight new Vaadin add-ons. If you haven’t had a chance to explore them yet, let’s take a quick look at what each of these add-ons offers.
The New Add-ons
Day Of Week Selector This add-on simplifies the process of selecting specific days of the week which could be perfect for applications that require scheduling or managing recurring events. Its intuitive interface allows users to toggle between days easily and ensures a smooth user experience. |
Enhanced Tabs A powerful extension to the traditional Vaadin tabs component, Enhanced Tabs adds more flexibility in terms of styling and functionality. It allows you to create customizable tab layouts, manage complex tab interactions, and deliver an improved user experience with dynamic and visually appealing designs. |
Syntax Highlighter Leveraging React components for the first time, Syntax Highlighter enables beautifully styled syntax highlighting for code snippets within Vaadin applications. It’s perfect for applications that need to display code, such as technical documentation, coding platforms, or tutorials. This add-on was made possible thanks to Vaadin’s new support for integrating React components, as explained in more detail in our article here. |
Image Crop Another React-based add-on that allows users to crop images directly within their Vaadin applications. It provides an intuitive interface for selecting, resizing, and adjusting images, making it useful for content creation or profile image uploads. Like Syntax Highlighter, this was one of our first add-ons to integrate React components, taking advantage of Vaadin’s new capabilities. You can read more about this development here. |
Locale ComboBox This dropdown component enhances internationalization by displaying locale names alongside country flags. Users can easily switch between different languages or regional settings, making it easier to manage localization within your applications. It supports custom locale lists and provides seamless integration with the session locale. |
Lite Renderer Lite Renderer is an experimental add-on offering a lightweight alternative to Vaadin’s LitRenderer, designed to optimize rendering performance while keeping the code simple, in cases where speed is critical. It’s a great tool for developers looking for efficient ways to render dynamic content without the overhead of more complex rendering mechanisms. |
Markdown Editor This is another React wrapper add-on that allows users to both visually edit and view markdown content. With support for dark and light themes, as well as built-in markdown sanitization, this add-on offers a flexible and secure way to integrate markdown editing into your Vaadin applications. |
Upload Helper In its initial implementation this add-on enhance the file upload workflow by providing a Flow API for manipulating the vaadin-upload-file element. |
Updates and Maintenance
In addition to releasing new add-ons, we’ve been improving our existing ones, making sure they remain up-to-date and continue to deliver value to everyone using them.
Below, we highlight some of the key updates on two of our most popular add-ons:
Grid Exporter
- Improved Export Handling: Transitioned to StreamResourceWriter for smoother export operations, ensuring larger data sets are managed more efficiently.
- Concurrent Export Limit: A cap on simultaneous exports optimizes system resources and prevents overloads.
- Enhanced Error Management: Better exception handling provides clearer feedback and more robust export stability.
- Auto-Cancel on UI Close: Possibility to enable downloads to automatically cancel if the UI closes, preventing redundant processes.
- Export Button Control: A configurable setting to disable the export button during active downloads, reducing accidental double-clicks.
- Single-Column and Style Fixes: Addressed bugs for cleaner exports with custom styling.
- Multiple Header Row Export Support: Header management was enhanced to allow multiple header rows to be exported. This feature is only available for Excel exporting.
Google Maps
- Polyline Support: You can now add and manage polylines on the map.
- Customizable Marker Icons: This new feature allows you to customize marker icons, giving more control over how points of interest appear on the map.
- Current Location Tracking: We’ve added support for tracking the user’s current location. We already covered this feature in one of our latest blog posts. Read it here.
- Full-Screen Mode Detection: The add-on now includes an API to detect whether the map is in full-screen mode and gives the possibility to close it programmatically.
- Map Styling with Stylers: The new API allows you to apply custom styling to map features and elements using stylers, providing a more personalized and polished look.
- Custom Controls: Developers can now add and remove custom controls on the map, offering more interactivity and user-defined actions.
Additionally, the following add-ons received significant updates this year:
Ensuring Vaadin Compatibility
A key part of our ongoing work is ensuring that our add-ons remain fully compatible with each new Vaadin release. We continuously update and maintain our add-ons to align with the latest versions and keep them working as expected.
Community and Contributions
We are extremely thankful to the community for being incredibly active this year, contributing by creating pull requests, reporting issues, and suggesting enhancements for our add-ons.
In order to facilitate this engagement and streamline the contribution process, we’ve added templates for Bug Report and Feature Request to each add-on repository. These templates provide clear guidelines for users and ensure that feedback is organized and actionable. Additionally, each repository contains detailed information on how to contribute by creating Pull Requests. The detailed explanation can be found in the Contributions section of the README file. This information is also available in our GitHub landing page.
Direct Publishing to Maven Central
Since late last year we took a significant step forward in improving accesibility to our add-on by publishing them directly to Maven Central. Here’s why this change matters:
- Global Accessibility: Maven Central is one of the most widely used and stable artifact repositories which making our add-ons easily accessible to developers around the world without the need for additional repository configuration.
- Simplified Dependency Management: As Maven Central is already preconfigured in most build tools developers can add our add-ons to their projects with minimal setup.
- Corporate Compatibility: Many organizations only allow Maven Central as their sole external repository which makes our add-ons accessible even within restricted environments.
- Improved Security: Publishing directly to Maven Central ensures our add-ons are verified and signed for secure and reliable usage.
- Automatic Updates: Quick access to the latest versions simplifies keeping projects up-to-date.
By using Maven Central, we provide developers with a more accessible, secure, and reliable way to enhance their applications when choosing our add-ons.
Enhancing Documentation Access with Javadoc Navigator
We know how essential well-organized documentation is to the developers, so in addition to releasing and maintaining add-ons, we developed Javadoc Navigator, a web application designed to provide on-demand navigation for Javadoc files of Maven artifacts. Kudos to Javier for making this happen!
This tool dynamically retrieves Javadoc files directly from Maven repositories, ensuring it’s always up-to-date with the latest releases. Why is this an invaluable resource? Check it out:
- On-Demand Retrieval: Ensures users access the most up-to-date documentation by fetching Javadocs on demand.
- Multiple Version Support: Allows users to easily switch between different artifact versions. Defaults to the latest release if none is specified.
- Multiple Repository Support: Enables retrieval of artifacts from any Maven repository (not only Maven Central, but also Vaadin Add-ons repository and custom repositories).
- Snapshot and Release Support: Supports both releases and snapshot versions of artifacts.
- Caching: Maintains a cache of artifact versions in geographically distributed data centers.
Thanks to this tool, all documentation for our add-ons is now hosted at javadoc.flowingcode.com. Each add-on repository also features a convenient badge in the README, offering a direct link to that add-on’s Javadocs—making documentation even easier to find and navigate.
But that’s not all. Here’s where it gets even more interesting! If you’d like to host your own documentation, we can make that happen by whitelisting your Maven coordinates. Just reach out to us here to get started.
Keeping the Code Flowing
We’re incredibly proud of what we’ve achieved this year and remain dedicated to sharing our work with the Open Source community. Stay tuned for future releases and updates!
Remember you can follow us on X, LinkedIn, Instagram and Threads to get the latest news.
Thank you for supporting our add-ons and motivating us to keep the code flowing!
Join the conversation!