CUBA 7 新特性(上篇)

CUBA 7 新特性(上篇)

 

  三年前,我们宣布了 CUBA 框架的第二个公开的主版本。CUBA 6 是改变游戏规则的版本 - 框架的许可从私有化变成了公开的 Apache2.0。那些日子里,我们甚至猜不到这个变化会最终将框架带向何方。随之而来的是,CUBA社区开始呈指数级增长,从中我们学习到许多开发人员可能使用框架的方法(有时甚至是不可能的方法)。现在我们很高兴的宣布 CUBA 7 的发布,通过这个版本,我们希望那些刚刚开始CUBA和Java之旅的社区成员能更加顺利和快乐的成长为熟练的企业级开发人员或者Java专家。

CUBA 7 新特性(上篇)

 

开发工具

  显然,CUBA 的成功很大一部分要依赖于 CUBA Studio。它极大的简化了繁琐的 Java 企业级开发任务,很多地方被简化成只需要在可视化编辑器进行简单的配置即可,不需要了解Persistence API 或者 Gradle,甚至不需要了解 Spring 就能开发出来完整的、功能丰富的CRUD 应用程序。这一切,Studio就能帮你完成。

CUBA 7 新特性(上篇)

  以前,Studio 是一个单独的 web 应用程序,这样会有一些明显的局限:

  l 首先,Studio 并不是功能完备的 IDE,所以开发者需要经常在 Studio 和 IntelliJ IDEA 或者Eclipse 之间切换,以便在 IDE 中开发业务逻辑,也能更好的利用 IDE 方便的导航、代码完成功能和其他必要的功能。来回地切换有时候很烦人。

  l 其次,Studio 的简单性是建立在大量的源码解析和生成的基础上。所以,要提高代码生成的能力也就意味着要朝着开发功能完备的IDE方向努力 - 这个想法太过雄心勃勃了。

  最后我们决定依靠另一位巨人的肩膀来解决这些局限。现在 Studio 跟 JetBrains 开发的IntelliJ IDEA 合并了。现在可以将 Studio 作为 IntelliJ IDEA 的插件安装或者下载单独打包的版本。

CUBA 7 新特性(上篇)

 

  这个方法为我们开辟了新的视野:

  l 能支持其它JVM的开发语言(首先就是Kotlin)

  l 提升了热部署的能力

  l 整个项目中能更直观的导航

  l 更聪明的代码生成和提醒

  现在新的Studio正在积极的开发中:我们正在移植旧版本的功能。短期计划还包括使用原生IntelliJ UI重新实现基于 Web 的设计器,并改善项目导航体验。

技术栈升级

  跟以前主版本升级一样,这次底层的技术栈也做了升级,比如 Java 8/11,Vaadin 8,Spring 5。

CUBA 7 新特性(上篇)

  默认情况下新项目会使用Java 8,但是也可以通过在build.gradle中添加下面的内容来指定需要的Java版本:

 

CUBA 7 新特性(上篇)

  升级到Vaadin 8是个不小的挑战,因为Vaadin的数据绑定API发生了很大的破坏性变化。但使用CUBA的开发者很幸运,因为CUBA为开发者提供了统一封装的自有API层,屏蔽了底层Vaadin的内部结构。CUBA开发团队做了大量的工作,重新实现了很多内部逻辑以保持CUBA自有的API不变化。也就是说,这很好的保持了CUBA框架的兼容性,不需要做任何重构就可以直接移植到CUBA 7并享受Vaadin 8带来的好处。

  依赖库的完整升级列表可以在官方的  中找到。

新的界面API

  这一小节也可以称为 “第一版界面API”,因为CUBA之前没有任何官方的声明在web客户端层有API存在。界面API基于框架的历史,也基于我们最初的一些假设:

  以声明为中心的方法 - 所有可以以声明式描述的,都应该在界面描述文件中声明,而不是在其控制器中编码。

  标准界面(浏览和编辑界面)提供具体的通用功能,一般不需要修改。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppxwd.html