標籤:

如何自學JHipster框架?

在谷歌找到的教程都是英文的 自學起來非常吃力。而且很紛雜 所以問問大家有什麼好的JHipster教程 或者學習網站。謝謝了O(∩_∩)O


簡介:

  • JHipster的本質是一個基於Yeoman的Code Generator,其核心技術棧使用的是SpringBoot+AngularJS(未來4.0將會引入AngularJS2.0作為前端支持Kubernetes Will Coming Soon太令人期待了)

  • Project lead:Julien Dubois之前供職於Pivotal(Spring組織就是屬於Pivotal),曾是Spring Framework的核心成員,跟Spring組織很多著名而活躍的成員如Philwebb(SpringBoot第一核心貢獻者)/Josh Long(SpringBoot Essentials/Cloud Native Java等書作者)/Dave Syer(SpringBoot和SpringCloud的核心成員,多本JAVA著作的參與編寫者)是摯友並有技術上的交流在GoogleForum和一些Spring Webiner
  • 而JHipster的其核心成員還有像Matt Raible(Appfuse作者,從事JAVA相關工作超過20年)這種Java大神級人物(Java Champions[Java Champion Bios],全球就那麼多少個,你懂的)

首先附圖幾張(隨後會繼續補充|為不影響主題內容,本末倒置,其他圖片附在最後):

  • Just:yo jhipster[一個安全可靠精簡的基於SpringBoot+AngularJS+各種最熱技術集成的全棧式J2ee App就生成了,而且是Mobile First哦!]

  • Whatever you do,Just:yo

Jhipster經歷的版本迭代:

  • 0.X-1.0 Just a concept of Gernerator for J2EE App(2013年11月前)
  • 2.0 SpringBoot+AngularJS為核心的Gernerator(目前3.0.0+以上版本的Monolithic其中選項之一)
  • 3.0 MicroService Netflix OSS + ELK,如Josh Long所說Netflix是北美第二大視頻流量網站(第一不是Youtube,Youtube只是個排第三的小弟級人物,你們猜猜第一是什麼!)

    [Eureka,Hystrix,Ribbon,Zuul....],據說Netflix早在2010年的時候就已經開始玩兒Microservice,在2013年開源的Netflix OSS一系列技術棧(還有一點比較重要的是Google的K8s is coming soon!!!)
  • 4.0 AngularJS2.0的加入

