Jmix modules support status

Hello everyone,

I’d like to clarify our position regarding the status of some Jmix modules.

First, there is a number of modules that we currently consider as experimental:

They are located in public GitHub repositories and some of them even have released artifacts, but these modules have not been properly tested and documented yet. Also, we haven’t published them on Marketplace or announced that they are ready for use.

Probably we’ll finish the work on these modules in the future and prepare them for use, but we cannot promise any certain timeframes. At the moment, we cannot provide support for this unfinished functionality, so if you ask something about it here on the forum, your questions may remain unanswered.

Second, there is jmix-frontend repository which now contains different versions of the JavaScript frontend for Jmix. Let me explain our plans regarding this repository.

  • The release_0_9 branch contains the frontend module which works with Jmix backend through the generic REST API. It is a continuation of the CUBA frontend and is intended for projects migrated from CUBA if they have a frontend module. This branch is not in active development, but we are going to support it to fix regressions and critical bugs. There is a documentation here, including the migration instructions.

  • The master branch and release_* branches other than release_0_9 contain the experimental frontend working through the GraphQL API. We are going to limit the scope of this module to the TypeScript SDK only. The goal is to provide the high-quality solution for connecting arbitrary JavaScript/TypeScript frontends to a Jmix backend through the generic GraphQL API.

    Please be aware that in the near future everything related to React components will be removed from the master branch, and future releases will contain only SDK generator! Don’t use @haulmont/jmix-react-* NPM packages of version 1.0 or above!

Perhaps it was a mistake to make this work public without proper explanation of its status. I hope now it’s not too late and you will be able to correct your plans without much trouble.

As a general rule, we always publish modules ready for production use on the Marketplace. All other works may be unfinished, undocumented or unsupported, even if their source code and binary artifacts are publicly available.

Regards,
Konstantin

2 Likes

@krivopustov Does this mean the react client will not be supported going forward? Also, is there no option to create react native frontend in Jmix? Is it feasible to start a new Jmix project with a frontend module?

Yes, React client of versions 1.0+ will not be supported. Only version 0.9 will have a limited support for projects migrated from CUBA.

There is no React Native client in Jmix.

Nothing prevents you from making any kind of frontends in your project, working with Jmix backend through the generic REST or custom endpoints. It’s just a Spring Boot application after all.

@krivopustov Thanks for your response. As it relates to my last question, I meant is if I want to use React as my frontend and Jmix as my Backend then what is the best approach to do so . Should I create a separate create-react-app and use rest API to interact with the data models? Any recommendations would be greatly appreciated.