Jmix: The Future of the CUBA Platform

Introduction

CUBA started its way back in 2008. Since then it went through a few very important stages. At first, it was an internal framework with no documentation and even less API. It was a company-wide thing that allowed Haulmont to develop Business Applications faster.

In 2015 CUBA was introduced world-wide under a proprietary license. We got just a few users that year — that was embarrassing. It became obvious that the licensing policy should be switched to open source.

CUBA: Getting Ready for Production

“It works on my local machine!” Nowadays it sounds like a meme, but the problem of development environment vs. production environment still exists. As a developer, you should always keep in mind that your application will start working in the production environment one day. In this article, we will talk about some CUBA-specific things that will help you to avoid problems when your application will go to production.

Coding Guidelines

Prefer Services

Almost every CUBA application implements some business logic algorithms. The best practice here is to implement all business logic in CUBA Services. All other classes: screen controllers, application listeners, etc. should delegate business logic execution to services. This approach has the following advantages: