• 検索結果がありません。

勉強会 資料 Google Developer Group 京都 2 0

N/A
N/A
Protected

Academic year: 2018

シェア "勉強会 資料 Google Developer Group 京都 2 0"

Copied!
52
0
0

読み込み中.... (全文を見る)

全文

(1)

Google Web Toolkit 2.0

Kyoto GTUG

http://kyoto-gtug.org/

Daisuke Yamashita

[email protected]

(2)

Google Web Toolkit

• Google Web Toolkit (GWT)

Ajax Java

開発

非互換性 JavaScript

び XMLHttpRequest 専門家 開発

難 い高性能 ン

生産的 開発 可能 こ 目標 開発

(3)

Google Web Toolkit

GWT ンソ 完全 無料

利用 こ 世界中 何千

開発者 利用 い

(4)

GWT 使わ

AdWords Google Wave

い 数多 Google 製品 GWT

発 い

(5)

GWT 仕組

• GWT Java 書い JavaScript

コン

コン JavaScript

最適 動作 う 出力

Android iPhone 最適

動作

(6)

Google Developer Day 2008 資料

(7)

最適 意味

作業 実現 方法 複数あ 場合

最速 動作 API Google 調

最速

動作 う API 選択

(8)

GWT 開発

(9)

GWT 開発

実行 最適化

コ ン

(10)

GWT 開発

• GWT SDK Java API Widget

Widget 合わ 画面 構築

(11)

GWT 開発

• DOM 操作や XMLHttpRequest

ン 直接コ ン 高い

抽象化 い 生産性 非常

高い

(12)

GWT 開発

Widget 以外 使うこ

現 多数 Widget

立 い

(13)

GWT

• GWT developer plugin 使うこ IDE

Ajax

• GWT developer plugin JavaScript Java

コ 間 い い Java

事前 コン 必要 あ

従来 JavaScript 直接

集 う 扱え

(14)

GWT 最適化

• GWT 最適化

• GWTコン

除去

分割

複数 JavaScript 分割 表示 速化

• Speed Tracer

– Chrome Extension

JavaScript

理やCSS ば奇妙 Speed Tracer

処理 役立

(15)

実行

• GWT Java コン

最適 動作 う

JavaScript 生成

Android iPhone 最適化

(16)

SDK 入手

• SDK 入手可能

http://goo.gl/e2j0

(17)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(18)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(19)

Development Mode

• GWT 変更 Development Mode 追加

Hosted Mode 呼ば 拡張

• 2.0以前 GWT

Hosted Mode ”hosted bro ser” 呼ば

専用

• GWT2.0 ”Google Web Toolkit De eloper Plugin”

一般的 利用

Safari, Firefox, Internet Explorer,

Chrome 利用

(20)

Development Mode

意味

ソ コ 存 必要 い!

いう事

– Linux 開発 開発者

Internet Explorer Linux

開発 Windows

http://goo.gl/QV26

(21)

Development Mode

意味 Firebugs(Firefox)

Inspector(Safari) 実装

い 素晴 い 利用 事

いう事

(22)

Development Mode

Development Mode

ン い

複数

接続

(23)

Development Mode

Google Plugin for Eclipse

– Development Mode 起動 制御

表示

手動 Development Mode 起動

こ 可能

– Eclipse以外 IDE 利用 場合

Swing 使い

(24)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(25)

Speed Tracer Performance Analysis

• Speed Tracer

ン 問題 特定 修正 助

新 い

情報

取得用 接続 ン 情報 取得 視覚

的 統計情報 表示

• Speed Tracer 使用

ン 部分 時間 い 視

覚的 確認 事

(26)

Speed Tracer Performance Analysis

• Speed Tracer 項目 分析

– JavaScript構文解析 実行

– CSS 再計算

– DOM

– Timer

– XMLHttpRequest – a d ore…

• Speed Tracer http://goo.gl/F8MZ

(27)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(28)

Developer Guided Code Splitting

• GWT2.0 高速化 分割

定 う

動画 最後

待 事 想像 い 耐え

い 最近 Ajax

言え い う ?

分割 最初 実行 必要

片 ン 残 必要 応

(29)

Developer Guided Code Splitting

えば 作成

想像 い

機能以外 情報 設定やコ

ン 管理 機能 あ

分割 使う 機能

ン う ン

こ 速 書 始

(30)

Developer Guided Code Splitting

必要 追加機能部

分 コ ン

実装 非常 複雑

GWT 分割 使う 簡単 実装

(31)

Developer Guided Code Splitting

分割 実装 分割 作成 魔法

GWT.runAsync() 利用

簡単 安全 分割

• GWTコン 自動的 必要

• GWTコン 手動 依存関係 自動

解消 必要

開発 http://goo.gl/T6yh

(32)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(33)

Compiler Optimizations

分割 加え JavaScript 生成

能力 根本的 改良 加え

最新 GWTコン コン

JavaScript 従来

強力 最適化 ン ン 搭載

古いGWT 簡単 GWT2.0

へ移行 既存 GWT

再コン 実行速度

(34)

Compiler Optimizations

• GWT2.0 最適

化 含 い

コン JavaScript

3% 20% 報告

(35)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(36)

Draft Compile

開発時 JavaScript コン

