2023 in review
Well, it’s time to sum up the main achievements of the Jmix team in 2023 and share our thoughts about the product’s future. Undoubtedly, the main accomplishment of 2023 was that we finally completed the transition to the latest Vaadin 24 and Spring Boot 3 in Jmix 2.0. That was a challenging path, and we hadn’t entirely anticipated all the difficulties we encountered. At the beginning of 2023, we even expected to maintain the ability for developers to use both options – Classic UI and Flow UI – in their Jmix projects. Unfortunately, this decision was heavily impacted by the upgrade from Spring Boot 2.7 to Spring Boot 3, accompanied by the javax to jakarta namespace change. This issue left no room for using both UI options in a single Jmix project. In order to support community members who had already launched projects with Jmix 1.X, we announced that it will become a Lont-Term Support (LTS) version, with the promise to transfer compatible innovations from further Jmix 2.X releases. You can find details in the dedicated blog post.
Good news – we’ve made a quantum leap with the new Vaadin 24 UI, bringing all the advantages of this great technology to the Jmix community. By the end of 2023, we had almost implemented the most popular UI components and nearly secured the existing developer experience for creating view layouts and events handling.
Nowadays we’re working hard on introducing Charts and enhancing Maps functionality by the end of Feb 2024. The top-rated add-ons have also migrated to the new Flow UI, and now you can find them available in the marketplace: Reports, BPM, WebDAV, Business Calendar, Notifications, Quartz Scheduler, Search, and Dynamic Attributes . With Flow UI, Jmix developers gain access to a modern and highly customizable technology for creating enterprise server-side UIs powered by web components, along with the advantage of using CSS styling. There’s no longer a need to perform exhausting operations to wrap up external JS components for their implementation in application views. You can find live examples with code in UI Samples. All Jmix views are responsive by default, with the ability to determine the visual style of the view layout based on the container’s size, utilizing a dedicated responsiveSteps tag in the descriptor.
Despite our earlier promises, we decided to suspend our research in the area of mobile UI development support in Jmix. After performing R&D around Flutter UI, we found it feasible. However, we considered it a risky area for further investment. Speaking to development teams worldwide in 2022-2203, we encountered a vast array of technologies they’ve become accustomed to for their mobile projects. Thus, Flutter still doesn’t appear to be a technology most teams are likely to adopt shortly. In contrast, on the server side, when it comes to enterprise software development in Java, there isn’t too much choice: Spring Boot and JPA are almost set. And this is exactly what Jmix excels at, especially in cases where you find Java server-side UI development more appealing than using JavaScript for your project. A significant advantage of implementing Vaadin 24 is that Jmix now has out-of-the-box support for PWA (Progressive Web Applications). In combination with business-oriented UI components library, you can create web applications that look native on mobile devices, offering the same developer experience. Please note, though, that it doesn’t support offline mode.
In 2023, we devoted significant effort to enhancing support for BPM application development in Jmix Studio. Jmix developers have got a single development platform based on IntelliJ IDEA Community Edition that supports all steps from process model to deployment:
- Design or import BPMN 2.0 diagrams;
- Generate process forms for user tasks;
- Connect service tasks with project-specific Spring beans;
- Deploy process within the application runtime, powered by an embedded Flowable BPM engine;
- Conduct business process test runs, including tools for fine tuning and monitoring.
And all these operations can be performed seamlessly without the need for additional tools or effort. You can find more details on this by visiting the following webinar. We’ve received encouraging feedback from the community on this development.
Finally, we introduced a useful feature of Quick Cloud Deployment. It allows you to deploy Jmix application to AWS with just a few clicks. Jmix Studio provides a guided path from configuring the deployment unit to getting a link to the deployed web application instance. This feature reduces the time and effort required to set up and run your application in the AWS cloud environment. Developers find it particularly attractive during the early stages of project development.
2023 in numbers
We’re pleased to report that the improvements made to Jmix in 2023 have significantly increased the technology’s popularity across various markets, with the most notable growth observed in Central Asia, China, Eastern Europe, Italy, Malaysia, North Africa, Spain, Switzerland, and Vietnam.
- 2023 Website visitors: 111 585, 1.5% up ↑
- 2023 Forum visitors: 59 300, 104% up ↑
- 2023 Docs visitors: 43 900, 49% up ↑
- Linkedin followers: 1055, 65% up ↑
- Monthly Active Users increased by 27% ↑
Furthermore, we’re proud to announce that in 2023, nearly 85% of our active commercial subscriptions were renewed. This achievement sets a new record for Jmix, demonstrating the high level of confidence our enterprise customers have in the technology. This support significantly contributes to the financial backing of Jmix further development plans.
Product plans for 2024
As we completed the transition to the updated technology stack, our team will primarily focus on developing new features for Jmix 2.X and enhancing educational resources for developers and newcomers. In 2024, we decided to prioritize the following development initiatives:
— Implement tooling and framework support for working with external data sources. We aim to enable Jmix support for automatic Java client generation based on the OpenAPI specification and mapping the APIs to the DTOs. We anticipate that this will simplify manipulating data from external sources in Jmix business logic and UI.
— Improve visual tools for working with the data model and UI. We understand that developers often face challenges when modifying previously generated views or starting a new layout from scratch. Therefore, we’re committed to making improvements in visual tooling, which should simplify fine-grained layout customizing. Moreover, we plan to introduce ER-model visualizing, a feature frequently requested by our community to analyze complex data models.
— Make Jmix data repositories available in views. In 2023, we introduced this feature but didn’t complete the path for connecting data from repositories with the UI. We’re determined to finalize the entire concept and make it developer-friendly.
— Enrich the UI components library for better end-user UX supporting a declarative layout design approach. We plan to create the GroupTable, Pagination, and Calendar UI component within Flow UI technology. Additionally, we intend to introduce enhanced support for declarative configuration of VirtualList component in the view descriptor.
— Introduce add-ons for business analytics - Dashboard and Pivot Table. Configurable tools for business analysis are essential for B2B applications, and we aim to enhance this functionality with the popular open-source technology – Apache Superset. Our R&D was completed in 2023, and it looks very promising.
— Position Jmix as a full-featured Business Process Automation (BPA) platform capable of meeting modern enterprise requirements:
- Support for developing applications using both an embedded and a standalone open-source BPM engine: Flowable in 2024 and Camunda support in 2025.
- Create a new customizable process Task List add-on, which can communicate tasks queue for both types of BPM engines – embedded and standalone.
- Create a new Process Monitoring tool that provides an Admin UI for managing process instances running on both types of BPM engines - embedded and standalone.
Java developers eager to adopt an open-source BPM engine for their next process automation project will find a ready-to-use backend platform and tools with a set of essential process management tools – Task List and Process Monitoring.
You may see that we’re committed to our strategy of maximizing performance for Java developers and teams when building modern B2B full-stack web-applications.
Community work plans for 2024
Another important aspect we’re going to strengthen is the developer on-boarding process. We understand that this is the key to spreading Jmix technology worldwide and scaling the community. In 2024, we’re planning to take a significant step forward in simplifying the on-boarding path for newcomers. Here are major highlights:
— Jmix AI Assistant – a web-based, LLM-powered chatbot will help find answers in seconds. It supports multiple languages. We have trained the AI Assistant using the documentation, forum, and UI samples knowledge base, and results look very promising. The Early Access Program (EAP) will be launched in Q2. We hope to make it available for everyone in Q3.
— Jmix Basics Free Learning Course at Udemy. Our training team has decided to focus on the Udemy learning platform and create a comprehensive course covering all basic topics. We anticipate its launch in April 2024.
— Free Jmix Studio RAD Subscription. Starting with Jmix 2.2 release in February 2024, every developer will be able to use Studio RAD features for free forever, but with limitations on the project size:
- Max entities – 10;
- Max roles – 10;
- Max views – Unlimited :)
If your project exceeds 10 entities and roles, the Studio will automatically transition out of the Jmix Free Plan, allowing you to proceed with your development unrestricted. However, you will no longer have access to the Jmix RAD features.
— Documentation Improvements. We plan to reveal the core concepts of the Jmix platform in a dedicated section and enrich add-ons description with specific tutorials showcasing use cases and related technologies. You can check the first results of the revamping the Maps add-on section of the documentation.
— More Sample Applications and Video Content. We plan to migrate Jmix Bookstore to Jmix 2.X and produce more video content demonstrating popular development tips.
And the last item, but not less important. Since the launch of the CUBA Platform, we’ve dreamt about opening the Jmix Marketplace for commercial third-party add-ons and solutions. During 2023, we discovered many useful apps created by our partners worldwide, and it looks like a promising growth area. In Q2, we’re planning to roll out our first deliverable solution – Timesheets. This is a relatively small but super important app for tracking time spent across different projects in teams. We believe this will encourage our partners to share their add-ons and solutions, creating new connections across the Jmix customer network.
Jmix 1.X and CUBA Platform support
Jmix 1.X platform will receive updates with the Jmix 1.6 release by mid-2024 as planned.
According to our support policy, we will provide the CUBA Platform with updates of third-party dependencies and bug fixes. Please keep in mind that in March 2025, the free maintenance period of CUBA Platform ends. In order to assist the community with migration to Jmix from the CUBA Platfrom, our service team is preparing additional resources to share valuable information about existing transition successful experiences. We plan to introduce a webinar and a whitepaper on this topic in Q2 2024. Recently, we have received questions concerning further support for Jmix 1.X and the CUBA Platform. You may find answers on most of them in the dedicated FAQ section.
That’s all for now. I hope to report that almost everything from the list has been accomplished as planned at the beginning of 2025! See you soon.
Stay connected and be productive.
FAQ CUBA Platform and Jmix 1.X maintenance
What should you do if you still have applications build with CUBA Platform?
Plan to upgrade to the latest Jmix version. If you cannot upgrade, make sure you run your application in a safe environment behind a firewall.
How would you get support for applications on CUBA Platform after 2025?
Call us.
How will we fix CUBA Platform and Jmix 1.X vulnerability issues within a free LTS support period?
The free support period for CUBA and Jmix LTS versions assumes that we fix critical security vulnerabilities and data loss bugs by providing new patch releases. If the problem is in our own code, we have complete control over the situation and can quickly resolve the issue. But if the problem is related to a third-party dependency, things become much more complicated. We had to wait until the vendor of the dependency publishes a new version with a fix, and then try to integrate that version into Jmix. It's not always possible, because sometimes issues are fixed in a new major version incompatible with the Jmix LTS version.
For example, Jmix 1.5 uses Spring Web 5.3, which has a major vulnerability related to Java deserialization of untrusted data. The Spring team has fixed it in 6.0 simply by removing the vulnerable code. But Jmix 1.x cannot use Spring 6.x because the latter requires jakarta namespace and involves many other major changes. So, on one hand, this vulnerability will always remain in Jmix 1.x, but on the other hand, it cannot be exploited in Jmix applications, because the vulnerable Spring code is never actually used.
In general, our approach to dealing with security vulnerabilities is the following:
- If the vulnerability is in Jmix code, we fix it and release a patch version.
- If the vulnerability is in a third-party dependency and there is a newer version of the dependency that we can integrate, we update the dependency and release a patch version.
- Otherwise, we analyze the real impact of the vulnerability on Jmix applications and provide recommendations to overcome possible consequences or at least to minimize the risk.
- We will also investigate any penetration test report with a scenario demonstrating a vulnerability to a Jmix application. We will do our best to provide solutions to real-world security problems, regardless of their source.
What have we promised by free LTS platform support?
See Jmix Release Versioning: "After the active support phase, a feature release moves to the maintenance phase. Maintenance means fixing critical security vulnerabilities and data loss bugs. Fixes are provided in a new patch release of the supported version." "If a critical security vulnerability or a data loss bug is caused by an external third-party dependency, we update the dependency if there is a newer fixed version. There may be cases when we may be unable to include the newer version of a dependency if architectural changes for that version prevent its usage in Jmix or the effort required to integrate the new version exceeds reasonable commercial efforts."
What should you do if you’ve already started the project with Jmix 1.X?
You should plan to upgrade to the latest Jmix version.