Sie sind hier
E-Book

JavaScript für Enterprise-Entwickler

Professionell programmieren im Browser und auf dem Server

AutorOliver Ochs
Verlagdpunkt
Erscheinungsjahr2012
Seitenanzahl302 Seiten
ISBN9783864911262
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis32,90 EUR
Immer mehr Programmierer von Enterprise-Anwendungen interessieren sich für JavaScript. Sie wollen sich schnell darin einarbeiten, sind aber oft nicht mit den gängigen JavaScript-Büchern für Webentwickler zufrieden. Nach einem schnellen Überblick über die JavaScript-Kernkonzepte geht es in diesem Buch daher ohne Umschweife an die spannenden Themen, u.a.: funktionales, prototypisches und objektorientiertes Programmieren, Testen, Packaging, Entwurfsmuster, jQuery und node.js. Kenntnisse in der Webentwicklung sind erforderlich, Jave-EE-oder .NET-Erfahrung ist hilfreich.

Oliver Ochs ist bei der Management-und IT-Unternehmensberatung Holisticon AG in der Leitung des Geschäftsfelds Architektur tätig. Seine Arbeitsschwerpunkte sind Architekturberatung, Softwaredesign und Entwicklung verteilter Systeme sowie die Beratung in Webprojekten. Dabei geht es u.a. um Website-Performanceoptimierung, Web-Content-Mangement, Java, Java EE und JavaScript. Oliver Ochs absolvierte ein Studium zum Dipl.-Ing. Medien und Informationswesen (FH) an der Hochschule für Technik, Wirtschaft und Medien in Offenburg.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhaltsverzeichnis16
1 Die Geschichte von JavaScript26
1.1 JavaScript – die Lingua franca des WWW26
1.2 Netscape und JavaScript26
1.3 Das Vorbild Self27
1.4 Das Vorbild Scheme28
1.5 JavaScript und ECMAScript28
1.6 ECMAScript 5th Edition29
1.7 Harmony30
1.8 JavaScript und HTML530
1.9 New Wave JavaScript30
1.10 Die JavaScript-Revolution31
1.11 Zusammenfassung32
2 JavaScript-Laufzeitumgebungen34
2.1 JavaScript-Interpreter34
2.2 Read-Eval-Print-Loop35
2.3 Der Browser36
2.4 Headless JavaScript36
2.5 Rhino37
2.6 SpiderMonkey, TraceMonkey und JägerMonkey38
2.7 Google V839
2.8 SquirrelFish und Nitro, Microsoft und Opera40
2.9 Welche Umgebung für welchen Zweck?40
2.10 Entwicklungsumgebungen40
2.11 Zusammenfassung41
3 Core JavaScript42
3.1 Skriptsprachen42
3.2 Typen und Werte43
3.2.1 Schwache Typisierung43
3.2.2 Literale43
3.2.3 Typeof-Operator43
3.2.4 Typenlose Verwendung44
3.3 Imperative Programmierung44
3.3.1 Ausdrücke und Operatoren44
3.3.2 Vergleiche45
3.3.3 Variablen45
3.3.4 Blöcke und Gültigkeit von Variablen46
3.3.5 Zahlen47
3.3.6 Zeichenketten48
3.3.7 Boolesche Werte49
3.3.8 Arrays49
3.3.9 Reguläre Ausdrücke50
3.3.10 Kommentare51
3.3.11 Tokens und Whitespaces52
3.3.12 Kontrollstrukturen53
3.3.13 Schleifen54
3.3.14 Ausnahmebehandlung56
3.4 Objektliteral57
3.5 Zusammenfassung58
4 JavaScript als funktionale Programmiersprache60
4.1 Funktionsliteral60
4.2 Funktionsnamen61
4.3 Parameter und Parametervalidierung61
4.4 Konfigurationsobjekt als lesbarer Parameter64
4.5 Anonyme Funktionen64
4.6 Geltungsbereiche (Scopes)65
4.7 this66
4.8 Geschachtelte Scopes und der globale Namensraum67
4.9 Closures und Module69
4.10 Funktionale Vererbung70
4.11 Callbacks72
4.12 Kaskaden73
4.13 Rekursion74
4.14 Funktions-Caching74
4.15 Currying75
4.16 Zusammenfassung75
5 JavaScript als prototypische Programmiersprache76
5.1 Definition und Verwendung76
5.2 Duck-Typing78
5.3 Prototypen78
5.4 Konstruktoren80
5.4.1 Kontruktoren und die new-Anweisung80
5.4.2 Entwurfsmuster für die new-Anweisung81
5.4.3 Konstruktor- und Prototypreferenz83
5.5 this83
5.5.1 Globales Objekt84
5.5.2 Funktion84
5.5.3 Methode84
5.5.4 Konstruktor84
5.5.5 that85
5.6 Reflexion85
5.7 Löschen von Eigenschaften85
5.8 Zusammenfassung86
6 JavaScript als objektorientierte Programmiersprache88
6.1 Objekterzeugungsmuster88
6.1.1 Rent-a-Constructor88
6.1.2 Konstruktoren überladen89
6.1.3 Rent-a-Constructor-and-a-Prototype89
6.1.4 Referenz auf die Superklasse halten90
6.2 Existierende Bibliotheken91
6.2.1 Klassenbasierte Vererbung in Prototype91
6.2.2 Douglas Crockfords Classical Inheritance in JavaScript93
6.2.3 John Resigs Simple JavaScript Inheritance95
6.3 Prototypische Vererbung97
6.4 Vererbung durch Kopieren98
6.5 Mixins99
6.6 Einzelne Methoden wiederverwenden100
6.7 Objekte in ES5101
6.7.1 Object.preventExtensions101
6.7.2 Object.isExtensible101
6.7.3 Object.seal102
6.7.4 Object.isSealed102
6.7.5 Object.freeze102
6.7.6 Object.isFrozen102
6.8 Objekteigenschaften in ES5103
6.8.1 Accessor-Properties103
6.8.2 Property-Descriptor103
6.8.3 Object.defineProperty104
6.8.4 Object.defineProperties105
6.8.5 Object.getOwnPropertyDescriptor105
6.8.6 Object.keys105
6.8.7 Object.getOwnPropertyNames106
6.8.8 Enumeration106
6.9 Objekterzeugung in ES5106
6.10 Bind in ES5107
6.11 Zusammenfassung107
7 Eingebaute Objekte108
7.1 Boolean109
7.2 Number109
7.3 String110
7.4 Array112
7.4.1 Array-ähnliche Objekte113
7.4.2 Arrays und reguläre Ausdrücke113
7.4.3 Arrays und ECMAScript 5th Edition113
7.5 Date114
7.6 Math116
7.7 RegExp117
7.8 Zusammenfassung119
8 Entwurfsmuster120
8.1 Singleton120
8.2 Iterator122
8.3 Factory124
8.4 Strategy125
8.5 Decorator126
8.6 Bridge128
8.7 Facade129
8.8 Adapter130
8.9 Proxy131
8.10 Mediator132
8.11 Observer133
8.12 Template-Method135
8.13 Command136
8.14 Spooling140
8.15 Futures und Promises141
8.16 Fear of Code143
8.17 Zusammenfassung143
9 JavaScript im Webbrowser – Teil 1144
9.1 Sandboxing144
9.2 Einbettung und Referenzierung145
9.3 Das Laden der Seite146
9.4 Das Window-Objekt147
9.5 Das Document-Objekt147
9.6 DOM-API148
9.7 Timer153
9.8 Events153
9.9 Zusammenfassung157
10 JavaScript auf dem Server mit Node158
10.1 Node-Grundlagen158
10.1.1 Netzwerkapplikationen158
10.1.2 Non-Blocking I/O159
10.1.3 Event-Loop159
10.1.4 Anwendungsfälle für Node160
10.2 Node installieren161
10.3 Hello World in Node162
10.4 Events163
10.5 Buffer166
10.6 Streams169
10.6.1 Readable Streams170
10.6.2 Writable Streams172
10.7 Weitere APIs174
10.8 Module174
10.9 Package-Management177
10.10 Debugging180
10.11 Beispielapplikation mit dem Express-Framework182
10.12 Zusammenfassung195
11 JavaScript im Webbrowser – Teil 2196
11.1 Formulare196
11.2 Ajax199
11.3 Eine Einführung in jQuery202
11.4 Einführung in jQuery-UI207
11.4.1 Widgets207
11.4.2 Interaction-Helpers und Effekte212
11.4.3 Themeroller212
11.5 Zusammenfassung212
12 Build-Automatisierung214
12.1 Kompilieren214
12.2 Packaging215
12.2.1 Assemblierung215
12.2.2 Minifizierung216
12.2.3 CommonJS-Module und Pakete216
12.3 Testing217
12.4 Linting217
12.5 Deployment217
12.6 Dokumentation217
12.7 Maven218
12.7.1 wro4j218
12.7.2 Jasmine-Maven-Plug-in220
12.7.3 JsDoc-Toolkit-Maven-Plug-in221
12.8 Weitere Build-Systeme222
12.9 Require.js222
12.10 Zusammenfassung222
13 Testen224
13.1 Klassisches Testen224
13.2 User-Interface-Tests225
13.3 Testgetriebene Entwicklung225
13.4 Unit Tests226
13.5 Modultests im Browser228
13.6 Stand-alone-Unit-Tests mit Jasmine231
13.7 Verteiltes Testen mit JsTestDriver236
13.8 Zusammenfassung239
14 Nachwort240
Anhang242
A Referenz Core JavaScript244
A.1 Anweisungen244
A.1.1 Leere Anweisung244
A.1.2 Var-Anweisung244
A.1.3 Let-Anweisung244
A.1.4 Const-Anweisung244
A.1.5 Block-Anweisung245
A.1.6 Try-Catch-Finally-Block245
A.1.7 Throw-Anweisung245
A.1.8 Debugger-Anweisung245
A.1.9 Return-Anweisung246
A.2 Ausdrücke und Operatoren246
A.2.1 Ausdrücke246
A.2.2 Operatoren246
A.3 Kontrollstrukturen250
A.3.1 If-Else-Anweisung250
A.3.2 Switch-Case-Anweisung250
A.3.3 While-Anweisung251
A.3.4 Repeat-Until-Anweisung251
A.3.5 Do-While-Anweisung251
A.3.6 For-Anweisung251
A.3.7 Label-Anweisung252
A.3.8 Break-Anweisung252
A.3.9 Continue-Anweisung253
A.4 Whitespaces253
A.5 Kommentare253
A.6 Werte254
A.7 Literale254
A.7.1 Number254
A.7.2 NaN254
A.7.3 Infinity255
A.7.4 Formatierung255
A.7.5 number.toFixed255
A.7.6 number.toPrecision255
A.7.7 number.toString255
A.7.8 number.toExponential255
A.7.9 parseInt256
A.7.10 parseFloat256
A.8 Strings256
A.9 Boolean256
A.10 Reguläre Ausdrücke257
A.11 Array257
A.12 Objektliterale258
B Objektreferenz260
B.1 Boolean260
B.1.1 Konstruktor260
B.1.2 Eigenschaften261
B.1.3 Methoden261
B.2 Number261
B.2.1 Konstruktor261
B.2.2 Eigenschaften262
B.2.3 Methoden262
B.3 String263
B.3.1 Konstruktor263
B.3.2 Eigenschaften264
B.3.3 Methoden264
B.4 Array269
B.4.1 Konstruktor269
B.4.2 Eigenschaften270
B.4.3 Methoden270
B.5 Date275
B.5.1 Konstruktor275
B.5.2 Methoden276
B.6 Math280
B.6.1 Konstruktor280
B.6.2 Konstanten280
B.6.3 Rundungsfunktionen281
B.6.4 Filterfunktionen281
B.6.5 Trigonometrische Funktionen281
B.6.6 Logarithmische Funktionen282
B.6.7 Sonstige Funktionen283
B.7 RegExp283
B.7.1 Konstruktor283
B.7.2 Zeichen283
B.7.3 Eigenschaften285
B.7.4 Methoden285
C Namen und Namenskonventionen288
D JavaScript-Laufzeitumgebungen installieren290
D.1 Rhino290
D.2 TraceMonkey291
D.3 Google V8292
E Literatur294
Index296

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Ärzte Zeitung

Ärzte Zeitung

Zielgruppe:  Niedergelassene Allgemeinmediziner, Praktiker und Internisten. Charakteristik:  Die Ärzte Zeitung liefert 3 x pro Woche bundesweit an niedergelassene Mediziner ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

SPORT in BW (Württemberg)

SPORT in BW (Württemberg)

SPORT in BW (Württemberg) ist das offizielle Verbandsorgan des Württembergischen Landessportbund e.V. (WLSB) und Informationsmagazin für alle im Sport organisierten Mitglieder in Württemberg. ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...

e-commerce magazin

e-commerce magazin

PFLICHTLEKTÜRE – Seit zwei Jahrzehnten begleitet das e-commerce magazin das sich ständig ändernde Geschäftsfeld des Online- handels. Um den Durchblick zu behalten, teilen hier renommierte ...

F- 40

F- 40

Die Flugzeuge der Bundeswehr, Die F-40 Reihe behandelt das eingesetzte Fluggerät der Bundeswehr seit dem Aufbau von Luftwaffe, Heer und Marine. Jede Ausgabe befasst sich mit der genaue Entwicklungs- ...