TypeScript rocks?! 16. Mai 2017 Tuan Dang-Schulz.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Allgemeines Name: Ursprünglich: „Personal Home Page Tools“
C Sharp (C#) Martin Saternus Senior Student Partner
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Einführung in die Programmierung Zusammenfassung
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Microsoft Academic Program C# 2.0 Was gibts da Neues? Student Technology Conference 2005.
Kapselung , toString , equals , Java API
Zusammenfassung des Kapitels 8
FH-Hof Einbindung von JavaScript Anweisungen
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Polymorphie (Vielgestaltigkeit)
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
XDoclet ETIS SS05.
Einführung in die OOP in Java
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Introducing the .NET Framework
Software Design Patterns Extreme Programming (XP).
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
05 - Reflection Das Reflection API Reflection2 Ziel Es kommt vor, dass eine Methode ein Objekt als Parameter übergeben bekommt, ohne dass bekannt.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Seminar Softwaretechnik Dipl.-Inform. Susanne Jucknath-John
René Castillo Björn Bollensdorff Analysetechniken in der Softwaretechnik SS 2007 Featherweight Java Inside every large language is a small language struggling.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Mahmoud Zoabi Khaled Isa
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
EPROG Tutorium #4 Philipp Effenberger
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Objektorientierte Modellierung mit UML
Javelin Internet-based parallel computing using Java.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
2 Datenabstraktion Geheimnisprinzip:
JQuery: New Wave Javascript Seite 1 jQuery: New Wave Javascript Jörn Zaefferer TIMETOACT Software & Consulting GmbHT: Im Mediapark 2F:
Microsoft Student Partner
Objektorientierte (OO) Programmierung
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Annotationssysteme ____________________________________________________________________ Universität zu Köln | Historisch-kulturwissenschaftliche Informationsverarbeitung.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
UNIVERSITY OF APPLIED SCIENCES Brückenkurs Programmieren Einführung in die IT für Social Media Systems.
© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
Das IT - Informationssystem
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Programmierung und Vererbung in Java
Definition Felder Konstruktor Methoden Beispiel
1. Die rekursive Datenstruktur Liste 1
Tutorstunde 10.
Objektorientierte Programmierung
Vererbung in Java Von Jan und Eddi.
Grundkurs Informatik 11-13
Objektorientierte Programmierung
 Präsentation transkript:

TypeScript rocks?! 16. Mai 2017 Tuan Dang-Schulz

JS sucks?! 21.11.2018

The Pain of JavaScript keine Typsicherheit Objektorientierung schwierig für Ungeübte Keine gute IDE Unterstützung schwer wartbar bei großen Projekten Typos werden bestraft 21.11.2018

Vorteile von TS gute und große IDE Unterstützung frühe Fehlererkennung geeignet für große Anwendungen sicheres Refactoring

Sitemap Fakten und Aufbau Funktionsweise live coding

TypeScript ~2012 von Anders Hejlsberg/Microsoft veröffentlich Version 2.3 (Stand Mai 2017) Open-Source (Apache-2.0) https://www.typescriptlang.org/ Platz 15 auf GitHub https://octoverse.github.com bekannteste Projekte Angular2 VS-Code TypeScript

Aufbau basiert auf Vorschlägen von ES6 statisches Typensystem Var vs. let vs. const primitive Datentypen string, number, Date, Array, any Enum

OOP Klassen Interfaces Vererbung Generics Konstruktor Felder Methoden private/public/protected Interfaces Vererbung Generics

Beispiel function Person(firstName) { this.firstName = firstName; } function Student(firstName, id) { Person.call(this, firstName); this.id = id; } Student.prototype = Object.create(Person.prototype); Student.prototype.constructor = Student; Student.prototype.partyHard = function () { return "PARTY"; } var student = new Student("Bob", 12); alert(student.firstName + ": " + student.id + " - " + student.partyHard()); class Person{ constructor(public firstName:string) { } } class Stundent extends Person{ constructor(firstName:string, public readonly id:string) { super(firstName); } partHard() { return "Party"; } } const student = new Stundent("Bob", "ID42"); alert(student.partHard() + " ID:" + student.id); Beispiel einer Klassen Defnition Links JS mit Prototypen 21.11.2018

Async/Await async function doSomething() { try { let val = await getAPromise(); console.log(val); } catch(err) { console.log('Error: ', err.message); } } Lambda -> Arrow Functions in es6 -> this

Yield/Generator function* infinity() { let i = 0; while(true) { yield i++; } } var iterator = infinity(); interator.next(); Lambda -> Arrow Functions in es6 -> this

Anbindung externe Libs npm Ökosystem nutzbar DefinitelyTyped (*.d.ts) http://definitelytyped.org/ npm install lodash npm install --save @types/lodash

Vielen Dank für Ihre Aufmerksamkeit Ende Vielen Dank für Ihre Aufmerksamkeit 21.11.2018

Quellen https://basarat.gitbooks.io/typescript/content/docs/getting-started.html https://www.typescriptlang.org/ https://www.typescriptlang.org/play http://definitelytyped.org/ https://octoverse.github.com https://risingstars2016.js.org/ 21.11.2018

Abstract So gut wie jeder Softwareentwickler hat bestimmt schon mal über JavaScript geflucht. Es ist nicht typsicher, zu dynamisch, zu fehleranfällig und vieles mehr. Für diese Probleme hat Microsoft TypeScript entwickelt. Eine Objekt orientierte Sprache die jeder C#-Entwickler schnell erlernen und sicher anwenden kann, aber auch JavaScript Entwickler können auf ihr erlerntes Wissen zurückgreifen. In dem Vortrag möchte ich euch einen Einblick in die Sprache geben und aufzeigen, was die Sprache so interessant macht.

Kontakt zu uns... Wir navigieren erfolgreich zum Ziel. Tuan Dang-Schulz Software Developer Telefon +49 511 936206-37 E-Mail tdz@inwerken.de www.inwerken.de 21.11.2018