JHipster技術簡介

本文簡單介紹Jhipster是什麼,爲何用Jhipster,怎麼用Jhipster。

WHAT - 技術棧

JHipster是什麼

JHipster是一個開發平臺,用於生成,開發,部署Spring Boot + Angular/React Web Application和Spring microservices。前端

JHipster是什麼

JHipster能作什麼

JHipster能夠自動化生成一個完整和現代的Web應用程序或微服務架構。git

基於Spring Boot框架的服務端,具有高性能和高可用的Java技術棧;github

基於Angular,React和Bootstrap的時尚,現代,移動優先的前端;docker

基於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響應式網頁設計socket

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等

哪些公司在用

使用JHipster的公司

WHY - 方法和實踐

複雜架構設計的思路

架構設計思路

業界對JHipster的評價

  • DDD(領域驅動設計)的最佳實踐
  • 微服務架構的最佳實踐
  • 敏捷開發的最佳實踐
  • DevOps的最佳實踐

HOW - 應用場景

標準化的數據訪問服務

  • 場景:經過JHipster生成標準化的數據訪問微服務(簡稱DAMS),DAMS與數據庫直接交互,提供Restful API給上層業務微服務調用。
  • 效果:工程代碼規範的標準化,標準代碼開發的自動化,隔離業務邏輯和數據訪問邏輯。
  • 實現:現有JHipster功能便可知足。

客戶項目的定製開發

  • 場景:定製化開發工做,經過JHipster自動生成骨幹代碼,後期數據庫設計變動,也可經過JHipster自動化更新代碼。
  • 效果:提升開發效率和代碼質量,下降項目成本。
  • 實現:現有JHipster功能便可知足。

開放平臺和應用市場

  • 場景:開發人員編寫業務領域模型,JHipster自動生成後端微服務和前端UI。
  • 效果:做爲一種PaaS服務能力提供給開發者。
  • 實現:需定製化JHipster源碼。

GOAL - 目標和價值

目標和價值

參考資料

Web Site:www.jhipster.tech

JHipster Online:start.jhipster.tech

Github:github.com/jhipster/generator-jhipster

Docker:store.docker.com

相關文章

JHipster生成單體架構的應用示例

JHipster生成微服務架構的應用棧

相關文章
相關標籤/搜索