Learning Cuba platform and prerequisites


I am very new to Java, Spring and Cuba development but have much experience in other technologies (BI and databases). I was looking for a RAD platform to build a SaaS application and came across Cuba platform

My question would be what is the easiest way to learn Cuba platform and also the more advanced stuff behind the Cuba studio. To learn Java EE< Spring framework looks to me very huge topic. If learning Java EE and Spring is a must, could somebody point me to the right direction, suggest some good books or courses.

I would subscribe to PRO edition but need to be sure that I can grasp the material.




I am also very new to the Cuba Platform, and have only been working with it for a couple of weeks.

Knowing Java EE and Spring is absolutely not necessary - Having database skills is more important - I know nothing about Java EE and Spring :-).

I have been using Grails which is based on Groovy which can also be used in Cuba. I find coding in Groovy much simpler than Java, so I enable that in Cuba projects and do all the coding in Groovy.

Compared to coding in Grails, I must say that the Cuba Platform is really amazing. I have been able to create a rather advanced prototype in Cuba in 3-4 days, which would have taken me at least 10-14 days in Grails.

I have not seen anything as productive as the Cuba Platform.



Hi Darius,

I agree with Torben that knowledge of Java EE and Spring is not necessary, and understanding databases is much more important for developing on CUBA.

However, a programming language (Java or Groovy) is also needed. I would suggest Java, at least because it is statically typed and thus has a better support from IDE.

Get familiar with your IDE - I would suggest IntelliJ IDEA Community. We provide an advanced plugin for it, with CUBA-specific navigation, inspections and code completion.

Perhaps the only programming concept outside of the language that you need to understand from the beginning is Dependency Injection.

In fact, everything that I mentioned above can be learned as you go, during the work on real projects. Use Studio for scaffolding, see what code is generated. Use search abilities of the IDE to see how some program object is used inside the platform itself. See samples, ask questions here :slight_smile:

Thanks Torben and Konstantin :slight_smile: