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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM