GWT im Einsatz

Robert Hanson, Adam Tacy

GWT im Einsatz

2007

567 Seiten

Format: PDF, Online Lesen

E-Book: €  39,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446414068

 

Inhalt

7

Vorwort

15

Danksagung

17

Zu diesem Buch

19

Teil 1 Erste Schritte

25

2 Die Standardanwendung erstellen

59

2.1 Der Entwicklungslebenszyklus der GWTStandardanwendung

60

2.2 Phase 1: Eine GWT- Anwendung erstellen

64

2.2.1 Das Projekt erstellen

68

2.2.2 Eine Anwendung erstellen

70

2.2.3 Internationalisierung einrichten

74

2.2.4 Internationalisierung implementieren

76

2.2.5 Unit-Testfälle erstellen

77

2.2.6 Import in ein IDE

79

2.3 Zusammenfassung

82

3 Zur eigenen Anwendung fortschreiten

83

3.1 Beschreibung des Anwendungsbeispiels

83

3.2 Phase 2: Die Anwendung entwickeln

85

3.2.1 Internationalisierung implementieren

87

3.2.2 Anwendung erstellen

90

3.2.3 Formate anwenden

100

3.3 Phase 3: Testen und Debuggen im Hostmodus

103

3.3.1 Auf den Hostmodus vorbereiten

104

3.3.2 Dashboard im Hostmodus ausführen

107

3.3.3 Dashboard im Hostmodus mit Eclipse debuggen

109

3.4 Phase 4: Code kompilieren

111

3.4.1 Code kompilieren und für den Webmodus vorbereiten

111

3.4.2 Kompilierungsergebnisse anzeigen

113

3.5 Phase 5: Code bereitstellen

115

3.5.1 Bereitstellung auf einem Webserver

115

3.5.2 Bereitstellung auf einem Dateisystem

115

3.6 Phase 6: Ausführung im Webmodus

116

3.7 Anwendungsprotokollierung implementieren

117

3.7.1 Informationen auf der Clientseite protokollieren

117

3.7.2 Informationen auf der Serverseite protokollieren

120

3.8 Zusammenfassung

120

Teil 2 Benutzeroberflächen erstellen

123

4 Mit Widgets arbeiten

125

4.1 Was ist ein Widget?

127

4.2 Die Standard-Widgets in GWT

130

4.3 Neue Widgets erstellen

155

4.4 Das Dashboard-Widget entwickeln

164

4.5 Zusammenfassung

169

5 Mit Panels arbeiten

171

5.1 Was ist ein Panel?

172

5.1.1 Panels als Java-Objekte verwenden

172

5.1.2 Panels als DOM-Elemente betrachten

173

5.2 Die Standard-Panels in GWT

175

5.2.1 Mit einfachen Panels interagieren

177

5.2.2 Komplexere Panels

183

5.2.3 Auf HTML-Tabellen basierende Panels

190

5.2.4 Zusammengesetzte Panels

194

5.3 Neue Panels erstellen

195

5.3.1 Panels von Grund auf neu erstellen

195

5.3.2 Panels durch Erweiterung eines vorhandenen Panels erstellen

198

5.4 Das Panel erstellen

200

5.5 Zusammenfassung

203

6 Ereignisbehandlung

205

6.1 Ereignisse untersuchen

206

6.1.1 Unterschiede bei browserspezifischen Ereignismodellen

207

6.1.2 Das GWT-Ereignisbehandlungsmodell

209

6.2 Auf Ereignisse horchen

213

6.2.1 Ereignisse versenken

213

6.2.2 Versenkte Ereignisse mit der Methode verwalten

215

6.2.3 Versenkte Ereignisse mit der Methode verknüpfen

218

6.2.4 Ereignisvorschau

219

6.2.5 Ereignisse durch Erweiterung von Listener-Klassen behandeln

221

6.2.6 Ereignisse in Ihren GWT-Code verschieben

222

6.2.7 Ereignisbehandlung durch den Browser verhindern

226

6.3 Browser-Standardereignisse behandeln

226

6.3.1 Auf Änderungen reagieren

228

6.3.2 Klick, klick

231

6.3.3 Fokus erhalten und verlieren

231

6.3.4 Tastatureingaben erfassen

232

6.3.5 Bilder laden

232

6.3.6 Mauseingaben verwalten

233

6.3.7 Bildlauf

234

6.3.8 Fenstergrößenänderung

235

6.3.9 Schließ-Ereignisse

236

6.4 Andere Ereignistypen behandeln

240

6.4.1 Formulare behandeln

240

6.4.2 Auf schließende Popup-Fenster reagieren

240

6.4.3 Registerkarten-Ereignisse

241

6.4.4 Tabellenereignisse

242

6.4.5 Baumstruktur-Ereignisse

243

6.5 Drag & Drop implementieren

244

6.5.1 Ziehen implementieren

244

6.5.2 Ablegen implementieren

248

6.6 Zusammenfassung

251

