TypeScript. Tobias Meier, BridgingIT GmbH.

Größe: px
Ab Seite anzeigen:

Download "TypeScript. Tobias Meier, BridgingIT GmbH."

Transkript

1 TypeScript Tobias Meier, BridgingIT GmbH

2 Tobias Meier Lead Softwarearchitekt Microsoftdging-it.de Blog: Twitter: bittobiasmeier Wir bringen Dinge zusammen Standort Mannheim N7, Mannheim Standort Karlsruhe Rüppurrer Straße Karlsruhe Standort München Riesstraße München Standort Nürnberg Königtorgraben Nürnberg Standort Frankfurt Solmsstraße Frankfurt Standort Stuttgart Marienstraße Stuttgart Standort Köln Waidmarkt Köln Standort Zug/Schweiz Baarerstraße 14 CH-6300 Zug

3 Agenda Bestandsaufnahme Überblick TypeScript Toolchain Details

4 JavaScript

5

6

7

8

9 JavaScript Intellisense Typsicherheit Compiler Refactoring.

10 Are you saying you cannot write large programs in JavaScript? Erik Meijer No, you can write large programs in JavaScript. You just can t maintain them. Anders Hejlsberg ( , ca. 11. Min.)

11

12 TypeScript 0.8 Typsicherheit Vererbung Module Compiler Superset von JavaScript

13

14 Datentypen: Number var zahl: number; var zahl2 = 33; //Impliziter Datentyp number zahl = 2; zahl = "abc";

