
This is a living document and will be updated as students ask more commonly asked question.
Run the application by clicking the Run button and apply the generated changelog files. Log in with the standard credentials and explore the app via the main menu.
Explore component types in Jmix: visual components like data grids, input fields, date pickers, and buttons; layouts organize these components; non-visual data containers and facets coordinate loading and URL parameters.
Bind a rich text editor to a data container and a BlogPost entity to capture input, then persist via DataManager, enabling single transaction saves and persistent storage.
Explore how studio and its components library enable data-aware components, highlighting the generic filter and data grid for views that display multiple entity instances, illustrated by the Jmix Pet Clinic.
Explore the generic filter to query data by multiple criteria, create ad-hoc and saved configurations, and build complex conditions with and/or jpql expressions in runtime or design-time.
Add a search to the main menu to help users find items across nested levels. Implement a top filter field with a placeholder and css styling, then verify it works.
Learn practical navigation patterns for a chart gallery by using thumbnails, anchors and spans, routes, and the ViewNavigators beam to switch between chart variations and tab views via query parameters.
Configure a repeatable timer facet with a ten second delay that starts automatically, uses a stop method to delay code, and a handler to load flights, plus a simple notification.
Explore the settings facet to persist datagrid and tree datagrid column order, expansion, visibility, and page size, so destination column order and sorting persist after refresh.
Explore displaying views as dialogs or full screen using the dialog mode and dialogs interface, and create four dialogs for messages, option selection, input, and progress.
Build a dialog to compose an email for a selected customer in the datagrid, with a subject and a text area. Validate selection and use okay cancel actions to send.
=
Important version note: This course was created using Jmix 2. You can follow it using the latest Jmix 3.x version, with a few possible differences in screens, APIs, and Jmix Studio features.
=
Hello and welcome! With this course we invite you to join a guided journey on fast development of
enterprise-grade UI with Java and Jmix.
Jmix is an open-source platform for creating full-stack web applications in Java or Kotlin. It helps developers quickly and efficiently build various types of applications: from basic CRUD applications for internal use to highly specialized systems classified as ERP, CRM, EAM, SCM, WMS, ECM, ERM, HRM.
Unlike our introductory full-stack development course, this one is more targeted, placing a greater emphasis on UI. You will learn how to customize Jmix applications for different needs. However, due to Jmix's full-stack nature we'll also touch on its backend functionality. By observing a fully-featured web application you will gain valuable context for understanding the backend logic, which can often seem abstract when viewed through code alone.
The course covers a variety of frontend-related topics such as library of components, binding components to data, building custom views, setting up navigation and handling lifecycle events. Lessons are organized in a straightforward, step-by-step format. Each section in the course tackles an independent hands-on project focusing certain UI aspect. This will enhance your understanding and enable you to bring UI advancement to your own applications.
By the end of the course, you will have a solid understanding of frontend development with Jmix and the confidence to create more custom user interfaces for your applications.