個人對於Jhipster的技術棧和方向的理解:

  • Microservice:對於JAVA來說真真正正的Twenty Years Of JAVA Just Beginning,真正讓JAVA第二春的理念!(僅屬個人見解,輕噴)
  • Reliable:SpringBoot和AngularJS的背景分別是Pivotal和Google,生態圈大而穩定,使用和參與貢獻人數廣泛,從Github上的Commits和Contributers數量大家都能很明顯的看見(這裡不包括國內,在這裡也不談SpringBoot[目前是Spring第一頂級核心項目][Spring出品,多為精品])(接著再嘮叨一句,那些常說什麼NG不如React甚至不如Vue的這種人,第一這些東西不能比[React和NG不能比和Vue和NG不能比是兩成意思,React和NG不能比是層面不一樣,另一個不能比自行理解],第二請你深入的學習下NG並試著理解下NG的生態,自行搜索The Art of AngularJS in 2016看看最近14年到16年的數據對比[http://www.slideshare.net/mraible/the-art-of-angular-in-2016-devoxx-france-2016],借用Matt Raible的一句話Whatever,they searched!)(最後再了解下最近的2016-NG-CONFRENCE關於AngularJS2.0是多麼&<小&>&<快&>&<特性、理念令人期待&>)
  • Stable:經歷了將近三年的迭代,從最初的1.0.x,2013年中旬(以下的版本筆者還沒開始研究),到目前將近6300左右的Commits(SpringProject的頂級核心項目SpringBoot也才8000不到,兩者幾乎同時發布但Spring在J2EE領域卻有著極大的影響力前提,Jhipster的想法早於SPRINGBOOT幾個月,在2013年8月左右[Spring Boot 1.3 Released Featuring DevTools and ASCII Art])
  • Lean:精簡效率的代碼,數次的前端和後端的代碼重構
  • Hot:最熱門的FrontEnd(HTML5,CSS3,Bootstrap,AngularJS,JQuery,Websockets,Bower,Gulp,Sass,Browsersync,Karma,Protractor)和BackEnd(Spring Boot,Spring Security,Netflix OSS,Gradle,Maven,Hibernate,Liquibase,MySQL,PostgreSQL,Oracle,MongoDB,Cassandra,EhCache,Hazelcast,ElasticSearch,Thymeleaf,Gatling,Cucumber)技術棧
  • 支持各種一鍵式雲部署CloudFoundry Heroku AWS(SpringBoot特性),並易於擴展
  • Mobile First!!!加上未來的NG2作為前端,還需要再多說什麼嗎
  • The Future:其核心架構技術棧和思想是未來J2EE必然的趨勢(僅屬個人見解,輕噴)

**問題來了,關於怎麼學習Jhipster(可以理解為怎麼學習XXX開源項目[通用],作為一個IT行業從事者,學習技術一定不能在國內的環境和氛圍里,一定不能!!!一定要多看英文資料文檔視頻,一年後你會發現美劇生肉,BBC等連&<英文字幕&>都不需要了):

  • 掌握以SpringBoot為核心的Spring生態系統(Spring Framework,Spring Data XXX,Spring Security....),熟讀Spring官方各個子項的Refrencebook以及精品Spring書籍例如Springboot/Spring in action等;掌握AngularJS前端技術,熟讀NG官方DOCS,練習官方的示例;熟悉Yeoman(Yo Gulp[Grunt在JHipster Release 2.27.0之前的生成器中作為生成可選項之一,Release 2.27.0之後,開發組就遺棄了Grunt的構建選項] Bower)前端構建工具
  • 去JHipster的Repository-&>[JHipster · GitHub],下載jhipster/jhipster-sample-app-xxx(xxx代表所集成的Technology Stacks不一樣,但核心都是SpringBoot+AngularJS),參照代碼/模塊 精讀Gernerator Resources(這個階段先熟悉生成的jhipster-sample-app-xxx)和官方的Refrencebook:[JHipster - Generate your Spring Boot + AngularJS apps!]
  • 一邊學習,一邊重構部分之前項目做小新項目(我想說真的真的非常快,非常好用),與此同時去Youtube等免費視頻網站學習,常上Twitter看看了解開發組的最新資訊 ,遇到問題的時候在Gitter上提問,並幫助他人解決自己曾遇到的一些問題(Not Stack OverFlow,Gitter更加快捷方便,常駐開發組人員,能更效率的幫你解決問題),共同提高,這裡提示下,做軟體技術一定要有分享精神,協作精神
  • 進一步深入,可以學習Yeoman Generator,熟讀官方的jhipster/generator-jhipster源碼(這是用來生成代碼的生成器源碼,並非前面提到的jhipster/jhipster-sample-app-xxx,這是生成的代碼),掌握How to Creating a module[Creating a module],以構建自己在項目中所需要的Modules[Marketplace],或者(再更深一步來說)根據自己的業務需求定製屬於自己的JGernerator
  • 最後參加開發組的Webiner,理解領悟頂級開發人員的思想、觀點,為什麼要加入XXX為什麼要這麼架構;參與Jhipster項目的的討論GoogleForum_Jhipster[https://groups.google.com/forum/?hl=en#!forum/jhipster-dev];參與Jhipster項目的BUG修復,問題談論和方向規劃GITHUB_JHIPSTER_ISSUSE[Issues · jhipster/generator-jhipster · GitHub];參與Jhispter項目的貢獻Contributing[generator-jhipster/CONTRIBUTING.md at master · jhipster/generator-jhipster · GitHub]

最後歡迎大家的糾正和補充!

如果實在對英文讀寫有困難,也歡迎加入Jhipster群參與討論和研究[58612944],群主是Jhipster大牛也是本人摯友,早在Jhipster和SpringBoot項目發布之初就開始研究和參與貢獻,群里有部分Jhipster翻譯文檔和大量相關資料、視頻、書籍

  • Jhipster Registry

  • DEV環境採用H2內存資料庫(內存或者本地式存儲)


JHipster框架目前國內的資料比較少,學習主要是以官方文檔為主。

本人從去年開始關注JHipster框架到現在

並且利用業餘時間使用JHipster框架開發了一個網站http://www.kepinzhe.com/ 科品者

感興趣可以加qq群:309453684交流


感覺JHipster對於新手上手不太統一,我在用Github上另一個開源的腳手架工具:https://github.com/coolcooldee/sloth


額, 就是很多框架、構建工具和其它工具的組合,如果先一個一個了解一下 就好辦了。

yo是一個項目startkit生成器,生成所有目錄結構;gulp/grunt是前端框架(AngularJS、Bootstrap)構建工具;gradle/springboot是spring框架及組件構建工具;然後再加上loadblance、服務發現和註冊以及各種插件。

項目團隊應該是要搞一個java後端和AngularJS前端的大型生態。


看文檔是第一要務。

另外就是這是個best practice,如果你不熟悉spring那套東西,js那套東西,rest的以及服務治理,想湊一起理解,也挺難。

一邊做一邊學習吧,先動手。


怎麼講jhipster-register換成中文


代碼腳手架是很多快速開發框架都提供的,JH的亮點在於與JDL Studio的集成。

學習了兩天,我最看重的 JHipster 3.0 後提供的 Microservice 集成環境。

另外CI/SpringBoot/Angular 也適合我們的團隊成員使用。


學習資料目前就只有官方的,還有本qcon的書,做計算機的話還是養成讀英文文檔習慣好啊


推薦閱讀:

如何自學音韻學(尤其是上古音)?
父母要求孩子自學小提琴正確嗎?
化學競賽大學教材學習順序思路?
如何自學資產評估,有哪些書籍可以推薦?
零基礎如何自學小提琴?

TAG:自學 |