If you're still using Jmix 1, now is the perfect time to migrate to Jmix 2. Built on a modern, actively supported technology stack and packed with powerful new features, Jmix 2 offers significant advantages over its predecessor. This article explores why upgrading to Jmix 2 is a strategic move for your development projects, enhancing productivity, security, and user experience while future-proofing your applications.
Modern Technology Stack for Enhanced Security and Performance
Jmix 2 is built on a cutting-edge technology stack, including Spring Boot 3 and Vaadin 24, which are updated with each Jmix feature release every four months. In contrast, Jmix 1 is tied to Spring Boot 2 and Vaadin 8, both of which are no longer officially supported. This means Jmix 1 is limited to critical bug fixes and select security patches, with some third-party dependency vulnerabilities unfixable due to incompatibility with newer versions.
With Jmix 2, regular dependency updates ensure your applications benefit from the latest security patches, reducing vulnerabilities and enhancing safety. Additionally, newer Java versions in Jmix 2 deliver improved performance and modern language features, enabling developers to write cleaner, more efficient code. This forward-looking approach ensures your applications remain secure, performant, and aligned with industry standards.
Mobile-Friendly and Customizable UI with Vaadin 24
Jmix 2 leverages Vaadin 24 to deliver a mobile-friendly user interface out of the box. Unlike Jmix 1, which requires separate mobile applications or complex workarounds, Jmix 2 supports responsive layouts, allowing you to optimize your UI for mobile devices without additional development effort. This streamlines development and ensures a consistent user experience across desktops, tablets, and smartphones.
Moreover, Vaadin 24 provides greater control over your application’s look and feel. With direct access to DOM elements and straightforward CSS styling, customizing the UI is simpler than ever. Jmix 2 also includes Java wrappers for standard HTML elements like div
, span
, p
and hr
, making it easier to create tailored, visually appealing interfaces that align with your brand. Additionally, the frontend part of Jmix 2 is now based on the web components standard, significantly simplifying the integration of third-party JavaScript components and libraries, enabling developers to enhance their applications with a wider range of modern tools and functionalities.
Enhanced Navigation and User Experience
Jmix 2 introduces standard browser navigation for opening views, aligning with familiar web browsing behaviors. Users can now open views in new browser tabs via the context menu and use deep links to access specific application views directly. For those who prefer the Jmix 1 approach of opening screens in internal tabs within a single browser tab, Jmix 2 offers the optional Tabbed Application Mode add-on, providing flexibility to suit different preferences.
New Features and Improvements in Jmix 2
Jmix 2 introduces a range of powerful add-ons and functionalities that are absent in Jmix 1, empowering developers to build more sophisticated applications with less effort:
- Kanban Add-on: visualizes project workflows with a Kanban board component, using cards for tasks and columns for project stages.
- Superset Add-on: allows you to embed Apache Superset dashboards into your Jmix application views, enhancing data visualization capabilities.
- UI Constraints Add-on: manages UI component visibility and accessibility using declarative policies in resource roles, even for components not tied to the data model.
- OpenID Connect Add-on: simplifies external authentication with providers like Keycloak, mapping user attributes and roles to Jmix users seamlessly.
- REST DataStore Add-on: allows you to easily integrate external Jmix applications, accessing remote entities through the
DataManager
interface as if they were local, with full CRUD functionality. - Authorization Server Add-on: provides authentication for REST APIs in compliance with OAuth 2.1, ensuring secure and standardized API access.
- OpenAPI Integration in Studio: configures OpenAPI client generators and automatically generates DTO entities, mappers, and services for integration with external REST APIs.
- Data Repositories: built on Spring Data, Jmix 2’s data repositories combine the simplicity of repository interfaces with advanced Jmix data access features like data access control, entity events and cross-datastore references.
- Entity Comments: lets you add comments to data model entities and attributes, improving documentation and collaboration.
Jmix 2 brings notable enhancements to existing features, streamlining development and improving usability:
- Studio UI Preview: unlike Jmix 1’s schematic previews, Jmix 2’s Studio shows views with real components and styles, closely mirroring the running application.
- Hot Deployment Status: a new icon in Studio indicates the hot deployment status of view controllers, descriptors, message bundles, and roles, keeping developers informed about the delivery of the latest changes in the source code to the working application.
- UUIDv7 for Entity Identifiers: Jmix 2 uses UUIDv7 for entity identifiers, significantly boosting database operation performance compared to Jmix 1.
Closing the Gap: Grouping DataGrid Coming Soon
The only notable feature missing in Jmix 2 compared to Jmix 1 is the GroupTable. However, this will be addressed with the upcoming Grouping DataGrid, set for release in October 2025. Once implemented, Jmix 2 will surpass Jmix 1 in every aspect, making it the definitive choice for modern application development.
Jmix AI Assistant and Growing Ecosystem
Jmix AI assistant is optimized for Jmix 2 development, offering superior guidance compared to Jmix 1. Additionally, Jmix 2 benefits from a rapidly expanding ecosystem of documentation, guides, learning courses, and code examples. Unlike Jmix 1, which is in maintenance mode with only critical updates, Jmix 2’s resources are continuously improved, providing developers with more comprehensive support. This growing knowledge base also enhances compatibility with third-party AI assistants, making Jmix 2 projects easier to develop and maintain.
Future-Proof Your Development with Jmix 2
Jmix 2 is a dynamic, evolving platform that receives new features and improvements every four months, ensuring your applications stay current with the latest technologies. In contrast, Jmix 1 is in maintenance mode, receiving only critical fixes. By migrating to Jmix 2, you gain access to a modern, secure, and feature-rich framework that enhances developer productivity and delivers superior user experiences.