Jmix is a high level framework for the rapid development of enterprise applications with rich web interfaces. The platform abstracts developers from underlying technologies so they can focus on the business tasks, whilst retaining full flexibility by providing unrestricted access to low level code.

Languages supported:

9.8/10 (Expert Score) ★★★★★
Product is rated as #2 in category Java Web Frameworks Software
Ease of use
8.5
Support
0.0
Ease of Setup
0.0

Images

Check Software Images

CUBA Platform provides Rapid Application Development environment for easy start and fast development of modern business web applications on Java. CUBA ecosystem combines:

– Modern and scalable architecture with solid and intuitive API based on mainstream JVM technologies
– A marketplace with a rich collection of ready-to-use add-ons that cover all typical requirements for business applications and can be enabled with a mouse click.
– CUBA Studio – a RAD IDE on top of IntelliJ IDEA with awesome visual designers and code generation capabilities that keep developers out of boring routine and facilitate fast learning.

The framework is open source with Apache 2.0 license. Full documentation, guides, video tutorials and a prolific community forum are available at www.cuba-platform.com.

Show more categories

Customer Reviews

Jmix Reviews

Mario D.

Advanced user of Jmix
★★★★★
Very strong Java framework for business applications

What do you like best?

The framework covers most of the non-functional needs a business application has, out of the box. These are capabilities like "Soft deletion", "Audit Log", "Row Level Security". In its nature as a Meta-Framework (building upon existing Java Libraries & Frameworks), it has a rock-solid basis. Spring, JPA, Vaadin as well as Gradle are in itself very mature and powerful.

As CUBA is also a Full-Stack Framework, covering all the aspects of building a business web application, it allows you to speed up the development of applications easily by the factor of 2-3.

This is achieved on the one side by the fact that what you develop - you will develop faster. This is mainly achieved by a lot of good (business-app required) abstractions and also because the code generation of CUBA studio frees you up from typing a lot (and testing it).

On the other side by the fact that you just don't need to develop certain things on your own, that you would otherwise have to implement with non-trivial sub-project efforts (a good example of that is the "generic Filter capability for Tables / Data Grids). Another example is the reporting capabilities that are shipped as an open-source addon.

For the dedicated business logic, CUBA does not at all stand in your way. In this respect, the code that you will write is almost exactly the same as any other kind of Spring application. It might just change your mind in terms of what you associate with the term "business logic" because a lot of code that you have previously written is just gone (because of the above-mentioned points).

CUBA lets you focus on the really important things in business applications: encoded business rules that drive the ultimate purpose of the business application at hand.

What do you dislike?

CUBA embraces the Vaadin approach of web development: write UI code in Java. When it comes to UI development it in fact is very efficient, but also not the most natural thing to do. When you come from a JS background, this requires somewhat of different thinking (although the UI APIs are not really problematic to grasp over other technologies). One example of this: In the JS react world "everything is a component". This is theoretically also true for Vaadin, but in practice, it requires more work to create custom components.

Moreover, with Vaadin, you inherit the architectural model of the UI Framework, which is stateful on the server-side. This is also not the most prominent architecture nowadays (2020), but it turns out (again) for business applications with limited scaling requirements (scaling in the sense of "Facebook order-of-magnitude" kind of scaling). CUBA applications can easily scale up to 10.000+ concurrent users (and probably millions of non-concurrent users), but with different resource requirements over a stateless 12-factor application.

But this is only bound to its Vaadin based front-end. It is also possible to replace Vaadin with a React-based FE, which will eliminate this "downside". But as there is also no free lunch in the JS-based world, a couple of standard functionalities from CUBA & Vaadin will have to be re-implemented then. Also, the Javascript Ecosystem comes with its own complexities and drawbacks.

Recommendations to others considering the product:

Take a loot at the very good documentation: Getting started videos, in-depth guides as well as official documentation. Additionally, the forum is a very welcoming and beginner-friendly starting point.

What problems are you solving with the product? What benefits have you realized?

SaaS products, internal tools, Systems in the insurance domain, finance domain, and public sector as well as probably any kind of Line of Business applications.

The benefits are mainly time to market, quick iteration cycles for getting user feedback, UIs that "just work", absence of a lot of bugs that I would have otherwise most likely implemented, and probably hundreds of thousands of dollars in savings of actual development time & opportunity cost of development time.

Review source: G2.com

Leave a reply

Your total score

B2B Software Guide