順次、選択、そして繰り返し

プログラミングのことやITのこと、たまに演劇のことも書きます。

JavaDayTokyo2016に参加してきた

かなり遅くなったが、
セッションについてまとめてみようと思う。

Java Day Tokyo 2016|日本オラクル


【基調講演】
Innovate, Collaborate, with Java

今後のJavaについて説明。
スライドに書かれていた『あなたはJavaを愛していますか?』に
少し笑ってしまった。
あとはJava9の目玉として「Project Jigsaw」という
モジュール化について説明していた。
「Project Jigsaw」によってクラスパスの問題などが
解決されるみたい。
[速報]JavaOne開幕。Java 9は「Project Jigsaw」でクラスパスの問題とJDK肥大化の問題を解決する。JaveOne 2015 - Publickey


JavaEE
Introduction to MVC 1.0 (JSR 371)

JavaEE8から追加されるアクションベースのMVCについての説明。
JavaEE7まではコンポーネントベースのMVCしかなかったため、
開発方法の選択肢を増やすために追加した。

コンポーネントベースとは
JSF Wicket Tapestryとかが有名
コントローラーが大体の処理をする
MVが開発の範囲

アクションベースとは
Struts SpringMVCが有名。
MVCが開発の範囲
リクエストが単位
開発者の負担が大きい

リファレンス実装としてOzarkがある。
→実装が可能だということを証明している

Ozark

JavaEEの中にあるものでMVCを作りたかった
モデル
CDI BeanValidation JPA
ビュー
→Faceless JSP
コントローラー
JAX-RS

【JavaSE】
JavaFX 8 and the future

SwingやAWTではなく、JavaFX使おう。
バイルも対応している。

GUIのツールキット
デスクトップ、モバイル、組み込みもできる。

JavaFX8でいいところ
Swingと相互利用ができるところ

JavaFX8の新しい部分
DatePicker
→カレンダーの定義 CSSもサポートしてる

TreeTableView

ModenaUITheme
→全体的に丸み、フラットな感じになっている
 シンプルデザイン

アクセシビリティ
→音声案内

ダイアログが追加
→アラートも出せる
 OSに合わせたボタン

JavaFX9(JDK9)
jigsawModularity
→実行に必要最低限な依存関係のみのモジュールを
 選択するようにする

モジュールを必要最低限にすることでランタイムの
実行が短くなる

JavaEE
What HTTP/2 means to Java Developers?

HTTP/2になった時、Javaではどうするべきかの説明。

HTTP/1.1での問題点
陳腐化したプロトコル

Webページの使われ方が違うのに
プロトコルが変わっていない

Webページのサイズが増えてきている

1.1は遅延性の問題がある
→速やかにページをレンダリングする必要がある

Head-of-Line booking
リクエストの順番にレスポンスを
返す仕様なので途中で遅延すると
後続も遅延する

HTTP/2は遅延性を抑える
RFC7540 7541

モダンなブラウザはすべてHTTP/2

バイナリベースのプロトコルであること
→1.1はテキストベース

1つのストリームで2つのデータを送る

バイナリフレームになるが開発者は意識することはない

ServerPush
→クライアントから要求がなくてもリソースを送る
 WebSocketみたいな感じ?

HPack
→httpヘッダの変更した箇所だけを送信するようにする

HTTP/2 Java
Jetty
JavaSE9で取り込む予定
JEP110
JEPのゴールは古いものを新しくする

http://www.oracle.co.jp/jdt2016/pdf/4-B.pdf


特に気になったのは「Project Jigsaw」と「HTTP/2」かな...。
ちゃんと理解ができていないのでもっと調べる必要があるな。