5月20日、JJUG CCC 2017 Springに行ってきた!
まずは
Vue+Spring Bootで他のすくフルスタック開発やってみた
をメモメモ
・自己紹介
・今日話すこと
Vueとかwebpackまわり
SpringBootとともにビルド
最強スタック
・VueとWebpackまわり
SAStruts+JSP→まあ時代的にも妥当だった
JavaScriptで頑張ることができなかった
JAX-RS+静的HTML+Knockout→よかった(2011年後半)
バインディングができる
Spring MVC+Thymeleaf→Spring Boot素敵
サーバーサイドテンプレートはもうなくていいかな
・Knockoutのよさ
双方向データバインディング
Javascript変更するとHTMLに反映
フォームコントロールで入れるとJavascriptのオブジェクトに反映
・データバインディング
変更通知
→通知されたときにする
・サーバーサイドテンプレートエンジンの好きになれないところ
HTMLとJavascriptとテンプレートの式言語が混在
JavascriptでDomいじるなら、サーバーでレンダリングしなくても
・最近やったスマートフォン案件
Android・iosの両方に対応
機能的にはWebアプリの域を脱しない
Cordovaを選択
・双方向バインディングしたい
cordovaを選択したけどvanilla JS(すっぴんのJS)もJQueryもやだ!
Vueファイル→コンポーネント→WebPack
・VueでSPA
SPAにするためのもの
vue-router2
:ルーティング
Vuex
:Flux実装
actions→mutation→state
axios
:HTTPクライアント
AJAXを投げる(プロミスが返される)
・Vueよかったこと
学習コストが低い
公式ドキュメント日本語
アニメーション CSS Transition
・こまったこと
iosのWebViewでびゅー→jsのバインドがうまく動かないケース
・npmとWebpackの導入
依存関係追加
package.json
・webpack 1つのjsファイルにまとめる
設定
ぷらがぶるなコンパイラー
開発中のWebpackビルド
webpack dev server
コード変更を検知してビルド、
ブラウザを自動リロード
・便利なもの
vue-cli すぷりんぐ いにしゃらいざーみたいなもの
chrome拡張
・ここまでのまとめ
・SPAは必須か?
すべては必要ないけど、ちょっとなってくれれば・・
JSファイルを複数出力したい→webpackの設定を変える
・SpringBootとともにビルド
ポイント
webpackビルド対象となるソースだいる
ビルドしたjsの出力先
ホスティングするパス
ビルド済みjs src/main/js
出力先:クラスファイルの出力先にしている(ほんとはりそーすのところ)
ホスティングしているパス bin/staticの下
・Gradleのビルドの流れ
npm run buildを実行
・さいきょうすたっく
・Spring Boot devtools
・Spring MVC Jax-RS
・Doma:DOアクセス
・Vue(+vue-router2,Vuex),axios
・Gradle
・npm,webpack
・selenide(せるにど)E2E、ブラウザテスト
・クラス設計
いみゅーたぶる
ばりゅーおぶじぇくと
→なるべく静的に
・クラス設計
おぶざーばー
いてれーたー
びじたー
・さいきょうのへんせん
フロントエンドの進化
・さらに気になる
CSS Grid Layout
・まとめ
まずは
Vue+Spring Bootで他のすくフルスタック開発やってみた
をメモメモ
・自己紹介
・今日話すこと
Vueとかwebpackまわり
SpringBootとともにビルド
最強スタック
・VueとWebpackまわり
SAStruts+JSP→まあ時代的にも妥当だった
JavaScriptで頑張ることができなかった
JAX-RS+静的HTML+Knockout→よかった(2011年後半)
バインディングができる
Spring MVC+Thymeleaf→Spring Boot素敵
サーバーサイドテンプレートはもうなくていいかな
・Knockoutのよさ
双方向データバインディング
Javascript変更するとHTMLに反映
フォームコントロールで入れるとJavascriptのオブジェクトに反映
・データバインディング
変更通知
→通知されたときにする
・サーバーサイドテンプレートエンジンの好きになれないところ
HTMLとJavascriptとテンプレートの式言語が混在
JavascriptでDomいじるなら、サーバーでレンダリングしなくても
・最近やったスマートフォン案件
Android・iosの両方に対応
機能的にはWebアプリの域を脱しない
Cordovaを選択
・双方向バインディングしたい
cordovaを選択したけどvanilla JS(すっぴんのJS)もJQueryもやだ!
Vueファイル→コンポーネント→WebPack
・VueでSPA
SPAにするためのもの
vue-router2
:ルーティング
Vuex
:Flux実装
actions→mutation→state
axios
:HTTPクライアント
AJAXを投げる(プロミスが返される)
・Vueよかったこと
学習コストが低い
公式ドキュメント日本語
アニメーション CSS Transition
・こまったこと
iosのWebViewでびゅー→jsのバインドがうまく動かないケース
・npmとWebpackの導入
依存関係追加
package.json
・webpack 1つのjsファイルにまとめる
設定
ぷらがぶるなコンパイラー
開発中のWebpackビルド
webpack dev server
コード変更を検知してビルド、
ブラウザを自動リロード
・便利なもの
vue-cli すぷりんぐ いにしゃらいざーみたいなもの
chrome拡張
・ここまでのまとめ
・SPAは必須か?
すべては必要ないけど、ちょっとなってくれれば・・
JSファイルを複数出力したい→webpackの設定を変える
・SpringBootとともにビルド
ポイント
webpackビルド対象となるソースだいる
ビルドしたjsの出力先
ホスティングするパス
ビルド済みjs src/main/js
出力先:クラスファイルの出力先にしている(ほんとはりそーすのところ)
ホスティングしているパス bin/staticの下
・Gradleのビルドの流れ
npm run buildを実行
・さいきょうすたっく
・Spring Boot devtools
・Spring MVC Jax-RS
・Doma:DOアクセス
・Vue(+vue-router2,Vuex),axios
・Gradle
・npm,webpack
・selenide(せるにど)E2E、ブラウザテスト
・クラス設計
いみゅーたぶる
ばりゅーおぶじぇくと
→なるべく静的に
・クラス設計
おぶざーばー
いてれーたー
びじたー
・さいきょうのへんせん
フロントエンドの進化
・さらに気になる
CSS Grid Layout
・まとめ