Oliver Zeigermann JavaScript für Java-Entwickler

Größe: px
Ab Seite anzeigen:

Download "Oliver Zeigermann http://zeigermann.eu. JavaScript für Java-Entwickler"

Transkript

1 Oliver Zeigermann JavaScript für Java-Entwickler

2 4 Vorurteile 1. JavaScript ist eine tote Sprache 2. Java als Sprache ist sauberer und klarerer als JavaScript 3. JavaScript-Anwendungen sind ein einziges Chaos 4. Es gibt keinen vernünftigen IDE- Support für JavaScript

3 Vorurteil: JavaScript ist tot Zitat (anonymer redhat-entwickler): JavaScript is doomed to die

4 Warum gerade jetzt JavaScript? Browser werden immer Standard konformer IE6 ist tot JS Engines immer reifer und schneller JS läuft auf jedem Device JS ist Bürger erster Klasse auf Windows 8 Seit ECMAScript 5 ist JavaScript als Sprache gut genug u.a. strict mode

5 HTML5 = HTML + CSS + JavaScript LocalStorage, SessionStorage, index DB, WebSql Canvas Web Workers DnD Web Sockets

6 Vorurteil: Java als Sprache ist sauberer und klarerer als JavaScript Zitat (anonymer Clean Coder): Dein JavaScript sieht aus wie ein Merge-Conflict

7 Grundlagen

8 Hello World #1 <!DOCTYPE html> <html> <head> <script> alert("hello World"); </script> </head> <body></body> </html>

9 Hello World #2 <!DOCTYPE html> <html> <body> <div id="log"></div> <script> var el = document.getelementbyid("log"); el.innerhtml = "<h1>hello World</h1>"; </script> </body> </html>

10 Hello World #3 node -e "console.log('hello World');"

11 Funktionen function f1(p1, p2) { return p1 + p2; } var result1 = f1(1,2); console.log(result1); // => 3 var result2 = f1(1); // WOW console.log(result2); // => NaN

12 Objekte var map = {key1: "value1", key2: 1}; var value1 = map.key1; var value2 = map["key2"]; map.key1 = true; map.f = function() { return "Cool!" }; for (var key in map) { console.log(key + ":" + map[key]); }

13 Ist JavaScript eine schlechte Sprache? Die hässlichen bzw. verwirrenden Teile von JavaScript sind offensichtlich und wohlbekannt 1. Scopes 2. Prototypische Vererbung 3. Wie wird this gesetzt? 4. Hoisting

14 Keine lexikalischen Scopes { } var shouldbelocal = "I am still here"; console.log(shouldbelocal); // => I am still here console.log(shouldbelocal); // => I am still here