7 Zusammengesetzte Widgets erstellen

253

7.1 Was ist ein zusammengesetztes Widget?

254

7.2 Die Entwicklung zusammengesetzter Widgets

255

7.3 Editierbare Beschriftungen erstellen

256

7.3.1 Schritt 1: Komponenten ermitteln

258

7.3.2 Schritt 2: Panel-Layout und Struktur auswählen

260

7.3.3 Schritt 3: Die passenden GWT-Java-Schnittstellen implementieren

262

7.3.4 Schritt 4: Das zusammengesetzte Widget erstellen

265

7.3.5 Schritt 5: Das zusammengesetzte Widget formatieren

273

7.4 Ein zusammengesetztes Widget aus anderen zusammengesetzten Widgets erstellen

275

7.4.1 Schieberegler erstellen

276

7.4.2 Das Composite

278

erstellen

278

7.5 Das Dashboard-Composite erstellen

279

7.6 Zusammenfassung

281

8 JSNI-Komponenten erstellen

283

8.1 Einführung in JSNI

285

8.1.1 JSNI im Überblick

286

8.2 Kommunikation via JSNI

295

8.2.1 Mit dem Browser via GWT-Java kommunizieren

295

8.2.2 Mit dem Browser via JavaScript kommunizieren

296

8.2.3 Über eine JavaScript- API mit einer GWT- Anwendung kommunizieren

298

8.2.4 Kommunikation zwischen GWT- Anwendungen

300

8.3 Eine JavaScript-Bibliothek laden

302

8.3.1 Mit HTML eine JavaScript-Bibliothek laden

303

8.3.2 Mit der Modul-XML-Datei eine JavaScript-Bibliothek laden

303

8.4 Eine einfache JavaScript-Bibliothek kapseln

304

8.4.1 Auf eine geladene JavaScript-Bibliothek zugreifen

305

8.4.2 Das Widget in einer Anwendung einsetzen

310

8.5 Eine komplexe JavaScript-Bibliothek kapseln

311

8.5.1 Klassen erstellen

312

8.5.2 JavaScript-Objekte als Java-Objekte belassen

313

8.5.3 Benutzerdefinierten Code aus einer Bibliothek aufrufen

314

8.5.4 Komplexes, gekapseltes Widget in einer Anwendung einsetzen

316

8.6 Zusammenfassung

317

9 Eine Anwendung modularisieren

319

9.1 Modularisierungsstruktur erstellen

320

9.1.1 Modularisierung in GWT

320

9.1.2 Andere Module in eine Anwendung einbinden

322

9.1.3 Quell- und andere Ressourcenpfade festlegen

326

9.1.4 Serverressourcen einer Anwendung definieren

327

9.1.5 Die GWT-Eigenschaften einer Anwendung verwalten

328

9.1.6 Klassen basierend auf Eigenschaftswerten ersetzen

332

9.1.7 Generatoren in der Modul-XML-Datei registrieren

333

9.1.8 Ressourcen zur Laufzeit in eine Anwendung injizieren

334

9.1.9 Den Eintrittspunkt einer Anwendung festlegen

337

9.1.10 Die Modul-XML-Datei der Anwendung

337

9.2 Drittanbietermodule einbinden

339

9.3 Eigene Module packen

341

9.4 Java-Package-Struktur erstellen

343

9.5 Zusammenfassung

344

Teil 3 Fortgeschrittene Techniken

345

10 Kommunikation mit GWT-RPC

347

10.1 Grundlegende RPC-Konzepte

348

10.1.1 Überblick zur asynchronen Kommunikation

349

10.1.2 Beschränkungen bei der Kommunikation mit Remoteservern

350

10.1.3 Das Projekt

352

10.2 GWT-RPC implementieren

354

10.2.1 Überblick zu den serialisierbaren Datenobjekten

355

10.2.2 Den GWT-RPC-Dienst definieren

359

10.2.3 Vorbereitung der Clientseite eines GWT-RPC-Aufrufs

363

10.2.4 Aufruf des entfernten Serverdienstes

365

10.3 Zusammenfassung des Projekts

367

10.3.1 Projektübersicht

368

10.3.2 Serverseitige Dienstimplementierung

369

10.3.3 Aufruf des Dienstes auf dem Client

370

10.4 Zusammenfassung

370

11 Die clientseitige RPC-Architektur

371

11.1 Clientcode strukturieren

371

11.1.1 Die Komponente kapseln

372

11.1.2 Remoteaufrufe in einer Fassade kapseln

376

11.1.3 Rückrufroutine mit dem Kommandomuster

378

11.2 Verschiedene Abfragetechniken untersuchen

385

11.2.1 Aspekte der Abfragetechnik

386

11.2.2 Implementierung einer sich fortlaufend aktualisierenden Komponente

387

11.2.3 Server-Pushs durch Blockieren von Server-Threads emulieren

391

11.3 Benutzerdefinierte Feldserialisierer schreiben

394

