JHipster技术简介

news/2024/7/3 0:42:25

本文简单介绍Jhipster是什么,为什么用Jhipster,怎么用Jhipster。

WHAT - 技术栈

JHipster是什么

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

1428428-20180716172603804-271157828.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开发(人天)
数据库建表10
项目创建及配置文件编写20
开发CURD代码51
开发前端UI101
合计:182

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

前端技术栈

  • 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等

哪些公司在用

1428428-20180716173155942-269168636.jpg

WHY - 方法和实践

复杂架构设计的思路

1428428-20180716173238419-954804625.png

业界对JHipster的评价

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

HOW - 应用场景

标准化的数据访问服务

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

客户项目的定制开发

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

开放平台和应用市场

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

GOAL - 目标和价值

1428428-20180716173611737-740492172.jpg

参考资料

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生成微服务架构的应用栈

转载于:https://www.cnblogs.com/yorkwu/p/9274506.html


http://lihuaxi.xjx100.cn/news/237698.html

相关文章

canvas烟花锦集

canvas可以实现不同动画效果&#xff0c;本文主要记录几种不同节日烟花效果实现。 原文链接 实现一 效果地址 html <canvas id"canvas"></canvas>css body {background: #000;margin: 0; }canvas {cursor: crosshair;display: block; }js // when animat…

fiddler使用技巧进阶,如何抓包修改数据?——AutoResponder重定向

“ 介绍Fiddler的AutoResponder重定向功能。” Fiddler功能十分强大&#xff0c;既能抓取报文&#xff0c;也能构造报文&#xff0c;本文继续介绍fiddler的功能&#xff0c;这次的功能与构造报文相关&#xff0c;用来回答标题中的疑问&#xff0c;即修改数据的方法&#xff0c;…

BCH下周硬分叉升级 Schnorr签名功能终于来临

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自https://www.liankexing.com&#xff0c;未经允许拒绝转载。 比特币现金&#xff08;Bitcoin Cash&#xff09;网络计划于5月15日进行分叉&#xff0c;社区此前一直在为这次升级做准备&#xff0c;…

Docker 宿主机定时清除容器的运行日志

为什么80%的码农都做不了架构师&#xff1f;>>> docker 宿主机定时清除容器的运行日志 一般docker容器都是最小化安装&#xff0c;不仅如此系统定时器相关的服务也不存在&#xff0c;自己去安装也很麻烦&#xff0c;故此直接使用宿主机的定时器即可。 一、在容器中…

fcm和firebase_我如何最终使Netlify Functions,Firebase和GraphQL一起工作

fcm和firebaseIn a previous post I confessed defeat in attempting to get an AWS Lambda GraphQL server to connect to a Firebase server. I didn’t give up right away, though, and a short time later found a different Node package to achieve what I couldn’t be…

Spark笔试

1.Spark 的四大组件下面哪个不是 (D ) A.Spark Streaming B Mlib C Graphx D Spark R 2.下面哪个端口不是 spark 自带服务的端口 (C ) A.8080 B.4040 C.8090 D.18080 3.spark 1.4 版本的最大变化 (B ) A spark sql Release 版本 B 引入 Spark R C DataFrame D支持动态资源…

Android逆向之调试smali代码基础

点击上方↑↑↑蓝字[协议分析与还原]关注我们 “ 介绍Android逆向中调试smali代码的方法。” 最近在重整Android逆向分析环境&#xff0c;一切都在从零开始&#xff0c;做下记录&#xff0c;给大家分享。 本文介绍Android逆向中smali代码的调试及环境的准备。 事先准备如下工具…

智能合约语言Solidity - 错误处理

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自https://www.liankexing.com&#xff0c;未经允许拒绝转载。 Solidity 是以太坊智能合约编程语言&#xff0c;阅读本文前&#xff0c;你应该对以太坊、智能合约有所了解&#xff0c;如果你还不了解…