jhipster

25
JHipster 薛元揆 (Study) @phstudy

Upload: yuen-kuei-hsueh

Post on 14-Jun-2015

1.799 views

Category:

Technology


2 download

DESCRIPTION

Introduction to JHipster in TWJUG Nov.

TRANSCRIPT

Page 1: JHipster

JHipster

薛元揆 (Study)@phstudy

Page 2: JHipster

+Hipster

What is JHipster?

http://jhipster.github.io

Page 3: JHipster

Java Hipster is a Yeoman Generator

Page 4: JHipster

What is Yeoman?

Page 5: JHipster
Page 6: JHipster

Scaffolding Java Webapp in several steps

https://github.com/jhipster/jhipster-sample-app

Page 7: JHipster

Demo

Page 8: JHipster

Front-end

Page 9: JHipster

Front-end• Dependency Management

• Bower

• JavaScript framework

• AngularJS

• Angular Translate (i18n)

• CSS framework

• Bootstrap

Page 10: JHipster

Front-end• Task Runner

• Grunt / Gulp.js

• dev: live reload

• prod: compress & optimize resources, compile sass

• Testing

• Karma

• PhantomJS

Page 11: JHipster

Front-end

• CSS Authoring Tools

• Compass (optional)

• WebSocket

• Atmosphere (optional)

Page 12: JHipster

Back-end

Page 13: JHipster

Java & Build tools• Java Language

• Java 7

• Java 8

• Build tools

• Gradle

• Maven

Page 14: JHipster

Platform, MVC & Security• Platform

• Spring Boot

• dev & prod profiles

• MVC Framework

• Spring MVC

• REST Controller only

• Security Framework

• Spring Security

Page 15: JHipster

View Engine & WebSocket

• Template Engine

• Thymeleaf

• WebSocket

• Atmosphere (optional)

Page 16: JHipster

• ORM Framework

• Hibernate

• JPA

• Spring Data JPA

• JDBC Connection Pool

• HikariCP

ORM & CP

Page 17: JHipster

NoSQL, SQL & DB MGMT• NoSQL

• MongoDB

• SQL

• H2, MySQL & PostgreSQL...

• Database Schema Management

• Liquibase

Page 18: JHipster

• Cache

• ORM L2 Cache

• Hazelcast (distributed)

• Ehcache (local)

• HTTP Session Manager

• Hazelcast

Cache & Session MGMT

Page 19: JHipster

Monitor & Log

• Monitor

• Metrics

• Log

• Logback

Page 20: JHipster

JHipster Sub-generators

Page 21: JHipster

Sub-generators• Create entity

• Create service

• Deploy to PaaS

• Heroku

• OpenShift

Page 22: JHipster

Create Entity• Generated code included

• HTML & AngularJS CRUD JS

• Entity Model & Relationship

• Spring Data JPA Repository

• Spring MVC REST Controller

• Liquibase Change Set

Page 23: JHipster

Create Entity

Page 24: JHipster

Conclusions• Good reference for choosing frameworks

• Quick & easy to build simple & security CRUD application

• No DSL, just simply override

• better to commit code for each sub-generator operation

Page 25: JHipster

JCConf Taiwan 2014• Spring Boot

• Bootify Your Spring Applications • Gradle

• Gradle 起步⾛走: 以 CLI Application 為例 • ORM

• Simplify Multi-Tenant Queries in ORM Frameworks• Hazelcast

• Establish The Core of Cloud Computing Application by Using Hazelcast