「Web x Java - HTML5で進化したWeb標準を、Java技術でどう扱うのか? -」に参加してきました。
久しぶりにセミナに参加してきたのでメモ。
関連リンク
- Web✕Java - HTML5で進化したWeb標準を、Java技術でどう扱うのか? - : ATND
- Toggetter(出てきたら)
今のWeb標準とStruts/Javaの問題(仮)
Strtusが対応していないもの。
Strutsが対応していない!
→ 独自flameworkの開発!
→ ベンダー(SIer)ロックイン&技術のガラパゴス化。
# カスタムタグ作りすぎて、flameworkに沿ったJSPの書き方を
# 一から覚え直したりね...。
Web界はHTML5でガラパゴス化(ブラウザ間の差異)から脱出(標準化)を進めている。
→ サーバサイド(Java)側はどうする???
Java EE の概要と HTML 5 の取り組み
- Java EE7, html5(not 発表資料)
10年前はStruts+Spring+Hibernate(通称SSH)が流行りだったが今はどうか。
寺田さんがもうやめましょうと訴えたいのは以下の2つ。
2012年のEclipse ServeyでもStruts1.x, 2.xを使いたい人は殆どいなかった。
Struts+Spring+Hibernateはメンテナンスコストが大!
今後Strutsでバグが出たら、誰がその修正の影響範囲を調査・試験する??
→ その点、Java EE ならJSF+CDI+JPAをトータルで管理してますよー。
# JBossの保守はサポートしてくれるらしい。
# SAStrutsもStrutsにバグ出たら治すって言ってた気がする。
# それなりに保守される上位flameworkを使っていれば平気?
Java EE 7ではWebSocketやJAX-RSが標準装備されているので、viewとmodelをサーバ側で結合せずに、別々に取得することができる(modelだけ取得可能)。
WebSocket vs JAX-RS?
→WebSocketはHTTP Headerなどを送信するのがはじめの1度のみなので、パフォーマンス的にはWebSocketが有利か。
Java EE 7の良い所
# 作ろうと思ったことがなかった...。
# 今までは作るとAPサーバと別プロセスにスレッドができて管理しづらいらしい。
Strutsから移行する人のためのJSF基礎
なぜJSF?
作れるUI
- JavaScriptレスでAjax。
# 普通のJavaScriptからのAjaxは使えるのかな?
# その時はJAX-RSでも使えばよいのかしら。
拡張ライブラリ
- PrimeFaces
- RichFaces
- ICEFaces
拡張ライブラリ使用上の注意
「※ただし、ブラウザ最新版に限る。」
移行ポイントの詳細はスライドを参照。
- managed-baenの定義はXMLでもアノテーションでも。
- JSPと違ってServletに変換されない→エラー時はStackTraceにXHTMLの行数が表示。
- 画面側でのvalidationを標準装備。
# サーバ側でのvalidationとエラー時の表示は共通化できるのかしら?
- RequestProcessor の processXXX 系の処理は全てPhaseListenerで外から実装できる。
JSF利用時の注意