JHipster技術簡介

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

WHAT - 技術棧

JHipster是什麼

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

JHipster能作什麼

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

  • 基於Spring Boot框架的服務端,具有高性能和高可用的Java技術棧;
  • 基於Angular,React和Bootstrap的時尚,現代,移動優先的前端;
  • 基於JHipster Registry,Netflix OSS,ELK堆棧和Docker的強大的微服務架構;
  • 使用Yeoman,Webpack和Maven/Gradle構建應用程序的強大工做流程。

JHipster開發效率

以10個微服務,每一個微服務包含1個數據表和4個UI界面(基本CURD界面)的開發規模爲例:github

工做項 人工開發(人天) JHipster開發(人天)
數據庫建表 1 0
項目建立及配置文件編寫 2 0
開發CURD代碼 5 1
開發前端UI 10 1
合計: 18 2

在實際項目中由於定製化工做的須要,開發效率的差距會比這個小,但正常狀況下減小一半以上的工做量是能夠達到的。docker

前端技術棧

  • 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生成微服務架構的應用棧後端

相關文章
相關標籤/搜索