JHipster是一个开源平台,用于生成,开发和部署Spring Boot + Angular / React / Vue Web应用程序。Github上有超过15000个星星,它是Spring Boot最受欢迎的代码生成框架。但是,是否太过于大肆宣传?还是生成的代码太难维护?还是无法立即投入生产了?
首先要注意的是,JHipster本身并不是一个单独的框架。它使用yeoman和.jdl文件以便在Spring Boot中为后端生成代码,并在Angular或React或Vue中生成前端代码。在最初生成项目之后,您可以选择使用生成的代码而无需再次运行JHipster命令,或者使用JHipster来逐步增长项目并开发新功能。
JDL到底是什么?
JDL是特定于JHipster的域语言,您可以在其中使用用户友好的语法在一个文件(或多个文件)中描述所有应用程序,部署,实体及其关系。
您可以使用我们的在线 JDL-Studio 或 支持使用JDL文件的 JHipster IDE 插件/扩展之一。
用于Blog应用程序的简单JDL文件示例:
entity Blog { name String required minlength(3) handle String required minlength(2) } entity Post { title String required content TextBlob required date Instant required } entity Tag { name String required minlength(2) } relationship ManyToOne { Blog{user(login)} to User Post{blog(name)} to Blog } relationship ManyToMany { Post{tag(name)} to Tag{entry} } paginate Post, Tag with infinite-scroll
(banq注:这些是数据库表的定义,生成的代码是一种失血模型,DTO,失去业务价值。违背DDD)
使用哪些技术?
在后端,拥有以下技术:
在前端方面,使用了以下技术:
如何开始?
生成的代码和应用程序看起来如何?
如果您只想查看示例生成的应用程序而无需启动整个框架,则可以查看此Github官方仓库以获取最新的示例代码: https : //github.com/jhipster/jhipster-sample-app 。
优缺点都有什么
要记住的重要一点是,JHipster并不是解决所有问题的“灵丹妙药”,也不是所有新项目的最佳解决方案。作为一名优秀的软件工程师,您将不得不权衡该平台的优缺点,并决定何时使用它以及何时使用另一种方法更好。将JHipster用于生产项目后,这些是我所经历过的一些利弊:
优点
缺点
什么样的项目比较合适?
综上所述,重要的是要了解,有些项目可以从JHipster中受益匪浅,而有些项目如果不使用此平台,则会更好。
根据我的经验,一个不错的候选人是一个未开发的项目,该项目有望快速交付许多功能。从第一天开始,JHipster将极大地提高工作效率,并减少您需要编写的样板代码。这样一来,您就可以真正快速地进行功能开发。这对于期限紧迫的新项目,概念证明,内部项目,黑客马拉松和初创公司非常有用。
另一方面,不太理想的情况是,如果您已经启动并运行了一个项目,那么在这种情况下,JHipster将无能为力。如果应用程序具有很多特定的业务逻辑并且不是简单的CRUD应用程序,例如,一个AI项目,一个聊天机器人或一个不适合或不支持这些新技术的遗留生态系统,则为另一种情况。
JHipster,值得一试吗?
只有一种确定JHipster是否值得用于下一个项目的可靠方法,那就是自己尝试一下并尝试使用JHipster提供的不同功能和配置。
充其量,您将为下一个项目找到一个新的框架,并在下次启动项目时省去了很多工作。最糟糕的是,您将了解后端和前端的最新趋势,并从庞大的社区中学习一些最佳实践。