15 Interfaces, Klassen und Vererbung interface IFahrzeug { fahren(kmh: number): void; bremsen?():void; class Auto implements IFahrzeug { fahren(kmh: number): void { var span = document. createelement('span'); span.textcontent = "fahre " + kmh.tolocalestring(); document.body.appendchild(span); var extends = this. extends function (d, b) { for (var p in b) if (b.hasownproperty(p)) d[p] = b[p]; function () { this.constructor = d;.prototype = b.prototype; d.prototype = new (); ; var Auto = (function () { function Auto() { Auto.prototype.fahren = function (kmh) { var span = document.createelement('span'); span.textcontent = "fahre " + kmh.tolocalestring(); document.body.appendchild(span); ; return Auto; )(); IFFE

16 Interfaces, Klassen und Vererbung class Tesla extends Auto { var fahrzeug: IFahrzeug; fahrzeug = new Tesla(); fahrzeug.fahren(20); var Tesla = (function (_super) { extends(tesla, _super); function Tesla() { _super.apply( this, arguments); return Tesla; )(Auto); var fahrzeug; fahrzeug = new Tesla(); fahrzeug.fahren(20);

17 Casting var auto = <Auto>meinMercedes; var fahrzeug = <any> auto;

18 Editoren Visual Studio Visual Studio Code WebStorm Eclipse u.s.w

19 Declaration declare var $;

20 Typdefinitionen verwenden Interfacedefinitionen Sammlung für alle gängigen Bibliotheken: Über NuGet Typings Packagemanager:

21 Typings Installation: $ npm install typings --global Beispiele: typings search jquery NAME SOURCE HOMEPAGE jquery dt typings install dt~jquery --global

22 Typdefinitionen erzeugen

23

24 Browser führt JavaScript aus SourceMap TypeScript Quellcode

25 Nur eine JavaScript-Datei

26 Demo Intellisense, Refactoring Referenzen, Typedefinitions Konfigurationsmöglichkeiten Debuggen

27 Herbst 2012 Alphaversion trotzdem produktiv verwenden?

28 Und im Notfall?

29 Meine Toolchain Visual Studio 2015 / Visual Studio Code IE / Chrome / Edge ReSharper NPM Gulp Typings JSPM

30 Angular 2: Built on TypeScript We're excited to unveil the result of a months-long partnership with the Angular team. This partnership has been [a] very productive and rewarding experience for us, and as part of this collaboration, we're happy to announce that Angular 2 will now be built with TypeScript. We're looking forward to seeing what people will be able to do with these new tools and continuing to work with the Angular team to improve the experience for Angular developers. Jonathan Turner (MS)

31 Details Properties Datentypen Lambda Expressions Module

32 Properties class Auto { private _kmh: number; get kmh(): number { return this._kmh; set kmh(value: number) { this._kmh = value; var auto = new Auto(); auto.kmh = 100;

33 Wichtigste Neuerung in.net 2.0?

34 Datentypen: Generics export class CalculatorHistory { constructor(private list: Array<number>) { add(val:number):void { this.list.push(val); var data: Array<number>; var calc = new CalculatorHistory); calc.add(10); calc.add ("Hallo"); //Fehler

35 Datentypen: Generics export class History<T extends CalculatorHistory> { constructor(private value: T) { var data : Array<number> = []; var a1 = new History ( new CalculatorHistory(data)); var a2 = new History (10); //Fehler

36 Datentypen: Union Types function f(x: number number[]) { if (typeof x === "number") { return x + 10; else { // return sum of numbers

37 Datentypen: Enums enum Color {Red, Green, Yellow var mycolor = Color.Green; var Color; (function (Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Green"] = 1] = "Green"; Color[Color["Yellow"] = 2] = "Yellow"; )(Color (Color = {)); var mycolor = 1 /* Green */;

38 Datentypen: Konstante Enums const enum Color {Red, Green, Yellow var mycolor = Color.Green; var mycolor = 1 /* Green */;

39 Type Aliase type BoolArray = Array<boolean>; type NumberCallback = (zahl:number) => void;

40 this und JavaScript class Greeter{ //... start() { this.timertoken = setinterval(function () { this.span.innerhtml = new Date().toUTCString();, 500);

41 this und JavaScript class Greeter{ //... start() { var _this = this; this.timertoken = setinterval(function () { _this.span.innerhtml = new Date().toUTCString();, 500);

42 Lambda und this start() { this.timertoken = setinterval(() => this.span.innerhtml = new Date().toUTCString(), 500);

43

44 Namespaces (interne Module) module demo{ export class ExpAuto{ constructor (data:string){ var auto1 = new demo.expauto ("Tesla"); import MyAuto = demo.expauto; var auto2 = new MyAuto()

45 Externe Module import {ExpAutofrom "fahrzeug"; var auto = new ExpAuto("Tesla"); //Datei fahrzeug.ts export class ExpAuto{ constructor (data:string){

46 Externe Module einbetten RequireJS SystemJS Harmoniert nicht mit TypeScript. Sobald die Pakete in unterschiedlichen Verzeichnissen liegen können diese nicht mehr gefunden werden. Perfekte Zusammenarbeit mit TypeScript Verwendet den JSPM- Package-Manager

47 Scopes testvar() { var x = 3; this.addmsg("x:" + x.tolocalestring()); if (x === 3){ var x = 2; this.addmsg("x (im IF):" + x.tolocalestring()); this.addmsg("x (außerhalb):" + x.tolocalestring());

48 Mehr Scopes dank Let testlet() { var x = 3; this.addmsg("x:" + x.tolocalestring()); if (x === 3){ let x = 2; this.addmsg("x (im IF):" + x.tolocalestring()); this.addmsg("x (außerhalb):" + x.tolocalestring());

49 Demo Module (Externe Namespaces) Scopes Voraussetzung: VS 2015 (TS 1.5)

50 Typescript 1.5 Neue ES6-Features Let/const werden auch nach ES5 kompiliert Decorators Sublime Text plugin

51 Typescript 1.6 Local Types Class expressions Abstrakte Klassen und Methoden Generische Type-Aliase

52 Typescript 1.7 Async/Await for ES6 target Polimorphic this Typing Potenz-Operator ** : 2**3 == 2*2*2

53 Typescript 1.8 Unreachable Code-Erkennung Implizites Return Modul-Erweiterungen (Module Augmentation) String-Literale: interface Optionen { Fahrtrichtung: "links" "rechts" "vor" "zurueck"

54 TypeScript wächst

55 TypeScript Was es kann: Typsicherheit Vererbung (Prototypal Inheritance) Module-Management Gültigkeitsbereiche (teilweise) Basis für besseren Refactoring-Support Was es nicht kann: JavaScript ersetzen

56 Angular 2.0: Big Picture Net User Group Karlsruhe Tobias Lead Softwarearchitekt Microsoft Blog:

57 Vielen Dank

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

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

II.4.5 Generische Datentypen - 1 -

II.4.5 Generische Datentypen - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche

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

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Java Tools JDK. IDEs.  Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber in den Übungen! Linux, OS X http://hhu-fscs.de/linux-install-party/

Mehr

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

Oliver Zeigermann http://zeigermann.eu. JavaScript für Java-Entwickler Oliver Zeigermann http://zeigermann.eu JavaScript für Java-Entwickler 4 Vorurteile 1. JavaScript ist eine tote Sprache 2. Java als Sprache ist sauberer und klarerer als JavaScript 3. JavaScript-Anwendungen

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

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 09:00-10:30 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Linux, OS X Freitag: http://hhu-fscs.de/linux-install-party/

Mehr

Evaluation von Angular als Framework für Single-Page-Webanwendungen

Evaluation von Angular als Framework für Single-Page-Webanwendungen Evaluation von Angular als Framework für Single-Page-Webanwendungen Seminarvortrag - David Simons 24.01.2018 Inhaltsverzeichnis Einleitung Motivation Kriterien Framework Vorstellung Community Auswahl Angular

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

IoT in der Praxis. Elektroautos, Ladesäulen und Azure

IoT in der Praxis. Elektroautos, Ladesäulen und Azure IoT in der Praxis Elektroautos, Ladesäulen und Azure Christoph Müller [email protected] @ChristophMM Tobias Meier http://blog.bridging-it.de/author/tobias.meier [email protected]

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

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

React.js flottes Front-End für Domino. Knut Herrmann

React.js flottes Front-End für Domino. Knut Herrmann React.js flottes Front-End für Domino Knut Herrmann Knut Herrmann Senior Software Architekt Leonso GmbH Notes Domino Entwickler seit Version 2 Web-App-Entwickler aktiv auf StackOverflow E-Mail: [email protected]

Mehr

TypeScript und CoffeeScript

TypeScript und CoffeeScript Vorlesungsreihe EwA JavaScript Erweiterungen und Alternativen am Beispiel von TypeScript und CoffeeScript Prof. Dr.-Ing. Thomas Wiedemann email: [email protected] HOCHSCHULE FÜR TECHNIK

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

Ich liebe Java && Ich liebe C# Rolf Borst

Ich liebe Java && Ich liebe C# Rolf Borst Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018 to to May 2018 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

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

Polymorphie. 15. Java Objektorientierung II

Polymorphie. 15. Java Objektorientierung II 432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen

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

Polymorphie. 15. Java Objektorientierung II

Polymorphie. 15. Java Objektorientierung II 446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen

Mehr

Cross-Platform Mobile mit.net

Cross-Platform Mobile mit.net Cross-Platform Mobile mit.net Mobile Entwicklungslandschaft Nativ Crosscompiled Hybrid Web Beste Usability? Überschaubare Kosten? Was ist Xamarin? Was ist Xamarin? 2011 Gegründet aus dem Ximian, Novell

Mehr

C++11. Objektorientierte Programmierung mit C++ enum classes ("strong enums") sind stark typisiert und scoped :

C++11. Objektorientierte Programmierung mit C++ enum classes (strong enums) sind stark typisiert und scoped : C - enums mit Problemen: konvertierbar nach int exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine forward Deklaration möglich) enum classes ("strong

Mehr

Thomas Sillmann. Swift im Detail HANSER

Thomas Sillmann. Swift im Detail HANSER Thomas Sillmann Swift im Detail HANSER Inhalt 1 Apples neue Programmiersprache: Swift 1 1.1 Willkommen bei Swift! 1 1.2 Warum Swift? 1 1.3 Swift und Objective-C 2 1.4 Voraussetzungen für die Swift-Entwicklung

Mehr

Weather forecast in Accra

Weather forecast in Accra Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature in Fahrenheit Temperature in Celsius 2 Converting Celsius to Fahrenheit f = 9 5 c + 32 tempc = 21

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Dexatek's Alexa Smart Home Skills Instruction Guide

Dexatek's Alexa Smart Home Skills Instruction Guide Dexatek's Alexa Smart Home Skills Instruction Guide Version 0.3 Author Esther Date 01/10/18 ~ 1 ~ Revision History Version Date Editor Remark 0.1 2017/04/05 Esther Initial version 0.2 2018/01/09 Esther

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

Generisches Programmieren. Generisches Programmieren

Generisches Programmieren. Generisches Programmieren Generisches Programmieren Generisches Programmieren 24.11.11 Uli Dormann 1 Inhaltsverzeichnis Motivation Ansatz Sprachen mit generischer Programmierung Generische Klassen Namenskonvention Prüfung Typsicherheit

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

SCRIPTCS. C# als Skriptsprache!?

SCRIPTCS. C# als Skriptsprache!? SCRIPTCS C# als Skriptsprache!? Was ist scriptcs? Vollständige Engine für C#-Code Wer hat s erfunden? Glenn Block (@gblock) Justin Rusbatch (@jrusbatch) Filip Wojcieszyn (@filip_woj) Was will scriptcs?

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

Mehr

Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition)

Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition) Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition) Lisa Johann Click here if your download doesn"t start automatically Download and Read Free Online Die Bedeutung neurowissenschaftlicher

Mehr

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient Filing system designer FileDirector Version 2.5 Novelties FileDirector offers an easy way to design the filing system in WinClient. The filing system provides an Explorer-like structure in WinClient. The

Mehr

Dies ist der zweite Artikel einer Serie über Electron.

Dies ist der zweite Artikel einer Serie über Electron. Electron WebDeskApps Dies ist der zweite Artikel einer Serie über Electron. Im ersten Artikel wurden die Grundlagen von Elektron, und die benötigten Ressourcen, die man benötigt um eine Elektron-App zu

Mehr

Informatik für Mathematiker und Physiker Woche 7. David Sommer

Informatik für Mathematiker und Physiker Woche 7. David Sommer Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen

Mehr

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Ghana Summer 2011 Lecture 05 Functions Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature

Mehr

Electron - WebDeskApps

Electron - WebDeskApps Electron - WebDeskApps Dies ist der dritte Artikel einer Serie über Electron. Im ersten Artikel wurden die Grundlagen von Electron, und die verschiedenen Ressourcen, die man benötigt um eine Electron-App

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

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

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, [email protected] Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie

Mehr

Die "Badstuben" im Fuggerhaus zu Augsburg

Die Badstuben im Fuggerhaus zu Augsburg Die "Badstuben" im Fuggerhaus zu Augsburg Jürgen Pursche, Eberhard Wendler Bernt von Hagen Click here if your download doesn"t start automatically Die "Badstuben" im Fuggerhaus zu Augsburg Jürgen Pursche,

Mehr

Algorithms for graph visualization

Algorithms for graph visualization Algorithms for graph visualization Project - Orthogonal Grid Layout with Small Area W INTER SEMESTER 2013/2014 Martin No llenburg KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum

Mehr

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number. Magic Figures Introduction: This lesson builds on ideas from Magic Squares. Students are introduced to a wider collection of Magic Figures and consider constraints on the Magic Number associated with such

Mehr

II.4.2 Abstrakte Klassen und Interfaces - 1 -

II.4.2 Abstrakte Klassen und Interfaces - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1

Mehr

Wie man heute die Liebe fürs Leben findet

Wie man heute die Liebe fürs Leben findet Wie man heute die Liebe fürs Leben findet Sherrie Schneider Ellen Fein Click here if your download doesn"t start automatically Wie man heute die Liebe fürs Leben findet Sherrie Schneider Ellen Fein Wie

Mehr

Unit 4. The Extension Principle. Fuzzy Logic I 123

Unit 4. The Extension Principle. Fuzzy Logic I 123 Unit 4 The Extension Principle Fuzzy Logic I 123 Images and Preimages of Functions Let f : X Y be a function and A be a subset of X. Then the image of A w.r.t. f is defined as follows: f(a) = {y Y there

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Die Alternative zum Web-Form Modell

Die Alternative zum Web-Form Modell Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET

Mehr

Informatik - Übungsstunde

Informatik - Übungsstunde Informatik - Übungsstunde Jonas Lauener ([email protected]) ETH Zürich Woche 08-25.04.2018 Lernziele const: Reference const: Pointer vector: iterator using Jonas Lauener (ETH Zürich) Informatik

Mehr

Cross-Plattform-App- Entwicklung mit Visual Studio 2017

Cross-Plattform-App- Entwicklung mit Visual Studio 2017 Cross-Plattform-App- Entwicklung mit Visual Studio 2017 Xamarin und Cordova André Krämer Softwareentwickler, Trainer & Berater [email protected] http://andrekraemer.de http://andrekraemer.de/blog http://github.com/andrekraemer

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

Kapitel 5: Interfaces

Kapitel 5: Interfaces Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

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

Session 1: Classes and Applets

Session 1: Classes and Applets Session 1: Classes and Applets Literature Sprechen Sie Java, ISBN 3-89864-117-1, dpunkt deutsch Java für Studenten, ISBN 3-8273-7045-0, PearsonStudium deutsch Java in a Nutshell, ISBN: 0-59600-283-1, O'Reilly

Mehr

Creating OpenSocial Gadgets. Bastian Hofmann

Creating OpenSocial Gadgets. Bastian Hofmann Creating OpenSocial Gadgets Bastian Hofmann Agenda Part 1: Theory What is a Gadget? What is OpenSocial? Privacy at VZ-Netzwerke OpenSocial Services OpenSocial without Gadgets - The Rest API Part 2: Practical

Mehr

2.2 Spezifikation abstrakter Datentypen. 2.3 Implementierung und Anwendung von ADT. 2.4 Datenabstraktion und Objektorientierung

2.2 Spezifikation abstrakter Datentypen. 2.3 Implementierung und Anwendung von ADT. 2.4 Datenabstraktion und Objektorientierung Inhaltsverzeichnis (update) 2 Datenabstraktion 2.1 Begriffe 2.2 Spezifikation abstrakter Datentypen 2.2.1 Algebraische Spezifikation 2.2.2 Modellierende Spezifikation 2.3 Implementierung und Anwendung

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

How-To-Do. Communication to Siemens OPC Server via Ethernet

How-To-Do. Communication to Siemens OPC Server via Ethernet How-To-Do Communication to Siemens OPC Server via Content 1 General... 2 1.1 Information... 2 1.2 Reference... 2 2 Configuration of the PC Station... 3 2.1 Create a new Project... 3 2.2 Insert the PC Station...

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen

Mehr

Oliver Paulus, [email protected]. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, [email protected]. Was ist Spring?

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring? [email protected] 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2

Mehr

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES Motivation Überblick Was macht Funktionale Programmierung aus? Sind Funktionale Programmierung und Objektorientierte Programmierung

Mehr

file:///c:/users/wpzsco/appdata/local/temp/tmp373d.tmp.htm

file:///c:/users/wpzsco/appdata/local/temp/tmp373d.tmp.htm Seite 1 von 5 Besucherinformation und -lenkung: Typ 09 Wegweiser Typenbeschreibungen File Geodatabase Table Thumbnail Not Available Tags Infrastruktur, Besucherinformation, Besucherlenkung, Schild, Standort,

Mehr

Gummilippe BMW e36 Motorsport M3 GT Class 2 II Flap

Gummilippe BMW e36 Motorsport M3 GT Class 2 II Flap Page 1 of 5 home pay register sign in site map Start new search Search Advanced Search Back to homepage Listed in category:auto & Motorrad > Auto-Tuning & -Styling > Spoiler > Heckspoiler & -flü Gummilippe

Mehr

Guidance Notes for the eservice 'Marketing Authorisation & Lifecycle Management of Medicines' Contents

Guidance Notes for the eservice 'Marketing Authorisation & Lifecycle Management of Medicines' Contents Guidance Notes for the eservice 'Marketing Authorisation & Lifecycle Management of Medicines' Contents Login... 2 No active procedure at the moment... 3 'Active' procedure... 4 New communication (procedure

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

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren: Installationshinweise Z250I / Z270I Adapter IR USB Installation hints Z250I / Z270I Adapter IR USB 06/07 (Laden Sie den Treiber vom WEB, entpacken Sie ihn in ein leeres Verzeichnis und geben Sie dieses

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr