使用CUBA.Platform快要有一年了,从最初的难以理解和比较抵触,到现在真的有点喜欢这个框架,中间也确实经历了不少事情。
先简单介绍一下CUBA平台,这个框架是基于Spring的一个Java开发框架,目前的版本采用典型的三层架构,ORM层使用的是EclipseLink,中间件层使用的是Spring,展示层使用的是Vaadin(web client),Swing(desktop client)和Polymer(web portal)。所以其核心还是以Spring为中心的Java EE框架。
由于之前我用的Hibernate+Spring boot+Angular的技术架构,所以刚开始接触CUBA的时候会比较抵触,主要有这几个方面:
使用了不少xml,其中Spring bean的配置、view(EclipseLink的视图)的配置、REST service的配置、页面结构的配置等等,基本都是用xml来做。对于习惯了Spring boot的开发者来说,可能是会觉得比较麻烦。但是其实xml配置也有一个好处,就是配置都集中在xml文件里,而不会分散在各个包内。
使用了Vaadin框架作为前端页面实现。CUBA本身支持三种前端,包括基于Vaadin的web client,基于Swing的desktop client,还有基于Polymer的web portal。其中Vaadin和Swing都是用Java语言写的前端,只有Polymer是google的框架,使用的是纯前端的技术。Vaadin有个问题就是做样式调整需要后端人员配合,这样的话,