11.3.1 Klasse für einen benutzerdefinierten Feldserialisierer erstellen

395

11.3.2 Benutzerdefinierte Feldserialisierung implementieren

397

11.4 Zusammenfassung

399

12 Klassisches Ajax und HTMLFormulare

401

12.1 Klassisches Ajax mit

402

12.1.1 HTTP-Methoden

402

12.1.2 Einfaches RPC mit

405

12.1.3 Mit XML-Daten laden

408

12.2 Grundlagen zu

415

12.2.1 Grundlagen zu

415

12.2.2 Auf Ereignisse hören

418

12.2.3 Ziel ändern

419

12.2.4 Verschiedene Formularelemente verwenden

422

12.3 Zusammenfassung

429

13 Interoperabilität mit JSON erzielen

431

13.1 Einführung in JSON

432

13.1.1 Das JSON-Datenformat

432

13.1.2 Mit JSONParser JSON-Nachrichten analysieren

433

13.2 Die JSON-Datenobjekte in GWT

434

13.2.1 Das Objekt

434

13.2.2 Grundlegende JSON-Typen

435

13.2.3 JSONValue-Objekte in einem JSONArray speichern

436

13.2.4 JSONValue-Objekte in einem JSONObject sammeln

438

13.3 Suchkomponente mit JSON erstellen

439

13.3.1 Die Yahoo Search- API

440

13.3.2 Suchkomponente implementieren

441

13.3.3 JSON-Daten an den Server senden

443

13.3.4 JSON-Serverantwort analysieren und validieren

445

13.4 Proxy-Dienst für Yahoo Search implementieren

448

13.4.1 JSON mit Java auf dem Server verwenden

449

13.4.2 JSON mit Perl auf dem Server verwenden

452

13.4.3 JSON mit Ruby auf dem Server verwenden

454

13.5 Zusammenfassung

456

14 Automatische Codegenerierung

457

14.1 Neue Typen generieren

458

14.2 GWT-Generatoren

459

14.2.1 Grundlegender Generatorcode

461

14.3 Generator für das Dashboard erstellen

462

14.3.1 Auf die Eingabeklasse zugreifen

463

14.3.2 Auf Kontexteigenschaften zugreifen

464

14.3.3 Protokollierung für Generatoren

465

14.3.4 Generieren der neuen Typenstruktur

466

14.3.5 Die neue Klasse erstellen

467

14.3.6 Generierte Klassen verwenden

473

14.4 Zusammenfassung

475

15 Anwendungen basierend auf GWTEigenschaften modifizieren

477

15.1 Kurze Zusammenfassung zu den Eigenschaften

478

15.2 Browserunterschiede verwalten

479

15.2.1 Wie GWT Browserunterschiede verwaltet

479

15.2.2 Das Flash-Widget erstellen

480

15.2.3 Eigenschaftsersetzung einrichten

483

15.3 Vollständige Unterstützung der Internationalisierung

484

15.3.1 Die statische Internationalisierung

485

15.3.2 Die dynamische Internationalisierung

498

15.4 Anwendung gebietsschemaspezifisch ändern

499

15.4.1 Standardkomponente implementieren

500

15.4.2 Gebietsschemaspezifische Klassen

500

15.5 Benutzerdefinierte Eigenschaften implementieren

502

15.5.1 Benutzerdefinierte Eigenschaften definieren

502

15.5.2 Benutzerdefinierten Eigenschaftsanbieter definieren

502

15.5.3 Ermittelten Eigenschaftswert überprüfen

503

15.5.4 Code erstellen

504

15.6 Zusammenfassung

504

Teil 4 Abschließende Ergänzungen

505

16 GWT-Anwendungen testen und bereitstellen

507

16.1 GWT-Code mit JUnit testen

507

16.1.1 JUnit für GWT-Entwickler

508

16.1.2 Testfall erstellen

513

16.1.3 Asynchronen Code testen

516

16.2 GWT- Anwendungen bereitstellen

518

16.2.1 Projekt organisieren

519

16.2.2 RPC-Servlets installieren

526

16.3 Zusammenfassung

532

17 Wie GWT funktioniert

533

17.1 Der Kompilierungsprozess und die Ausgabe

533

17.1.1 Der Kompilierungsvorgang

534

17.1.2 Was der Compiler ausgibt

536

17.2 Der Lademechanismus von GWT

541

17.2.1 Altanwendungen

541

17.2.2 Standardanwendungen

542

17.2.3 Bootstrapping für die Standardanwendung

543

17.2.4 Website-übergreifende Anwendungen

548

17.3 Java in JavaScript kompilieren

548

17.3.1 Das generierte JavaScript untersuchen

548

17.3.2 Java-Standardobjekte: Das

549

Objekt

549

17.3.3 Programmcode als JavaScript untersuchen

551

17.3.4 Überblick über das Initialisierungscodesegment

552

17.4 Zusammenfassung

554

Register

555

 

© 2009-2024 ciando GmbH