15 Scopes mit IIFE (function () { var thatsthewaythecookiecrumbles = "I am gone"; console.log(thatsthewaythecookiecrumbles); // => I am gone })(); console.log(thatsthewaythecookiecrumbles); // => ReferenceError

16 Prototypische Vererbung extends(horse, Animal); function Horse(name) { Animal.call(this, name); } Horse.prototype.move = function () { alert("galloping..."); Animal.prototype.move.call(this, 45); }; var bb = new Horse( Black Beauty ); bb.move();

17 this this kann in JavaScript auf mindestens 5 Arten gesetzt werden 1. Globaler Scope 2. Konstruktor 3. Methodenaufruf 4. call / apply 5. bind Wie this gebunden wird, ist auch für erfahrene JavaScript-Programmierer nicht immer einfach

18 Hoisting console.log(doesnotexist); // Uncaught ReferenceError console.log(hoisted); // undefined var hoisted = 10; console.log(hoisted); // 10

19 ... aber...

20 Ist Java eine klare und einfache Sprache? Bitte alle Arme nach oben Nun Arm runter wer nicht komplett versteht oder gar nicht weiß, wo das Problem liegen sollte Bitte ehrlich sein Boxing / Un-Boxing Generics Initialisierungsreihenfolge bei Klassen und Vererbung

21 Was ist hier falsch? public class GenericDatastoreServiceImpl<T extends HasId<String> & HasStringData, String> implements GenericDataService<String, T> { String wat = ; // Incompatible types }

22 These: JavaScript und Java haben beide ihre schlimmen Teile, aber an die von Java haben wir uns schon gewöhnt...

23 JavaScript ist nicht schlechter als Java, sondern anders

24 Fragen-Block #1 Timebox: 5 Minuten

25 Vorurteil: JavaScript-Anwendungen sind Chaos Zitat (anonymer GWT-Entwickler): JavaScript-Anwendungen sind unstrukturiertes Chaos und können nicht optimiert werden

26 Module var Module = {}; (function() { function InternalStuff() {...} function Person(name, age) { // uses class InternalStuff } Module.Person = Person; })(); var olli = new Module.Person("Olli", 42); Module.InternalStuff === undefined;

27 Live-Demo: Best Practices Entwicklungsprozess

28 Zusammenfassung Live- Demo #1 1. Es gibt ein reifes Build-Tool (Grunt) für JavaScript, vergleichbar mit Gradle 2. Turnaround-Zeiten fast nicht vorhanden 3. Produktionsversionen können statisch zusammengestellt und optimiert werden

29 Zusammenfassung Live- Demo #2 4. Es gibt ein statisches (!) Abhängigkeitsmanagement (Bower), vergleichbar mit Maven / Ivy 5. Werkzeuge werden über node / npm installiert 6. Automatisierte Linter und Tests sind Standard

30 Vorurteil: Es gibt keinen vernünftigen IDE-Support für JavaScript Zitat (anonymer JavaScript- Entwickler): Die beste JavaScript-IDE ist vi

31 Live-Demo: JavaScript IDE WebStorm

32 Zusammenfassung Live-Demo #1 1. Es gibt ausgereifte, mit JUnit vergleichbare Testframeworks 2. Testläufe und Code-Coverage in eng in IDE integriert 3. Umfangreiche Checks mit unterschiedlichen Tools möglich

33 Zusammenfassung Live-Demo #2 4. Code-Completion / Code-Analyse / Refactoring komfortabel aber nicht immer verlässlich 5. zusätzliche Typ-Deklarationen (TypeScript / Closure Compiler) bringen Verlässlichkeit

34 Best-Practices Refactoring JavaScript #1 1. Breite und sinnvolle Testabdeckung (noch wichtiger als in Java) 1. Unit 2. Integration 2. Möglichst kleine Module mit klaren Schnittstellen 3. Evtl. Event-Bus

35 Best-Practices Refactoring 4. Typen einführen JavaScript #2 Google Closure Compiler TypeScript 5. Keine komplexen Expressions in Templates 6. Mächtige IDE benutzen

36 Mehr Vorurteile Es gibt keinen Standard, jeder Browser implementiert seinen eigenen Dialekt JavaScript ist langsam JavaScript ist wie CSS und HTML für Designer, nicht für richtige Entwickler Große Projekte sind nicht möglich

37 Zusammenfassung JavaScript lebt JavaScript und seine Umgebung sind reif für echte Anwendungen Es gibt vernünftige JavaScript-IDEs JavaScript ist nicht hässlicher als Java, nur anders hässlich

38 Nathaniel Schutta, Dienstag, 5. November :30 bis 17:30 The JavaScript Developer's Toolchain

39 Kai Tödter, Mittwoch, 6. November :15 bis 11:15 TypeScript: Das neue JavaScript?

40 Ted Neward, Mittwoch, 6. November :15 bis 11:15 Busy Developer's Guide to NodeJS

41

42 Vielen Dank für die Aufmerksamkeit Fragen / Diskussion Oliver

43 Bonus-Vorurteil: Mit JavaScript kann man keine großen, wartbaren Projekte umsetzen Zitat (anonymer Java-Architekt): Programmieren ohne ein starkes Typensystem ist wie ohne Bremsen auf der Autobahn fahren

44 Was ist ein großes Projekt? Viele Tausend (Hunderttausend?) Zeilen Code Viele (externe) Abhängigkeiten Viele Entwickler arbeiten daran Kommen und Gehen Es lebt viele Jahre (manchmal mehrere Jahrzehnte)

45 Was braucht ein großes Projekt? Der Code muss gut wartbar sein Modular Analysierbar Refactorbar Der Code muss gut lesbar sein Gute Dokumentation? Es muss ein brauchbares Abhängigkeitsmanagement geben Es muss ein Build-Management und CI geben Der Code muss gut getestet sein inkl. automatisierbarer Tests

46 AngularJS: Beispiel eines großen JavaScript-Projekts Anzahl JS-Zeilen (ohne Tests): ~50k cd src; find. -name '*.js' xargs wc -l Tests: >30k Unit und e2e JavaScript braucht typischerweise deutlich weniger Code als Java für die gleich Aufgabe Interne Module ~10 > 20 Abhängigkeiten zu anderen Projekten u.a. jquery, selbst noch einmal so groß Lebt seit 2009 Kernteam bei Google > 10 > 300 externe Mitarbeiter am Projekt

47 Automatisiertes Build und CI Abhängigkeitesmanagement über node / npm und bower Build über grunt Integration in Travis und Jenkins

48 JsDoc Dokumentation ähnlich wie JavaDoc Generiert direkt die Webseite

49 Google Closure Compiler Statische Typinformation in Kommentaren Angeleht an JsDoc Erweitert um alle aus Java bekannten Konstrukte inkl. Sichtbarkeit Typinformation wird benutzt für Dokumentation Minifizierung Statische Checks Besseres Tree Shaking WebStorm-IDE Code-Completion Analyse Refactoring

50 Beispiel Closure Annotationen /** Converts the specified string to lowercase. * {string} string String to be converted to lowercase. {string} Lowercased string. */ function lowercase(string) { }

51 Tests Unit-Tests mit Jasmine E2E-Tests mit anguluar-scenario direkt auf den Code-Beispielen in der Dokumentation Automatische Ausführung auf jedem CI server Karma-Testrunner PhantomJS: Headless Browser

52 Exkurs: Brauchen wir Typen? Zitat (anonymer JavaScript-Hacker): Deklarierte Typen sind für ältere Leute, die mit dynamischen Sprachen überfordert sind

53 Welchen Vorteil haben deklarierte, statische Typen? Oft gehört: Man kann sich nicht verschreiben Der Compiler bietet durch sein Typensystem eine Reihe von automatischen Tests Das Programm enthält weniger Fehler

54 Welchen Vorteil haben sie wirklich? Wie schwer ist die Auswirkung? Wie schwer ist die Ursache zu finden? Allerdings: Ohne deklarierte, statische Typen gibt es keine verlässliche IDE- Unterstützung.

55 Wie gehen wir damit um? Option 1: Annehmen Wir wissen darum und stellen uns darauf ein Wir definieren Module mit sehr klaren Schnittstellen Wir halten diese Module klein Wir nutzen die bestmöglichen IDEs Wir haben eine sinnvolle Testabdeckung

56 Wie gehen wir damit um? Option 2: Deklarierte Typen Wir fügen JavaScript deklarierte Typen hinzu Dadurch erlangen wir IDE-Unterstützung vergleichbar mit der von Java Optionen sind Google Closure-Compiler und TypeScript Beide werden von WebStorm unterstützt

57 Live-Demo: Das Riesen-Projekt Angular.js Automatisches Build Automatische Tests Typen mit dem Closure-Compiler

TypeScript JavaScript mit ohne Kopfschmerzen. Veit Weber 3. JUG Saxony Day Radebeul

TypeScript JavaScript mit ohne Kopfschmerzen. Veit Weber 3. JUG Saxony Day Radebeul TypeScript JavaScript mit ohne Kopfschmerzen Veit Weber 3. JUG Saxony Day 30.09.2016 Radebeul Über mich blog.pikodat.com veit_weber Workshops Apps AngularJS Java EE Agenda 01 02 03 Die Krankheit JavaScript

Mehr

Mit AngularJS Projekte schnell an die Wand fahren

Mit AngularJS Projekte schnell an die Wand fahren Mit AngularJS Projekte schnell an die Wand fahren Häufige Fehler und wie sie sich vermeiden lassen Rouven Röhrig 2 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und

Mehr

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1 XML Technologien Seminar WS 2011/2012 01.04.12 Einführung in HTML5 1 EINFÜHRUNG IN HTML5 Eine kurze historische Einführung HTML5 Ausblick und kritische Reflexion 01.04.12 Einführung in HTML5 2 Eine kurze

Mehr

JavaScript ohne Schrecken?

JavaScript ohne Schrecken? NILS HARTMANN Eine Einführung in TypeScript JavaScript ohne Schrecken? Slides: https://bit.ly/jug-saxony-typescript JUG SAXONY DAY DRESDEN SEPTEMBER 2018 @NILSHARTMANN NILS HARTMANN Programmierer aus Hamburg

Mehr

Florian Rappl. TypeScript

Florian Rappl. TypeScript Florian Rappl TypeScript Profil Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP Kurzer Abriss Aufschwung von JS Vielzahl von Bibliotheken / Code Größere

Mehr

Web-Techniken Einführung in JavaScript

Web-Techniken Einführung in JavaScript Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2

Mehr

Vorstellung e.solutions

Vorstellung e.solutions Vorstellung e.solutions JavaScript, TDD und Code-Katas 1 Copyright e.solutions 5/3/2017 e.solutions Das Joint Venture von Audi und Elektrobit Bereiche bei e.solutions Bereiche bei e.solutions Erlangen

Mehr

LT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE. Ralf Enderle

LT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE. Ralf Enderle LT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE Ralf Enderle BE AWARE! Wir betrachten in diesem Lighting Talk ausschließlich die schönen Effekte einiger Feature von Node.js bzw. JavaScript. Über die dunklen

Mehr

Code-Organisation in JavaScript

Code-Organisation in JavaScript Code-Organisation in JavaScript Webworker-Stammtisch NRW 10. Januar 2013 Frederic Hemberger Codekapselung What happens in Vegas, stays in Vegas. Warum sollte man Code kapseln? Wir haben immer mehr Scripte

Mehr

Google s JavaScript Engine: V8

Google s JavaScript Engine: V8 Google s JavaScript Engine: V8 Thomas Hütter (1120239) Mario Preishuber (1120643) Fachbereich Computerwissenschaften Naturwissenschaftliche Fakultät 24. Februar 2014 1 von 17 INHALT Allgemein Was ist JavaScript?

Mehr

Überblick. Klassen Optionale Typen DOM. Optionale Parameter Klassen. Einführung. 2 Motivation 3 Werkzeuge 4 Demonstration 5 Dart

Überblick. Klassen Optionale Typen DOM. Optionale Parameter Klassen. Einführung. 2 Motivation 3 Werkzeuge 4 Demonstration 5 Dart Eine kurze Lehrstuhl für Datenmanagement und -exploration RWTH Aachen Proseminar SS 2012 1 / 17 Überblick 1 2 3 4 5 6 7 8 2 / 17 1 -basierte Programmiersprache für Webanwendungen Entwickelt von Google

Mehr

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 1 Web-Testen mit JUnit und HttpUnit Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 2 Inhalt Entwicklertests in der Praxis Unit-Testing JUnit HttpUnit Praktisches Beispiel Bewertung

Mehr

Scala. Abstrakte Elemente. Jevgeni Zelenkov. HM

Scala. Abstrakte Elemente. Jevgeni Zelenkov. HM Scala. Abstrakte Elemente Jevgeni Zelenkov. HM. 2010. Was sind abstrakte Elemente Abstrakte Elemente sind Elemente in Traits oder Klassen, die keine konkrete Implementierung haben. Abstrakte Klassen und

Mehr

NILS HARTMANN. React MODERNE WEB-ANWENDUNGEN MIT. Slides: BED-CON BERLIN SEPTEMBER

NILS HARTMANN. React MODERNE WEB-ANWENDUNGEN MIT. Slides:   BED-CON BERLIN SEPTEMBER NILS HARTMANN React MODERNE WEB-ANWENDUNGEN MIT Slides: http://bit.ly/bedcon-react BED-CON BERLIN SEPTEMBER 2017 @NILSHARTMANN NILS HARTMANN Programmierer aus Hamburg Java JavaScript, TypeScript Trainings

Mehr

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl

Mehr

ARS. JavaScript/node.js Entwickler (m/w) ARS Computer und Consulting GmbH /

ARS. JavaScript/node.js Entwickler (m/w) ARS Computer und Consulting GmbH  / JavaScript/node.js Entwickler (m/w) Computer und Consulting GmbH www.ars.de / hr@ars.de DAS INTERVIEW HR Managerin Anita Feuchtinger im Interview mit einem unserer JavaScript Entwickler: HR: Wo arbeitest

Mehr

Mit AngularJS Projekte schnell an die Wand fahren

Mit AngularJS Projekte schnell an die Wand fahren Mit AngularJS Projekte schnell an die Wand fahren Häufige Fehler und wie sie sich vermeiden lassen Rouven Röhrig 2 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

CI was tut sich mit Jenkins in Sachen Test?

CI was tut sich mit Jenkins in Sachen Test? CI was tut sich mit Jenkins in Sachen Test? Ziel dieses Vortrags Sie sehen, dass CI mit Jenkins für alle Projektbeteiligte Nutzen stiftet Sie kennen den aktuellen Stand der Testautomation Statische Code-Analyse

Mehr

Informatik II Übung 6 Gruppe 7

Informatik II Übung 6 Gruppe 7 Informatik II Übung 6 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,

Mehr

Softwaretechnik. Vorlesung 02: Spezifikation mit Typen. Peter Thiemann SS Universität Freiburg, Germany

Softwaretechnik. Vorlesung 02: Spezifikation mit Typen. Peter Thiemann SS Universität Freiburg, Germany Softwaretechnik Vorlesung 02: Spezifikation mit Typen Peter Thiemann Universität Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 21 Inhalt Spezifikation mit Typen Exkursion:

Mehr

string: Beispiele: Test, test, `Seitentitel: ${document.title}`

string: Beispiele: Test, test, `Seitentitel: ${document.title}` JS Crashkurs Einige JavaScript spezifische Dinge zusammengefasst. Datentypen Javascript kennt folgende primitiven Datentypen: undefined number: Beispiele: 1 1.0.0 1. 0x1 1e0 boolean: true oder false string:

Mehr

Frontend-Entwicklung mit JavaScript

Frontend-Entwicklung mit JavaScript headquarter Frontend-Entwicklung mit JavaScript Single Page Applications Server-Side HTML Rendering Client-Side HTML Rendering kein JavaScript wenig JavaScript nur JavaScript Der Browser bietet viele neue

Mehr

Das lustige Überlebenshandbuch. Oliver Pehnke, Benjamin Schmid

Das lustige Überlebenshandbuch. Oliver Pehnke, Benjamin Schmid Das lustige Überlebenshandbuch für JavaScript Oliver Pehnke, Benjamin Schmid nasa.org ist die erfolgreichste Sprache JavaScript JavaScript ist die erfolgreichste Sprache im im bekannten bekannten Universum.

Mehr

NILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN. React.

NILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN. React. NILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN React http://bit.ly/react-lehmanns LEHMANNS MEDIA HAMBURG SEPTEMBER 2016 NILS HARTMANN @NILSHARTMANN OLIVER ZEIGERMANN @DJCORDHOSE HTTP://REACTBUCH.DE SINGLE

Mehr

Node.js Einführung Manuel Hart

Node.js Einführung Manuel Hart Node.js Einführung Manuel Hart Seite 1 Inhalt 1. Node.js - Grundlagen 2. Serverseitiges JavaScript 3. Express.js 4. Websockets 5. Kleines Projekt Seite 2 1. Node.js Grundlagen Node.js is a JavaScript runtime

Mehr

Software build (-erstellung), deployment(-verteilung) und execution(-ausführung)

Software build (-erstellung), deployment(-verteilung) und execution(-ausführung) Software build (-erstellung), deployment(-verteilung) und execution(-ausführung) (in eingebetteten Systemen) Inputvortrag Nebenläufige Systeme am 1.11.18 Georg Ringwelski Was machen Sie beim Entwickeln

Mehr

Einführung in Google Web Toolkit

Einführung in Google Web Toolkit Einführung in Google Web Toolkit Lars Pfannenschmidt Tobias Ullrich Software Freedom Day 2009 Lars Pfannenschmidt, Tobias Ullrich () Einführung in Google Web Toolkit Software Freedom Day 2009 1 / 24 Aus

Mehr

Über mich. Daniel Bälz. Softwareentwickler (inovex GmbH) github.com/dbaelz

Über mich. Daniel Bälz. Softwareentwickler (inovex GmbH) github.com/dbaelz Quo vadis Dart? Über mich Daniel Bälz Softwareentwickler (inovex GmbH) dbaelz.de plus.dbaelz.de github.com/dbaelz Agenda Was Wie Warum Wohin Was ist Dart? Übersicht Einsatzgebiet Client (Browser, CLI)

Mehr

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011 Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 3-1 Übungsblatt - 3 Thema: JavaScript

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Auf einen Blick. 1 Einführung Funktionen und funktionale Aspekte Objektorientierte Programmierung mit JavaScript...

Auf einen Blick. 1 Einführung Funktionen und funktionale Aspekte Objektorientierte Programmierung mit JavaScript... Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Funktionen und funktionale Aspekte... 61 3 Objektorientierte Programmierung mit JavaScript... 121 4 ECMAScript 6... 173 5 Der Entwicklungsprozess...

Mehr

Übung Open Data: Daten mit D3.js visualisieren

Übung Open Data: Daten mit D3.js visualisieren Übung Open Data: Daten mit D3.js visualisieren Termin 6, 26. März 2015 Dr. Matthias Stürmer und Prof. Dr. Thomas Myrach Universität Bern, Institut für Wirtschaftsinformatik Abteilung Informationsmanagement

Mehr

Build Management Tool

Build Management Tool Build Management Tool Build-Prozess? Source Code 3rd Party libraries Veröffentlichung Download all 3rd Party libs by hand Compile your sources: javac -sourcepath./src1;./src2 Byte Code -cp lib1.jar;lib2.jar

Mehr

versus Christian Grobmeier http://www.grobmeier.de @grobmeier

versus Christian Grobmeier http://www.grobmeier.de @grobmeier versus Christian Grobmeier http://www.grobmeier.de @grobmeier Programmiersprache von Google Kann JS ersetzen Läuft in einer VM Für ernsthafte Anwendungen Jung und rockt Heavy Metal Band aus England Ersetzt

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9d: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

XHTML MP. Mobile Internet. Axel Reusch ar047 MIB

XHTML MP. Mobile Internet. Axel Reusch ar047 MIB XHTML MP Mobile Internet Axel Reusch ar047 MIB Agenda Was ist XHTML MP Prinzip Funktionsweise WTAI Vorteile Nachteile Quellen Seite 2 Untermenge von XHTML (aktuell XHTML 1.1) Strikteres HTML (alle Tags

Mehr

Robuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten. Christoph Kern, Google

Robuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten. Christoph Kern, Google Robuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten Christoph Kern, Google Weit verbreitete Sicherheitslücken SQL-injection, XSS, XSRF, etc -- OWASP Top 10 Grundproblem: APIs/Frameworks

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Vorwort Einleitung Entstehung und Historie 18

Vorwort Einleitung Entstehung und Historie 18 Inhalt Vorwort 13 1 Einführung n 1.1 Einleitung 17 1.2 Entstehung und Historie 18 1.3 Einsatzgebiete von JavaScript 19 1.3.1 Clientseitige JavaScript-Webanwendungen 19 1.3.2 Serverseitige JavaScript-Anwendungen

Mehr

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER KURZPROFIL Die Softwareentwicklung erfordert viele Voraussetzungen an eine Person wie analytisches Denken, Kompetenzen in der Problemlösung und natürlich fachliche Fähigkeiten in der Anwendungsentwicklung.

Mehr

The app the crashes, before the breakpoint is reached: Code to the event:

The app the crashes, before the breakpoint is reached: Code to the event: I have set a breakpoint in an asyc event-handler to ListView.ItenTapped-Event (see screenshot below): I then tap on an ListView-entry on my iphone 5 The app the crashes, before the breakpoint is reached:

Mehr

Contao 4 Extension, from scratch!

Contao 4 Extension, from scratch! Contao 4 Extension, from scratch! Christian Schiffler Contao Nordtag 2017 25. März 2017 1/20 Xtra oder - der mit m Hut. Wers n das? About Christian Xtra Schiffler trägt meistens einen Hut und seltsame

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Online Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum: 26.06.12.

Online Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum: 26.06.12. Online Kataloge Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum: 26.06.12 Autor: Manuel Ginesta Kontakt: m.ginesta@ncag.ch Versionsliste Version Datum

Mehr

Objektorientiertes JavaScript

Objektorientiertes JavaScript Objektorientiertes JavaScript Christoph Fabritz dm121506@fhstp.ac.at http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische

Mehr

ASP: Active Server Pages

ASP: Active Server Pages ASP: Active Server Pages Allgemeines: ASP ist die serverseitige Schnittstelle zu Skripten/Programmen ausgehend vom Microsoft-Internet- Information-Server (z.b. in Windows-Server enthalten) Skript- und

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK ECHNISCHE UNIVERSIÄ MÜNCHEN FAKULÄ FÜR INFORMAIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2007/2008 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 9 F. Forster,. Gawlitza,

Mehr

Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden?

Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden? Stuttgarter Test-Tage 21. & 22. März 2013 Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden? Christian Baranowski Willkommen Christian

Mehr

Build Management Tool?

Build Management Tool? Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation

Mehr

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln Ziel dieses Vortrags Ich möchte Sie davon überzeugen, dass das Google-Web-Toolkit (GWT) das aktuell beste Tool zur Erstellung von modernen

Mehr

Echolot Qualitätssicherung mit Sonar

Echolot Qualitätssicherung mit Sonar Echolot Qualitätssicherung mit Sonar Thomas Haug thomas.haug@mathema.de www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain

Mehr

<body> <h1>testseite für HTML-Parameter-Übergabe<br>50 Parameter werden übergeben</h1>

<body> <h1>testseite für HTML-Parameter-Übergabe<br>50 Parameter werden übergeben</h1> Demo-Programme Parameterübergabe an PHP Testseite für HTML-Parameter-Übergabe (Datei get_param_test.html) testseite für

Mehr

Android-Testautomatisierung mit Robotium

Android-Testautomatisierung mit Robotium Android-Testautomatisierung mit Robotium Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt daniel.knott@xing.com Daniel Knott hat einen technischen

Mehr

Widget-Entwicklung für jquery Mobile

Widget-Entwicklung für jquery Mobile Widget-Entwicklung für jquery Mobile 2 Widget-Entwicklung für jquery Mobile 3 Widget-Entwicklung für jquery Mobile Plugins Plugin 4 Widget-Entwicklung für jquery Mobile Plugins... von dritten 5 Widget-Entwicklung

Mehr

Informatik II Übung 7 Gruppe 7

Informatik II Übung 7 Gruppe 7 Informatik II Übung 7 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 7 Leyna Sadamori 10. April 2014 1 Administratives Nächste Übung fällt leider aus! Bitte eine andere Übung besuchen.

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich

RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich RAP vs. GWT vs. GAE/J + jquery Web Technologien im Verlgeich RAP vs GWT vs jquery Dominik Wißkirchen 30. Oktober 2010 Abkürzungen RAP AJAX RWT Rich AJAX Platform Asynchronous JavaScript and XML RAP Widget

Mehr

Profil. Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP

Profil. Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP Florian Rappl Gulp Profil Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP Build Automation Skripte Make Grunt Gulp Vorteile von Grunt Task Runner Configuration-over-scripting

Mehr

Info B VL 11: Innere Klassen/Collections

Info B VL 11: Innere Klassen/Collections Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections

Mehr

Forms Desktop Kooperation

Forms Desktop Kooperation Forms Desktop Kooperation Oracle Forms in Integration & Interaktion Forms Day 2019 Motivation Kennen Sie diese Argumente? Kein modernes GUI.. fehlende Komponenten Forms zu starr und wird als Insel empfunden

Mehr

Anatomie eines Compilers am Beispiel von Pugs

Anatomie eines Compilers am Beispiel von Pugs Ingo Blechschmidt LUGA 3. August 2005 Inhalt Pugs 1 Pugs Übersicht Entwicklung Pläne Beteiligungsmöglichkeiten 2 Arbeitsschritte Beispiel: - 3 Perl 6 PIL PIL JavaScript Probleme 4 Pugs

Mehr

Automatisieren von Alltagsaufgaben. Tobias Meier BridgingIT GmbH

Automatisieren von Alltagsaufgaben. Tobias Meier BridgingIT GmbH Automatisieren von Alltagsaufgaben Tobias Meier BridgingIT GmbH Tobias Meier Lead Softwarearchitekt Microsoft Blog: http://blog.bridging-it.de/author/tobias.meier Twitter: @bittobiasmeier Email: Tobias.Meier@bridging-it.de

Mehr

Rapid Java wie mit Forms

Rapid Java wie mit Forms DOAG Konferenz 2011 Rapid Java wie mit Forms Java aktuell: XDEV 3 ist die erste professionelle Java IDE für Rapid Application Development. Viele RAD-Funktionen und die Arbeitsweise damit erinnern sehr

Mehr

Mobile hybride Applikationen Investment-App der BW-Bank

Mobile hybride Applikationen Investment-App der BW-Bank Mobile hybride Applikationen Investment-App der BW-Bank avono Aktiengesellschaft Breite Straße 2 70173 Stuttgart www.avono.de Fon (0711) 28 07 57 0 Fax (0711) 28 07 57-28 Ihr Referent Manfred Heiland Senior

Mehr

Inhalt. Teil I: Der Sprachkern von JavaScript

Inhalt. Teil I: Der Sprachkern von JavaScript Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...

Mehr

4. Vererbung Die Klasse Object. Die Klasse Object

4. Vererbung Die Klasse Object. Die Klasse Object 4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige

Mehr

Build Management Tool?

Build Management Tool? Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation

Mehr

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java

Mehr

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

Mehr

Was kann man in APEX automatisieren?

Was kann man in APEX automatisieren? Was kann man in APEX automatisieren? Oleg Kiriltsev Düsseldorf, 10.06.2015 Persönliche Daten Oleg Kiriltsev (31) Dipl.-Inform. Uni Duisburg-Essen Seit März 2013 IT-Berater bei MT AG, Oracle APEX Development

Mehr

Programmieren in Python

Programmieren in Python 13. Docstrings und weitere Kleinigkeiten Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011 Docstrings Dokumentation des Programms durch Kommentare im Code. Blockkommentare

Mehr

Webbasierte Programmierung

Webbasierte Programmierung Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 5: JavaScript Erste Schritte in JavaScript Variablen Definition Typen

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Die Klasse Vertiefung

Die Klasse Vertiefung Die Klasse Vertiefung Vom Objekt zur Klasse Basis des OO-Paradigmas ist (wen verwundert es): Das Objekt Objekte werden in der Lehre und im allgemeinen Programmier-Jargon selbstverständlich mit Klassen

Mehr

4. Februar 2008 Klausur EWA

4. Februar 2008 Klausur EWA Hochschule Darmstadt fbi Fachbereich Informatik Klausur Entwicklung webbasierter Anwendungen (EWA), WS 07/08 4. Februar 2008 Klausur EWA Name Vorname Matrikelnummer Note Aufgabe max. Punkte erreichte Punkte

Mehr

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER KURZPROFIL Die Softwareentwicklung erfordert viele Voraussetzungen an eine Person wie analytisches Denken, Kompetenzen in der Problemlösung und natürlich fachliche Fähigkeiten in der Anwendungsentwicklung.

Mehr

Daniela Reiner. Stuttgart,

Daniela Reiner. Stuttgart, Data driven documentation für PL/SQL Daniela Reiner Consultant daniela.reiner@trivadis.com Stuttgart, 14.05.2009 Basel Baden Bern Brugg Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München

Mehr

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server.

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Websockets Websocket: Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Vergleichbar mit TCP/IP-Socket, aber durch Client-Skript direkt nutzbar Mit eingebauter Nachrichten-Fragmentierung.

Mehr

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy Über Ant und Maven zu SBT und Gradle Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy 07.04.2011 Speaker Andreas Hartmann [hartmann@adesso.de] Principal Software Engineer

Mehr

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer

Mehr

HTML5. christian.cueni@bfh.ch

HTML5. christian.cueni@bfh.ch HTML5 christian.cueni@bfh.ch christian Cueni fh Biel Elektrotechnik Swisscom Eurospot / Swisscom Innovations / 89grad web / Mobile Web /

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Softwaretechnik WS 16/17. Übungsblatt 01

Softwaretechnik WS 16/17. Übungsblatt 01 Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

Java Webentwicklung (mit JSP)

Java Webentwicklung (mit JSP) Java Webentwicklung (mit JSP) SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 1 Inhalt 1 Zielsetzung... 1 2 Webprojekt mit Netbeans... 2 2.1 Webprojekt erstellen... 2 2.1.1 Neues Projekt... 2 2.2 Aufbau

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Angular & TypeScript. Grundlagen

Angular & TypeScript. Grundlagen Angular & TypeScript Grundlagen Überblick TypeScript Typen & Grundlagen Klassen & Interfaces Dekoratoren Module Tooling Modul Systeme & Module Loader TypeScript Compiler & Linting BuildSystem:

Mehr

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG. www.agentbase.

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG. www.agentbase. Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG www.agentbase.de 1 Agenda Grundlagen Modernisierung Möglichkeiten mit Domino

Mehr

Refactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag

Refactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität

Mehr

C++ OpenCppCoverage. Detlef Wilkening

C++ OpenCppCoverage. Detlef Wilkening http://www.wilkening-online.de Seite 1 / 52 C++ OpenCppCoverage Detlef Wilkening 10.11.2016 http://www.wilkening-online.de Seite 2 / 52 Warum überhaupt dieser Vortrag? Wir waren mal wieder in einer Gruppe

Mehr

jquery DIE Javascript-Library

jquery DIE Javascript-Library jquery DIE Javascript-Library Uwe Dierolf INETBIB 2010, 14. April.2010 KIT-BIBLIOTHEK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholz-Gemeinschaft Inhalt Motivation

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

D ie Z ukunft m it H TM L5

D ie Z ukunft m it H TM L5 D ie Z ukunft m it H TM L5 Folien unter http://www.w3c.de/events/2009/webtech-html5/sasaki-webtech09-html5.pdf 1 HTML5-Beispiele getestet mit Firefox 3.5.3 2 Sprecher Hauptschwerpunkte Mehrsprachige Daten

Mehr