必要 あ -draftCompile

ン 利用 う

最適化 高速

コン

Development Mode

必要性 思い

(37)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(38)

Declarative User Interfaces

• GWT UiBinder 使用

現 構築 代

XML 構築 う

• XML 機能

UI

単 何 高速 開発

– CSS 衝突 心配 必要

効率的

HTML GWT

好都合 国際化 一元管理

(39)

Declarative User Interfaces

• UiBinder UI

作業 ば い方法 え

• XML,HTML,CSS 使え UI

Java 必要

例えば

HTML コ &

(40)

Declarative User Interfaces

GWT 開発者 何人

UI 実験 直接

UiBinder XML 編集

Development Mode 速い 編集 /

繰 返 行 い 見

• HTML

使用 方 楽 い

(41)

Declarative User Interfaces

UiBinder コン .ui.xml .java

全参照 ID typo

微妙 防 助

最新 Google Plugin for Eclipse UiBinder 便

利 利用 う コ 補完

赤い 線 問題 指摘

ン 機能 供

• UiBinder 利用 http://goo.gl/I2dn

開発者 http://goo.gl/aVBY

(42)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(43)

Layout Panels

• UI 正確 HTML CSS

義 非常 難 い

• GWT2.0 以前 GWT 標準

え 問題 頭痛 種

GWT2.0 実際

欲 い 確実 作成 可

(44)

Layout Panels

標準 CSS 予測

constraint 作成

• CSS

ン ン 中 い ネ 扱わ

JavaScript 実行 必要

結果 流動的

ン 速 気

(45)

Layout Panels

UiBinder 連動

数行 XML 本当 洗練

作成

(46)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(47)

Bundled Resources via ClientBundle

• GWT 複数 画像

分割表示 ImageBundle いう仕組

1.4 搭載

い沢山 画像

あ 場合 通信 ン

回避

用意

(48)

Bundled Resources via ClientBundle

• 2.0 搭載 ClientBundle

CSS XML 拡張

開発 - ClientBundle http://goo.gl/HJpf

(49)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(50)

HtmlUnit for Testing

• 2.0 GWTTestCase 使用

代わ HtmlUnit 使用

• HtmlUnit Java 実装

関わ ネ コ あ

完全 Java 駆動開発

行う事

開発 - HtmlUnit http://goo.gl/SuaF

開発 – Testing with Junit http://goo.gl/6HNf

(51)

What’s Ne i GWT 2.0?

• Development Mode

• Speed Tracer Performance Analysis

• Developer Guided Code Splitting

• Compiler Optimizations

• Draft Compile

• Declarative User Interfaces

• Layout Panels

• Bundled Resources via ClientBundle

• HtmlUnit for Testing

• Bug Fixes…

(52)

Bug Fixes

GWT 2.0 includes lots of bugfixes (as well as little enhancements that didn't make it into the "New Features" section), including

Issue 427: TextArea#getSelectedText() returns the wrong value in Internet Explorer Issue 633: Added File#setEnabled to enable or disable FileUpload widgets

Issue 1574: Added Cookies#remoteCookie to programmatically remove cookies Issue 1585: Clicking on a Button in a Form no longer submits the forms automatically Issue 1633: Loading malformed cookies no longer result an an exception

Issue 1771: Added RpcRequestBuilder to encapsulate logic needed to build and an RPC request Issue 3102: HandlerManager#removeHandelr has be de-deprecated by popular request

Issue 3404: Added support for Class#getSimpleName()

Issue 3892: Multiple GWT applications on the same page can now preview events

Issue 3903: Host HTML pages no contain a noscript tag to warn users if JavaScript is disabled Issue 3936: Empty switch statement no longer causes compilation error

RichTextArea has also been enhanced:

Issue 1211: Support for undo/redo in RichTextArea

Issue 1433: Support for inserting arbitrary HTML into a RichTextArea Issue 1441: No cursor in RichTextArea until users start typing (Firefox) Issue 2185: Support for JustifyFull in RichTextArea

Issue 3176: Ensure that design mode is properly set in Firefox Issue 3503: Consistent focus behavior across browsers

These are but a few. For more details, see the full list of issues addressed in 2.0 in the GWT issue tracker.

参照

関連したドキュメント

A standard possibility to show uniqueness as well as the strong asymptotic stability (or the strong mixing property) of an invariant measure for a finite-dimensional

[37] , Multiple solutions of nonlinear equations via Nielsen fixed-point theory: a survey, Non- linear Analysis in Geometry and Topology (T. G ´orniewicz, Topological Fixed Point

We finally wish to remark that our results can be viewed as a first step towards the regularity theory of obstacle problems with integrands G being not of power growth.. The

It is shown that the space of invariant trilinear forms on smooth representations of a semisimple Lie group is finite dimensional if the group is a product of hyperbolic

In this work, we will first extend the full artificial basis technique presented in 7, to solve problems in general form, then we will combine a crash procedure with a single

Surprisingly, such an analysis enables us to verify the simplicial ap- proximation property of X (cf. This shows that the original approach of Schauder is “correctable.” As it

As in the symmetric case, an extension result for continuous linear functionals defined on subspaces of an asymmetric locally convex space will be particularly useful in developing

ISSUE