JHipster技术简介
本文简单介绍Jhipster是什么,为什么用Jhipster,怎么用Jhipster。
WHAT - 技术栈
JHipster是什么
JHipster是一个开发平台,用于生成,开发,部署Spring Boot + Angular/React Web Application和Spring microservices。
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等
哪些公司在用
WHY - 方法和实践
复杂架构设计的思路
业界对JHipster的评价
- DDD(领域驱动设计)的最佳实践
- 微服务架构的最佳实践
- 敏捷开发的最佳实践
- DevOps的最佳实践
HOW - 应用场景
标准化的数据访问服务
场景 | 通过JHipster生成标准化的数据访问微服务(简称DAMS),DAMS与数据库直接交互,提供Restful API给上层业务微服务调用。 |
效果 | 工程代码规范的标准化,标准代码开发的自动化,隔离业务逻辑和数据访问逻辑。 |
实现 | 现有JHipster功能即可满足。 |
客户项目的定制开发
场景 | 定制化开发工作,通过JHipster自动生成骨干代码,后期数据库设计变更,也可通过JHipster自动化更新代码。 |
效果 | 提高开发效率和代码质量,降低项目成本。 |
实现 | 现有JHipster功能即可满足。 |
开放平台和应用市场
场景 | 开发人员编写业务领域模型,JHipster自动生成后端微服务和前端UI。 |
效果 | 作为一种PaaS服务能力提供给开发者。 |
实现 | 需定制化JHipster源码。 |
GOAL - 目标和价值
参考资料
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
JHipster技术简介相关推荐
- Html5版本的全套股票行情图开源了,附带实现技术简介
Html5版本的全套股票行情图开源了,附带实现技术简介 - 玉开 - 博客园 Html5版本的全套股票行情图开源了,附带实现技术简介 请使用支持html5的浏览器查看,推荐使用google chrom ...
- 【字节码插桩】AOP 技术 ( “字节码插桩“ 技术简介 | AspectJ 插桩工具 | ASM 插桩工具 )
文章目录 一." 字节码插桩 " 技术简介 二.AspectJ 插桩工具 三.ASM 插桩工具 一." 字节码插桩 " 技术简介 性能优化 , 插件化 , 热修 ...
- AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)
AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用).常用算法.经典案例之详细攻略(建议收藏) 目录 NLP是什么? 1.NLP前置技术解析 2.python中NLP技术相关库 3.NLP案例 ...
- java相关技术简介_java技术简介?
java技术简介? 关注:186 答案:3 信息版本:手机版 电脑版 解决时间 2021-01-17 11:41 提问者坟地里唱嗨歌 2021-01-17 01:04 java技术简介? 最佳答案 ...
- python云计算开发技术_云计算开发学习笔记:Python3 面向对象技术简介
来源:TechWeb.com.cn Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以 ...
- Servlet技术简介与编写、编译Servlet程序
1.Servlet技术简介 Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的WEB服务器端编程技术,主要用于在WEB服务器端获得客户端的访问请求信息和动态生成 ...
- 3-docker 架构和底层技术简介
3-docker 架构和底层技术简介 Docker Platform Docker 是一个平台. 提供了一个开发.打包.运行app的平台 把app和底层 infrastructure 隔离开来 根据上 ...
- [转] Windows完成端口与Linux epoll技术简介
Windows完成端口与Linux epoll技术简介 2008-01-03 16:18 WINDOWS完成端口编程1.基本概念 2.WINDOWS完成端口的特点 3.完成端口(Completion ...
- [深度学习概念]·声纹识别技术简介
声纹识别技术简介 声纹识别,也称作说话人识别,是一种通过声音判别说话人身份的技术.从直觉上来说,声纹虽然不像人脸.指纹的个体差异那样直观可见,但由于每个人的声道.口腔和鼻腔也具有个体的差异性,因此反映 ...
最新文章
- R构建幂回归模型(Power Regression)
- 掘金小册Jenkins大纲准备
- linux下TCP通信简单实例
- pandas中一列拆分成两列
- c语言结构体与共同体课件,《结构体与共同体》PPT课件.ppt
- Matlab | Matlab从入门到放弃(7)——struct结构体
- pixhawk篇之坐标系转化,相关转化矩阵知识,算法截取
- Android支持横行滚动的ListView控件
- Lanchester战争模型:用可分离变量的微分方程占卜战事
- idea报错:Error:java: JDK isn‘t specified for module ‘xxx‘
- android获取年月日时分秒毫秒,Android获取两个日期其间间隔的天数
- 常用Keytool 命令
- c语言给出太多参数,C语言中不定参数的实现
- Centos 7环境MySql8.0.28源码安装
- PHP通过PHPMailer类库实现QQ邮箱发送方法
- B站陈睿团队以内容为王,百万UP主共同成长
- LSV又新增13个地质图!量测对比分析全都能搞定
- RPA流程调试:准确定位错误原因及位置
- 我博士科研经历中的经验和教训
- 嫂嫂学计算机,“嫂子非要让我来修电脑,我该怎么办?”这谁能顶得住啊!哈哈哈哈...
热门文章
- 深度神经网络中Inception-ResNet模块介绍
- FFmpeg实现获取USB摄像头视频流测试代码
- Windows7 64bit VS2013 Caffe train MNIST操作步骤
- Ubuntu中Atom编辑器显示中文乱码的处理方法
- bartender外部表不是预期格式_批量合并Excel数据时“外部表不是预期格式”或“文件包含损坏数据”的两种情况...
- yudian温控表a1温度怎么补偿_冰箱冷藏温度多少合适 冰箱冷藏温度怎么调节 看完这篇你就有答案 冰箱...
- 单一窗口关区备案_单一窗口税费支付权限管理
- IDEA和Eclipse设置文件编码格式
- iOS超全开源框架、项目和学习资料汇总(1)UI篇
- JS数组去重,JS根据数组里面的对象属性值去重