SpringBootで学ぶ
初めてのWEBアプリ開発
2016/11/18
Spring Day 2016 #jsug
てらひで (@terahide27)
ROOM4-5
てらひで
@terahide27
某不動産サービスを営むIT
会社でインフラからサービ
スの開発・運用までを見守
るお仕事
Java/Groovy/RoR/PHP
CSP/CSPO/CSM
TDD/TOCfE/
アニメ/酒/ラーメン
深夜アニメの
カバレッジ
90%
http://gigazine.net/news/20160910-anime-2016autumn/
今日お話しすること
• SpringBootのチュートリアルを
実際に触りながら以下の話を進
めます
• Webの歴史
• 今のWeb(モダンWeb)
持って帰ってもらいたいこ
と
• SpringBootはチュートリアルが
充実
• SpringBootのチュートリアルは
進めやすい
• SpringBootは怖くない
Webの歴史
ー 誕生 ー
黎明期のWeb
http://pc.mogeringo.com/archives/44396
Request
Response
「xx」がみた
い
「xx」を返却
SpringMVC
チュートリアル
ね?
簡単でしょ?
家庭にパソコンが普及
http://blog.goo.ne.jp/nekotop_001/e/831d371079595e0a0b26aa3485acf189
Windows95の発売
http://pc.mogeringo.com/archives/44396写真提供:ペイレスイメージズ
携帯電話の普及
20世紀終盤〜21世紀初頭
持ち運ぶ
企業間連携 API
http://pc.mogeringo.com/archives/44396
SOAP
Simple Object Access Protocol
写真提供:ペイレスイメージズ
API -各ベンダ-
e.g. Google Maps
2007
スマートフォン
http://pc.mogeringo.com/archives/44396
写真提供:ペイレスイメージズ
画面を返す
画面からデータへ
データを返す
REST
• APIの設計様式として普及
• アクセスするリソースに対して
URLを定形化
• リソースへの操作はメソッドで指
定
• 多くの場合JSONを返却
REST
http://pc.mogeringo.com/archives/44396
Request (GET /xx/1)
Response ({name:”xx”,value:”xx”...})
「xx」を取得
jsonを返却
REST
http://pc.mogeringo.com/archives/44396
Request (POST /xxs/1)
Response ({status:”success”})
「xx」を保存
jsonを返却
RESTful Web
Service with
SpringMVC
チュートリアル
ね?
簡単でしょ?
スマートフォン
双方向通信
偉大な先達は知恵を絞った
• ロングポーリング
• Comet(ロングコネクション)
• WebSocket
WebSocket
チュートリアル
ね?
簡単でしょ?
Spring Data JPA
チュートリアル
ね?
簡単でしょ?
現在〜
ちょっとだけ未来
スマートフォン
http://pc.mogeringo.com/archives/44396
Reactive
• 即応性
• 対障害性
• 弾力性
• メッセージ駆動
再掲:黎明期のWeb
http://pc.mogeringo.com/archives/44396
Request
Response
「xx」がみた
い
「xx」を返却
Webにおけるメッセージ駆
動
• X 従来:ブロッキング(同期通信
)
• O ノンブロッキング(非同期)
まわりを見れば
• Javascript node.js
• Java JavaFX
• Java(Scala) Play framework (Netty)
• Ruby Volt
• PHP React
• etc.
Springは?
• Spring 5 (Java 9) でサポート
• Play frameworkと同様に内部で
Netty を使用(非Servlet化)
使い方
http://www.slideshare.net/movmov/20160622-jsug-fromspringframework43to50
Spring Framework 4.3から5.0へ スペシャル サンクス!
本橋さん!
まとめ
• Springを覚えることで最新の技術
要素も怖くなくなる
• Springを覚えるためにSpringBoot
のチュートリアルは進めやす
• SpringBootは恐くない
ぜひ帰ったら
チュートリアルに
トライして
みてください
ご参考
• 意外と知らないWebの歴史
• https://www.internetacademy.jp/special/history.html
• de:code2016セッション「モダン Web: たった今と、ほんの少し未来の話」フォロ
ーアップ
• https://blogs.msdn.microsoft.com/osamum/2016/06/06/the-modern-web-now-and-
little-future-story/
• Wikipedia Websocket
• https://ja.wikipedia.org/wiki/WebSocket
• リアクティブ宣言
• http://www.reactivemanifesto.org/ja
Happy Spring Day !

Spring bootで学ぶ初めてのwebアプリ開発