本文簡單介紹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生成微服務架構的應用棧後端