JHipster技术简介

简介: WHAT - 技术栈JHipster是什么JHipster是一个开发平台,用于生成,开发,部署Spring Boot + Angular/React Web Application和Spring microservices。

WHAT - 技术栈

JHipster是什么

JHipster是一个开发平台,用于生成,开发,部署Spring Boot + Angular/React Web Application和Spring microservices。

img_abe2e178128aa4f3b6030f225e56666e.png

JHipster能做什么

JHipster可以自动化生成一个完整和现代的Web应用程序或微服务架构。

  • 基于Spring Boot框架的服务端,具备高性能和高可用的Java技术栈;
  • 基于Angular,React和Bootstrap的时尚,现代,移动优先的前端;
  • 基于JHipster Registry,Netflix OSS,ELK堆栈和Docker的强大的微服务架构;
  • 使用Yeoman,Webpack和Maven/Gradle构建应用程序的强大工作流程。

JHipster开发效率

以10个微服务,每个微服务包含1个数据表和4个UI界面(基本CURD界面)的开发规模为例:

工作项 人工开发(人天) JHipster开发(人天)
数据库建表 1 0
项目创建及配置文件编写 2 0
开发CURD代码 5 1
开发前端UI 10 1
合计: 18 2

在实际项目中因为定制化工作的需要,开发效率的差距会比这个小,但正常情况下减少一半以上的工作量是可以达到的。

前端技术栈

  • Angular 5和React
  • Bootstrap响应式网页设计
  • HTML5
  • 国际化
  • CSS的Sass
  • WebSocket
  • 使用Yarn安装新的JavaScript库
  • 使用Webpack构建,优化和实时加载
  • 使用Jest和Protractor进行测试
  • 支持Thymeleaf模板引擎

后端技术栈

  • Spring Boot
  • Maven和Gradle
  • Spring Security
  • Spring MVC REST + Jackson
  • Spring Websocket
  • Spring Data JPA
  • Liquibase
  • Elasticsearch
  • MongoDB和Couchbase
  • Cassandra
  • Kafka

微服务技术栈

  • 使用Netflix Zuul或Traefik作为HTTP路由
  • 使用Netflix Eureka或HashiCorp Consul作为服务发现
  • 使用Spring Cloud Config作为统一配置

CI/CD支持

  • Jenkins
  • Travis CI
  • GitLab CI
  • Circle CI

部署环境支持

  • 使用ELK堆栈进行应用指标监控
  • 使用ehcache,hazelcast或Infinispan进行缓存
  • 优化的静态资源(gzip过滤器,HTTP缓存头)
  • 使用Logback进行日志管理,可在运行时进行配置
  • 使用HikariCP连接池以获得最佳性能
  • 构建标准WAR文件或可执行JAR文件
  • 完整的Docker和Docker-Compse支持
  • 支持所有主要云提供商:AWS,Cloud Foundry,Heroku,Kubernetes,OpenShift,Docker等

哪些公司在用

img_8a3bc15bece54c1cea93da3e3219d35d.jpe

WHY - 方法和实践

复杂架构设计的思路

img_ccec6fb0bc34753787fa6dfae1b9d9ba.png

业界对JHipster的评价

  • DDD(领域驱动设计)的最佳实践
  • 微服务架构的最佳实践
  • 敏捷开发的最佳实践
  • DevOps的最佳实践

HOW - 应用场景

标准化的数据访问服务

场景 通过JHipster生成标准化的数据访问微服务(简称DAMS),DAMS与数据库直接交互,提供Restful API给上层业务微服务调用。
效果 工程代码规范的标准化,标准代码开发的自动化,隔离业务逻辑和数据访问逻辑。
实现 现有JHipster功能即可满足。

客户项目的定制开发

场景 定制化开发工作,通过JHipster自动生成骨干代码,后期数据库设计变更,也可通过JHipster自动化更新代码。
效果 提高开发效率和代码质量,降低项目成本。
实现 现有JHipster功能即可满足。

开放平台和应用市场

场景 开发人员编写业务领域模型,JHipster自动生成后端微服务和前端UI。
效果 作为一种PaaS服务能力提供给开发者。
实现 需定制化JHipster源码。

GOAL - 目标和价值

img_56373c358349fa21d2ba45b407b00202.jpe

参考资料

Web Site:https://www.jhipster.tech
JHipster Online:https://start.jhipster.tech/
Github:https://github.com/jhipster/generator-jhipster
Docker:https://store.docker.com/search?q=jhipster&source=community&type=image

相关文章

JHipster生成单体架构的应用示例
JHipster生成微服务架构的应用栈




你现在的气质里,藏着你走过的路,读过的书,爱过的人。


目录
相关文章
|
7月前
|
存储 网络协议 API
「译文」CMDB 最佳实践技术指南 -2- 主流的 CMDB 发现技术
「译文」CMDB 最佳实践技术指南 -2- 主流的 CMDB 发现技术
|
4月前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件
|
7月前
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
4月前
|
存储 设计模式 运维
Angular遇上Azure Functions:探索无服务器架构下的开发实践——从在线投票系统案例深入分析前端与后端的协同工作
【8月更文挑战第31天】在现代软件开发中,无服务器架构因可扩展性和成本效益而备受青睐。本文通过构建一个在线投票应用,介绍如何结合Angular前端框架与Azure Functions后端服务,快速搭建高效、可扩展的应用系统。Angular提供响应式编程和组件化能力,适合构建动态用户界面;Azure Functions则简化了后端逻辑处理与数据存储。通过具体示例代码,详细展示了从设置Azure Functions到整合Angular前端的全过程,帮助开发者轻松上手无服务器应用开发。
37 0
|
7月前
|
关系型数据库 MySQL 中间件
KubeSphere 核心实战之四【在kubesphere平台上部署Ruoyi-cloud项目】(实操篇 4/4)
KubeSphere 核心实战之四【在kubesphere平台上部署Ruoyi-cloud项目】(实操篇 4/4)
402 1
|
7月前
|
监控 负载均衡 Dubbo
Dubbo 模块探秘:深入了解每个组件的独特功能【二】
Dubbo 模块探秘:深入了解每个组件的独特功能【二】
124 0
|
消息中间件 Cloud Native Java
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
721 1
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
|
测试技术 Python
【第五篇-完结篇】XiaoZaiMultiAutoAiDevices之改造扩展
在前面系列文章中有讲到,使用configparser,ini格式的文件作为配置文件,在新增或者删除其中的值时,会丢失所有注释,所以在框架源码注释中我有写到,如果对这方面比较介意或者是有需求的话,可以进行更改配置文件。
132 0
|
Java 容器
一步一步学Mule ESB——(第一篇:基础篇)
mule 它是一个以Java为核心的轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的。Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。
1987 0

热门文章

最新文章