Frequently Asked Questions about Jmix
Jmix is a high-level full-stack framework designed for Java developers to create modern web applications. It comes with advanced tooling and a rich set of functional modules.
Jmix is intended for fast development of web applications with a large data model and complex UI aimed at internal users of an organization. There are various types of applications in this category, including just CRUD, an admin UI for a website, a business automation tool, a CRM or an ERP-class system. Anything that involves working with tens or hundreds of interconnected entities in hundreds or thousands of screens, while using mostly standard UI components like fields, forms and tables.
Jmix is based on Spring Boot, which is a de-facto standard for creating enterprise Java web applications. It means that you can use a lot of third-party libraries and frameworks with minimal configuration, in addition to the functionality provided by Jmix.
Jmix Studio is a plugin for IntelliJ IDEA that helps you at all stages of the application development: creating and configuring a project, defining data model, generating database migration scripts, developing UI views in a visual editor. It provides advanced navigation, code completion and inspections specific to Jmix projects.
Jmix is especially beneficial for developers looking to modernize their skills or for those just starting out. The framework offers a well-defined application architecture, along with extensive guidance, making it easier for developers to build and deploy robust web applications. By using Jmix, you can focus on the core business logic of your projects without being overwhelmed by complex setup processes, thus streamlining the entire development lifecycle.
The time it takes to start productive development with Jmix depends on your Java knowledge. If you already know Java, it usually takes about 1-2 weeks to get started. If you're new to Java, it might take 1-2 months to become productive.
To help you get started faster, we recommend beginning with the Jmix Quickstart guide.
Additionally, there’s a free course on Udemy called "Rapid Application Development with Jmix".
This course gives a good introduction and covers important topics for both beginners and experienced developers.
You can also check out the official Jmix YouTube channel, where you'll find tutorials, webinars, and other helpful videos. This channel is regularly updated with new content, so it's a great way to keep learning about Jmix.
If you have questions or need help while learning, you can join the Jmix Slack channel. It's a community where you can ask questions, share ideas, and get support from other developers and the Jmix team.
Using these resources can help you start developing productively with Jmix more quickly.
Yes, we offer a variety of training programs to help you learn Jmix effectively.
First, we recommend checking out our free course on Udemy. This course, titled "Full Stack Java Web Development | Jmix in Action," provides a solid foundation in Jmix. It covers essential topics such as:
- Effectively using Jmix Studio and its visual tools to streamline the creation of data models, DDL and DB migration scripts, UI views, and business logic.
- Getting familiar with several open-source Java technologies that form the foundation of the Jmix platform, including Spring, Vaadin, JPA, and Liquibase.
- Understanding the basics of application security and deployment.
For core clients or those who want to deepen their knowledge of Jmix, we offer specialized training programs. You can explore these options on our official training page.
These programs include Group Training sessions, ideal for collaborative learning, and Team Training sessions tailored specifically for developer teams. These structured programs are designed to help you enhance your skills and get the most out of the Jmix platform.
We provide both free and paid support listed below.
We offer a range of both free and paid support options to help you make the most of Jmix. Here’s an overview of what’s available:
Free Support:
Tutorial:
We provide a comprehensive 9-step tutorial that covers the essentials of Jmix development. This is a great starting point for anyone new to the platform.
Live Demo:
Explore live demos live demos of Jmix applications and UI samples. This allows you to see the UI components in action and learn how to use them effectively in your projects.
Documentation:
The Jmix platform team offers complete technical documentation, including detailed code examples. This is an invaluable resource for developers at any level.
Sample Projects:
Explore a variety of example projects on GitHub that demonstrate different use cases of Jmix. These samples provide practical insights and solutions that you can apply to your own projects.
UI Samples:
Discover a rich collection of Jmix UI components through the UI Samples application. The Cookbook section within the UI Samples app offers solutions to common UI-related challenges, helping you implement effective user interfaces in your applications.
Community Forum:
Our Community Forum is a free platform where you can find answers to popular questions or post your own queries. Community members and the Jmix platform team are active in the forum, providing support and sharing knowledge.
Slack Channel:
We also have a Slack channel where you can ask questions, share ideas, and get real-time support from other developers and the Jmix team. It’s a great way to connect with the community and get quick help when you need it.
Paid Support:
In addition to our free resources, we offer paid support options for those who need more personalized or advanced assistance. Our paid support plans include direct access to Jmix experts, priority response times, and dedicated support for complex issues. These services are ideal for core clients or teams working on mission-critical projects who need guaranteed support and guidance.
By offering a combination of free and paid support, we ensure that all users, from beginners to experienced developers, have the resources they need to succeed with Jmix.
Jmix provides tools that allow developers to automate the migration process from a legacy system. The process begins by transforming the existing data structure into a new data model. After this transformation, developers can generate standard data processing screens and configure the security system. Business logic can then be migrated by writing it in Java and using the built-in business process designer with BPMN 2.0 notation.
Jmix includes several tools to streamline this migration process:
- Database Reverse-Engineering: Automatically convert your legacy database structure into a modern Jmix data model.
- Standard Screen Generation: Quickly create screens for data processing, which reduces manual coding efforts.
- Declarative Security Settings: Easily configure security measures to match your new application's needs.
- Built-in Business Process Designer: Migrate business logic using BPMN 2.0 notation, allowing for a smooth transition of processes.
These tools enable developers to automate much of the manual work involved in migrating legacy systems, significantly reducing the time and effort required for the migration.
Yes, Jmix fully supports a microservices architecture. Developers can create new microservices within Jmix and easily publish them as Docker containers, ready for deployment to the production environment. Additionally, Jmix applications can interact seamlessly with other microservices within an enterprise's broader informational ecosystem, enabling efficient integration and communication across different services.
The Free plan provides everything you need to build fully functional applications with Jmix. However, it doesn't include the productivity features for large-scale projects or the advanced Add-ons available in the commercial tiers. We recommend using the Free plan in the following scenarios:
Small Projects:
If your project has a small data model, with no more than 10 entities and 10 access roles, the Free plan is well-suited to meet your needs. It allows you to develop and deploy your application without the need for additional tools or features.
Maintenance Stage:
If your project has completed its active development phase and is now in the support stage, with only occasional changes needed, the Free plan is a cost-effective way to maintain your application.
Experienced Developers:
If you have a mature skillset in Java and are comfortable investing more time into development and learning, the Free plan can be a great fit. It allows you to work on your projects without any upfront cost, though you may need to spend extra time on tasks that would be streamlined by the advanced features in the commercial plans.
For a detailed comparison of the Jmix subscription plans, you can refer to our Pricing page.
This comparison will help you decide whether the Free plan meets your needs or if you might benefit from upgrading to a commercial plan as your project grows.
In summary, while the Free plan is robust and capable, it’s best suited for smaller projects, maintenance tasks, or developers who are willing to invest more time into the development process.
Yes, the Jmix RAD plan is available for free for small projects. You can use all the visual designers and data migration tools included in the plan for projects containing up to 10 entities and 10 roles.
In Jmix, an "entity" refers to a Java class that represents a table in a database, not an individual record within that table. The limitation of 10 entities in the free plan means that you can utilize the advanced features of Jmix Studio for projects that have up to 10 Java classes representing tables (JPA entities) or up to 10 simple Java objects (DTO entities).
This limitation specifically applies to the number of entities and roles you can define within your project. Importantly, there are no restrictions on the number of records in your database or on the number of UI views you can create and manage in your application. You have full flexibility in these areas, allowing you to build and deploy a fully functional application within the given entity and role limits.
The free Jmix RAD plan is ideal for small-scale projects, prototypes, or developers who are just starting out and want to explore the capabilities of the Jmix framework without any upfront cost. It provides a powerful set of tools for developing modern web applications, even with these constraints, making it a valuable resource for small projects.
The Jmix license is a named license. This means it is associated with a specific developer profile and cannot be shared among multiple users. Each license is assigned to an individual developer, who must use their own profile to access the Jmix platform and its features.
A named license ensures that each developer has personalized access to the tools and resources provided by Jmix, allowing for a more tailored and secure development environment. This type of licensing is particularly beneficial for teams where individual accountability and secure access are important. It also helps in managing and tracking the usage of the software within an organization, ensuring that each developer has the necessary resources to work efficiently.
Yes, you can use your Jmix license on multiple workstations. Since the Jmix license is a named license, it is tied to your individual developer profile, allowing you to install and use Jmix Studio on different computers.
However, it's important to note that while you can switch between workstations, you cannot use the Jmix Studio simultaneously on multiple machines under the same license. The license allows you to work from different locations or devices, which is convenient if you have multiple work environments, such as a desktop at the office and a laptop for remote work.
If your Jmix subscription is about to expire and you have auto-renewal enabled, here's what will happen:
- Notification: You will receive an email reminder before the expiration date.
- Payment Attempt: We will attempt to charge your payment method for the next subscription period based on your subscription terms.
- Renewal: If the payment is successful, your subscription will be automatically renewed.
- If you prefer not to renew, you can disable the auto-renewal option in your profile settings.
If your subscription expires without renewal, your Jmix Studio will automatically switch to the Free plan mode, limiting your access to certain features available only in paid plans.
Yes, you can continue running your application that was built using Enterprise add-ons while your subscription was active. However, once your subscription expires, you will no longer be allowed to develop or modify your application using those commercial add-ons.
To continue development with Enterprise add-ons, you will need to renew your Enterprise subscription. Without an active subscription, your access to these advanced features will be restricted, limiting your ability to use them in new or ongoing development projects.
We encourage you to carefully consider your purchase decision, which is why we offer a trial period. The license fee is non-refundable, so it's important to buy the subscription only when you're certain you need it and will use it. If you're unsure, you can contact the community manager to request an extension of your trial period.
You need one named license key for each developer on your team. This means you will need as many license keys as there are developers involved in the project.
No, if your team is working on a project that uses commercial add-ons, each developer must have an active Enterprise subscription. It's not possible to mix RAD and Enterprise subscriptions within the same project, as the Enterprise subscription is required to access and develop with these advanced features.
Yes, you can add additional developer seats to your active subscription. To do this, simply log in to your personal account and click the "Manage" button. From there, you can increase the number of developer seats as needed.
Yes, you can upgrade your subscription plan. To do this, go to your subscription page and select the plan you want to switch to. The upgrade will take effect immediately, giving you access to the additional features of the new plan.
Yes, we offer free Academic licenses to official educational institutions and their students. To obtain an Academic license, you can submit a request through our website. This license provides access to the full features of Jmix, allowing students and educators to use the platform for educational purposes at no cost.
You can access the full text of the License Agreement on our website. It is available in the legal or documentation section, where you can review all the terms and conditions associated with using Jmix. This document outlines your rights and obligations as a user, so it's important to read it carefully.
There are no strict limitations on the number of users, but there are considerations based on how Jmix manages UI state and server memory. The standard Jmix UI stores objects reflecting the UI state in the users' web browsers within the application server memory. This means the maximum number of connected users is directly related to the available server memory (or the total memory across all cluster servers).
To estimate the number of users your server can handle, you should predict the maximum number of simultaneous users and calculate the memory requirements in advance. Typically, each user consumes around 5-10MB of memory. For example, a server with 10GB of available memory can support approximately 1,000 simultaneous users. Some of the largest applications developed with Jmix support over 10,000 simultaneous users.
When using separate frontend applications that connect to the Jmix backend via the REST API, there are no memory limitations because REST is stateless. This makes it a common practice to create a separate frontend for external users when the number of simultaneous users is likely to be unpredictable.
The platform is licensed on a per-developer basis. A license is required for each developer seat, meaning you will need a separate license for every developer working on the project. User seats, processes, environments, and use cases are not licensed and are not billed separately. This straightforward licensing model ensures that you only pay for the number of developers actively using the platform.
No, the number of end users does not affect Jmix license fees. You only pay for developer seats under the Jmix paid subscription plans. The fees are associated with the visual tools, templates, and add-ons that enhance your development team's productivity and enable faster delivery of digital products.
Jmix follows a per-developer subscription pricing model, which means you are not charged based on the number of end users (runtime pricing) or the value generated by your application (usage-based pricing). This model ensures that you have the freedom to deploy and use your Jmix applications without any restrictions tied to the number of end users.
We support both card payments and wire transfers. You can make a payment through the Store. If you prefer to receive a pro-forma invoice before making a payment, simply choose the "Offline payment" option during the checkout process.
A Company license is the standard licensing option for commercial and non-profit organizations. It allows the organization to purchase licenses that can be used by any single person within the company.
An Individual license is intended for private individuals who purchase the license with their own funds and solely for their personal use. These licenses cannot be purchased, refunded, or financed by companies. Please note that we regularly check the usage conditions to prevent any misuse or fraud.
Yes, we offer volume discounts for the Jmix Enterprise subscription plan. The discount increases with the number of developer seats purchased. The larger your team, the less you pay per developer.
Volume Discounts:
- 5 or more developers: 10% discount
- 10 or more developers: 15% discount
- 20 or more developers: 20% discount
- 30 or more developers: 25% discount
You can check the exact subscription prices for your team in the Store.
Yes, you can purchase a monthly subscription for the Jmix RAD plan. However, for the Jmix Enterprise plan, only an annual subscription is available.
No, you do not need to pay to distribute the apps created with Jmix. You fully own the applications you build with Jmix and can distribute and use them at any scale without any additional charges.
The payback period for the platform depends on whether you compare it to traditional development methods or an existing Low Code/BPM solution. To assist you in evaluating this, we've created a smart ROI calculator . This tool estimates the financial profit you can achieve by using Jmix for your project, helping you understand how quickly the platform can repay its cost.
It's also important to note that there are scenarios where you don't need to pay for Jmix at all:
Free Development:
You can start developing your application using the Jmix Free Plan, which provides all the essential tools without any cost.
No Ongoing Fees After Development:
Once your application is developed, you do not need to continue paying for Jmix to run your application. You fully own the application and can use it without any ongoing subscription fees.
These options make Jmix a cost-effective solution, especially for projects with limited budgets or those looking to minimize long-term costs.
With Jmix, you can develop a wide range of line-of-business web applications. Jmix is specifically designed for creating web applications with extensive data models and complex UIs, primarily tailored for internal users within an organization.
Examples of applications you can build with Jmix include:
- Simple CRUD (Create, Read, Update, Delete) applications
- Admin UIs for websites
- Business automation tools
- CRM systems
- ERP-class systems
These types of applications typically involve managing dozens or even hundreds of interconnected entities across hundreds or thousands of screens. They often use standard UI components like fields, forms, and tables, making Jmix an ideal platform for handling such complex and data-intensive projects.
Additionally, to understand the concepts and capabilities of Jmix, explore the "Principles" and "Key Features" sections in our documentation. These resources will provide you with valuable insights into the framework's design and functionality, helping you make informed decisions and use the platform more effectively.
The different Jmix subscription plans are designed to cater to the varying needs of development teams based on their skill sets, project specifications, and DevOps practices. Here's a breakdown of the key differences between the plans:
Jmix Free Plan:
Ideal for low-budget development and maintaining existing applications. It provides essential tools to get started with Jmix without any financial commitment.
Jmix RAD Plan:
Best suited for projects focused on building web CRUD applications and various Systems of Record. This plan offers advanced tools for rapid application development, making it perfect for teams that need to quickly deliver functional web applications.
Jmix Enterprise Plan:
Expands on the RAD plan by adding advanced features for business process and workflow automation, integration with Maps, and access to other premium application components. This plan is ideal for teams working on complex, enterprise-level projects that require more robust capabilities.
All subscription plans support distributed development teams through the built-in capabilities of IntelliJ IDEA, ensuring smooth collaboration across various locations.
For a detailed comparison, please refer to the Jmix plans comparison table plans comparison table on our website.
Yes, you can upgrade your plan at any time if the features of your current subscription no longer meet your needs. To do so, simply go to your profile and select the new plan that offers the additional features you require. You can also add more users to your subscription as needed. When upgrading, you will only be charged the difference in price between the current plan and the new plan.
You have several options for data storage. You can store your data in your self-hosted environment, giving you full control over your infrastructure. Alternatively, you can use a public cloud infrastructure if you prefer a managed service. For more detailed information, refer to the technical documentation.
Yes, Jmix is secure enough to build enterprise-grade applications. While some skeptics argue that open-source software is less secure than proprietary software, this is more of a theoretical concern. The key advantage of open-source code is that it can be reviewed by a much larger community, allowing for greater transparency and the potential to catch and address security vulnerabilities more effectively than in closed-source software.
Jmix, which is the successor of the CUBA Platform, has been developed as an open-source project since 2016. The platform team has consistently maintained a transparent product roadmap and managed issue tracking publicly on GitHub. This openness allows for deep code inspection, reducing the risk of hidden vulnerabilities.
While the maturity of the Jmix platform provides a solid foundation, security risks can never be entirely eliminated. Therefore, governance procedures are essential. The strong community behind Jmix, with over 25,000 members and more than 1,000 projects built on the platform, offers additional assurance of its reliability and security for building enterprise-grade applications.
Yes, Jmix supports secure user authentication through several options. In addition to the standard username-password authentication, you can integrate your Jmix application with an enterprise LDAP directory to synchronize end-user accounts. For secure external connections via API endpoints, Jmix also provides OAuth 2.0 authentication services, ensuring robust security for your application.
Yes, you fully own the applications built with Jmix. Since Jmix is distributed under the Apache 2.0 license, there are no significant limitations on the applications you create. Jmix Studio is only needed during development and is not required to run your application. If your application uses any add-ons from the Enterprise plan, you can continue using the local copy of those add-ons even after your subscription expires.
Yes, Jmix uses third-party libraries. You can find the full list of libraries used by the latest Jmix and Add-ons releases here and the list of libraries used in Jmix Studio here.
All the libraries we use are distributed under open-source, non-restrictive licenses such as MIT, Apache 2.0, EPL, and LGPL. We do not use libraries with "copyleft" licenses like GPL.
Please note that some Add-ons provide integration with products that may have a commercial license, such as Google Maps or amCharts. It is your responsibility to ensure proper usage of these products in compliance with their licenses.
Additionally, any forks of third-party libraries used in Jmix, Add-ons, and Studio are distributed under the same license terms as the original library.