Was ist eigentlich TypeScript?

TypeScript etabliert sich zur neuen Standard-Programmiersprache im Webfrontend. In diesem Blogpost möchte ich die Herkunft und die Grundlagen dieser Sprache, sowie die Vorteile und Unterschiede gegenüber JavaScript erläutern.

Was ist ECMAScript?

Bevor wir über TypeScript reden, muss erklärt werden, woher die Spezifikation von TypeScript kommt. Die ECMAScript-Spezifikation wird seit jeher von der European Computer Manufacturers Association festgelegt und definiert quasi, wie JavaScript funktioniert.
Die ECMA-Organisation beschäftigt sich jedoch nicht nur mit JavaScript, sondern auch mit anderen Standards, wie z.B. die gute alte CD-ROM, die Floppy-Disk oder das Office-Open-XML-Format. Hier eine Liste aller ECMA-Standards).

ECMA-Script (kurz ES) wird – seit 2015 – jedes Jahr im Juni neu Released und trägt auch den entsprechenden Jahresnamen in der Spezifikation. Die aktuelle Version ist z.B. ECMAScript 2017.
Aber Vorsicht (!) ECMAScript 2017 heißt in der Kurzform ES8 oder ECMAScript 8 (für 8th Edition) – ziemlich verwirrend, oder?

Versionsname (kurz) Versionsname (lang) Name der Spezifikation Signifikanteste Änderungen
ES6 ECMAScript 6 ECMAScript 2015 Added classes and modules.
ES7 ECMAScript 7 ECMAScript 2016 Added exponential operator (**). Added Array.prototype.includes.
ES8 ECMAScript 8 ECMAScript 2017 Async Functions, Shared memory and atomics.
ES.Next Generischer Name für die nächste, kommende Spezifikation.

JavaScript ist also nichts weiter, als eine Implementierung der ECMAScript Spezifikation.
Was ist mit dem Browser-Suppport? Siehe: caniuse.com/#search=ES6 oder w3schools.com/js/js_versions.asp

Was ist TypeScript?

TypeScript (kurz: TS) ist ein Superset von JavaScript. Das bedeutet, TS ist ebenfalls eine Implementierung von ECMAScript, erweitert aber JavaScript mit zusätzlichen „Features“.
Jeder JavaScript-Code funktioniert auch in TypeScript, aber nicht jeder TypeScript-Code funktioniert auch in JavaScript.

Wie der Name schon verrät, erweitert TypeScript JavaScript um Typings (und Annotations). Das heißt die Programmiersprache ist Typsicher – wie z.B. auch Java oder C#.
Hier ein Beispiel zur Verdeutlichung:

JavaScript TypeScript
var companyName= "doubleSlash"; let companyName: string = "doubleSlash";

Die Typsicherheit unterstützt in erster Linie den Entwickler und resultiert somit in einer höheren Code-Qualität, obwohl am Ende die Software in einer „alten JavaScript-Umgebung“ lauffähig ist. Durch statische Codeanalyse kann die Softwarequalität noch weiter gesteiert werden.

Die Typings gehen nach dem Kompilieren verloren (da JavaScript keine Typings kennt) und müssen eigentlich gar nicht genutzt werden. Sie sind laut TS-Spezifikation optional (beim Thema Clean Code sind sie natürlich Mandatory!).
Auf der Homepage typescriptlang.org heißt es übrigens: „TypeScript – JavaScript that scales.„.

Aber nicht nur das: Die von Microsoft entwickelte Sprache kompiliert TypeScript-Code „herunter“ zu einer (fast) beliebigen Ziel-ECMAScript Definition (JavaScript-Version), z.B. ES5 – was von so gut wie allen Browsern unterstützt wird. Dies kann in den Compiler-Options (tsconfig.json) konfiguriert werden. Das bedeutet, in der produktiven Webapp läuft am Ende immernoch JavaScript im Browser, kein TypeScript.
Somit schafft TypeScript in Webfrontend-Projekten auch eine gewisse Browser-Unabhängigkeit, da der/die Entwickler/in sich nicht mehr darum kümmern muss, welche ECMAScript-Features er in welchen Browsern verwenden darf, und welche nicht.

Wie der Code nach der Kompilierung aussieht, kann hier live ausprobieren:

FAQ zu TypeScript

  • Gibt es auch Browser, die TypeScript direkt verstehen (ohne Kompiliervorgang zu JavaScript)?
    → Ja, z.B. Firefox, Chrome oder sogar der IE ab Version 11! Dadurch ist es z.B. möglich über die sog. Source-Maps den TypeScript-Code direkt im Browser zu debuggen.
  • Gibt es auch Konkurrenz zu TypeScript?
    → Ja, z.B. Flow von Facebook – kann im Prinzip genau das gleiche.
  • Mit welchen Frameworks kann ich TypeScript nutzen?
    → Mit so gut wie allen aktuellen, z.B. Angular, React, Electron, Ionic, …

 

Zusammenfassung (tl;dr)

  • die Benamung der ECMAScript Spezifikationen ist äußerst kompliziert und verwirrend
  • TypeScript ist eine Implementierung der ECMAScript-Spezifikation und erweitert JavaScript um Typen, Annotationen und mehr (Superset von JS)
  • man kann als Faustregel sagen, TypeScript ist der aktuellen ECMAScript Spezifikation immer etwas vorraus.
  • der TypeScript Compiler ermöglicht es, zu einer bestimmten Target-Language (JavaScript-Version) zu kompilieren, z.B. ES5 → Stichwort „Browser-Unabhängigkeit“.
  • Debugging von TypeScript ist über Source-Maps direkt im Browser möglich

 

Mehr zum Thema Webfrontend Entwicklung erfahren

Wussten Sie schon, was Microservices sind?

Die fortschreitende Digitalisierung zwingt Unternehmen dazu, flexibel auf Marktanforderungen zu reagieren und ihre Time-to-Market zu verkürzen. Große, monolithische Softwaresysteme können dieser Flexibilität oft nicht mehr standhalten. Eine Microservice Architektur bildet fachliche Funktionen in eigenständigen Modulen ab und vermeidet so unflexible Monolithen.

Wir haben bei unserem Senior Software Architect Marc Mai nachgefragt, wie Microservices funktionieren.

Wie funktionieren Microservices?

Microservices bilden die fachlichen Funktionen in eigenständigen Modulen ab. Im Gegensatz zu einem monolithischen Ansatz wird dabei „der Elefant in kleine Teile geschnitten“. Das vereinfacht Entwicklung, Betrieb und Wartung. Technologische Abhängigkeiten werden verringert, da pro Microservice ein eigener Technologiestack verwendet werden kann. Die Frage „Welche Technologie passt zu meiner Anforderung?“ rückt in den Vordergrund. Für Entwickler bedeutet das allerdings, dass sie gegebenenfalls mehr unterschiedliche Technologien und deren Tools beherrschen müssen.

Was haben Unternehmen dadurch für Vorteile?

Das Credo lautet: Ein Microservice, eine Funktion. Man wird kleiner, schneller und flexibler.
Ein Entwicklungsteam kann sich ganzheitlich um den Service kümmern, was die Effizienz der Entwicklung und des Betriebes enorm steigert (Stichwort „DevOps“). Services sind leichter zu überblicken und neue Entwickler lassen sich schneller einbeziehen. Es kann zielgerichteter skaliert werden, da mehrere Instanzen eines kompakten Services schnell und einfach auf mehrere Server verteilt werden können. Als Letztes sollte man an den Lebenszyklus einer Software denken. Kleine Elemente lassen sich viel leichter austauschen bzw. ablösen als ein Monolith – das spart Zeit und Kosten.

Wie entwickeln sich Microservices weiter?

Aktuell sind Microservices ein Hype. Dabei ist es wie mit jeder neuen Technologie: Mit der Zeit wird sich herausstellen, für welche Szenarien Microservices besonders gut geeignet sind und für welche nicht. Ziel muss sein, durch Weiterentwicklung von entsprechenden Werkzeugen maximale Einfachheit und Automatisierung zu erreichen – das spart Entwicklungskosten.
Gerade im IoT-Kontext sind Microservices besonders wichtig, weil einerseits durch die zunehmende Zahl an Geräten deutlich mehr Dynamik und Skalierbarkeit gefordert ist und andererseits ständig neue Funktionen hinzu- kommen.


Marc Mai Business Consultant und Microservices Experte doubleSlashMarc Mai hat Wirtschaftsinformatik (M.Sc.) studiert und ist seit 2013 bei doubleSlash als Software Architect tätig. Er hat branchenübergreifende Erfahrungen in IT-Projekten, auch im Bereich Automotive, z.B. mit der BMW AG. Marc Mai ist Experte für Java-EE, IoT und Big Data. Sein Einsatzschwerpunkt ist die Konzeption, Erstellung und Optimierung von Backend-Systemen und deren Architekturen.

 

 

 

Augmented Reality (AR): Was ist hier der aktuelle Status Quo?

In den letzten Jahren ist immer wieder das Thema Augmented Reality (AR) in den Medien aufgetaucht und die Technologie als absoluter Hype vermarket worden. Besonders Pokémon Go und Snapchat Filter machten das Thema rund um AR populär. In letzter Zeit war jedoch wieder weniger von AR zu hören. Es stellt sich die Frage, welches Potential diese Technologie um die erweiterte Realität bietet. Da auch bei doubleSlash Augmented Reality und Virtual Reality (RA) Applikationen für IoT Programme entwickelt werden, haben wir das Thema ständig im Blick.1


Aber der Reihe nach:

Als Augmented Reality wird eine erweiterte computergestützte Wahrnehmung bezeichnet, bei der die reale und virtuelle Welt miteinander verschmelzen. Textinformationen, Grafiken und gar Animationen werden in Echtzeit in die reale Welt eingeblendet. Dabei reichen die Anwendungsbeispiele vom Informationsfluss aus unmittelbarer Umgebung (zum Beispiel zusätzliche Produktinformationen), über eine in das Sichtfeld eingeblendete Navigation bis in die Welt der Computerspiele.2

Augmented Reality soll künftig produktiven Nutzen in der Praxis bringen

Im Gartner Hype Cycle aus dem Jahr 2017 hat die AR Technologie die Spitze der überzogenen Erwartungen überstanden und ist nun im Tal der Ernüchterung angekommen. Dies ist zunächst nichts Schlechtes, sondern bedeutet, dass die Einschätzungen nun realistischer und weniger gehypt betrachtet werden. Gartner prognostiziert zudem einen produktiven Nutzen in der Praxis für die nächsten fünf bis zehn Jahre.3 4

Kaum ein Produkt wurde in der Vergangenheit so stark mit dem Thema AR verknüpft wie die Google Glasses. Dabei sind die Google Glasses eine AR-Brille der ersten und einfachsten Version von Augmented Reality: Einblenden von Textinformationen und Daten. Dass die Umsetzung der Technologie diverse Herausforderungen mit sich brachte, zeigt die Tatsache, dass der offizielle Markstart des im Jahr 2012 vorgestellten Produktes mehrfach verschoben wurde und erst ab April 2014 im Rahmen eines Betaprogramms zu bestellen war. Auf den Markt kam die fertige Brille trotz mehrfacher Ankündigungen nicht und der Verkauf wurde im Januar 2015 eingestellt. Google-Finanzvorstand Patrick Pichette bezeichnete daraufhin Google Glass als einen Flop, der die Erwartungen nicht erfüllt habe. Hier ein Video zum Google Glasses Project:

AR wird jedoch viel mehr Potential zugesprochen, als reine Textvisualisierung im Blickfeld einer Brille. AR ermöglicht das Abspielen von Videos und Filmen, von Animationen und Sound, aber auch das Anzeigen von Bildern und Text sowie viele weitere Datentypen, die in Interaktion mit dem Nutzer stehen. Die Steuerung erfolgt dabei über das Tracking von Kopf- und Augenbewegungen sowie über Gesten und Spracherkennung.5 Es gibt zahlreiche Ideen und Anwendungsfelder für AR in den unterschiedlichsten Branchen. Hier findet sich eine Liste mit noch mehr AR Use Cases aus den unterschiedlichsten Bereichen wie Medizin, Sales oder auch der Industrie.

Die Herausforderung ist nicht, Ideen und Use Cases für AR zu finden, sondern viel mehr die Technologie in Software und Hardware soweit zu entwickeln, dass diese für die praktische Anwendung realistisch und massentauglich wird. AR bringt viel „Science Fiction Magie“ mit sich, die mit aktueller Hardwaretechnologie noch nicht erfüllt werden kann.

Diese AR Brillen sind bereits auf dem Markt verfügbar

 
Derzeit gibt es eine Hand voll AR Brillen auf dem Markt, welche für den Endnutzer verfügbar sind. Dazu zählen die Microsoft HoloLens, Vuzix M 100, und Epson Moverio BT-200. Auf die Eigenschaften dieser drei AR Brillen werde ich im Folgenden eingehen:

  • Microsofts HoloLens erfasst den Raum in Echtzeit in 3D und platziert visuell glaubhaft digitale Objekte darin, die wie Hologramme wirken können. Die HoloLens verfügt über einen starken Rechner mit integriertem Kühlsystem. Sensoren erkennen Handbewegungen und übersetzten diese in die AR Welt. Die Microsoft HoloLens kämpft jedoch mit einem geringen Sichtfeld und der eher klobigen Form, welche im Unternehmenskontext potentiell einsetzbar ist, jedoch noch nicht alltagstauglich erscheint. Die HoloLens ist derzeit nur in der Development Edition auf dem Markt für satte 4000 US Dollar verfügbar.6
  • Die Vuzix M 100 ist eine AR Brille, die seit 2014 in den USA und Großbritannien auf dem Markt ist und für ca. 1000 US Dollar erworben werden kann. Mittlerweile ist das Folgemodell Vuzix M 300 für 2000 US Dollar verfügbar. Die nur 300 Gramm leichte Brille ist kleiner und komfortabler zu tragen als die HoloLens. Sie verfügt über einen Lautsprecher sowie zwei „Noise Cancelling Microphone“, sodass Hintergrundgeräusche bei der Sprachsteuerung ausgeblendet werden. Des Weiteren steuert man die AR Brille über Kopfbewegungen, GPS, zusätzliche Kontrollknöpfe am Bügel der Brille oder ein angeschlossenes Touchpad. Die Software ist Android und iOS basiert, sodass bereits einige Applikationen für die Vuzix M verfügbar sind, vor allem in Kombination mit einem Smartphone. Die Akkulaufzeit beträgt bis zu zwölf Stunden, externe Batterien eingeschlossen.7
  • Die Epson Moverio BT-350 kann der Nutzer für ca. 1500 US Dollar erwerben. Die halbtransparente Brille verfügt über ein Gyroskop zur Lageregelung sowie über einen Beschleunigungssensor, GPS und einer Stereokamera mit Tiefensensor. Gesteuert wird die Epson Moverio BT-350 unter anderem mit einem externen Controller, wodurch die „hands-free“ Umsetzung durch AR eingeschränkt ist. Die Brille ist sehr robust und insbesondere für den Gebrauch in der Industrie, aber auch in der Kunst und Kultur, entwickelt. Die Android-basierten Softwareanwendungen werden unter anderem von unabhängigen Softwareanbietern (ISVs) entwickelt.8

 

Wie geht es weiter mit AR?

Nun stellt sich die Frage, ob im Jahr 2018 die Hardware soweit auf dem Markt kommt, dass sich AR als Technologie durchsetzen kann.

Bereits im Vorfeld des Mobile Wold Congress (MWC) in Barcelona Ende Februar 2018 haben Smartphone-Hersteller ihre neuen Flaggschiffe vorgestellt. Besonders deutlich zeigt sich der Trend zu Doppelkameras auf der Smartphone-Rückseite, welche in Verbindung mit dem AR Framework von Google, ARCore, interessant werden können. Mit ARCore möchte Google die erweiterte Realität auf die Smartphones bringen. Derzeit ist die Technologie mit 13 Smartphones kompatibel, Tendenz steigend. Langfristig gesehen soll die AR-Technologie jedoch nicht nur auf dem Smartphone abgebildet sein, sondern in komfortablen Brillen, und so ihr ganzes Potential zu entfalten. Mit der Smartphone-AR sollen Use Cases bereits getestet werden. Sozusagen ein Schritt zurück um anschließend zwei Schritte vorwärts zu gehen. Googles Hardware-Chef Rick Osterloh bestätigt im Interview mit dem Telegraphen, dass sie „versuchen herauszufinden, wie man Augmented Reality besser erleben kann als nur mit dem Smartphone“.9

Aber auch im Hinblick auf AR in Brillen gibt es einige Ankündigungen über Produkte, die derzeit in der Entwicklung sind und demnächst auf den Markt kommen sollen.

Das Unternehmen Magic Leap plant nun den Hardware-Markt auf den Kopf stellen. Zwei Milliarden US Dollar hat das Unternehmen von Kapitalgebern wie Google oder Alibaba eingesammelt, um eine neue AR-Brille zu entwickeln. Um die Magic Leap One Brille, die 2018 bereits erscheinen soll, hüllt sich jedoch ähnlich viel Schweigen wie um neue Apple Produkte. Über die technischen Details kann nur spekuliert werden. Jedoch sind Journalisten, die einen Prototyp testen durften, begeistert über die Darstellungsqualität. Ist die Magic Leap der neue Hoffnungsträger für AR? Technologisch gesehen arbeitet die Magic Leap mit der Lichtfeldtechnik, die den großen Vorteil bringt, dass sie Tiefeninformationen besser darstellen kann und nicht über einen fixen Fokus verfügt. Dadurch soll natürlicheres Sehen ermöglicht werden und die entstehende Übelkeit bei Nutzung reduzieren. Dies war zuletzt einer der Hauptkritikpunkte an AR Brillen war. Nachteil der Lichtfeldtechnik ist jedoch die hohe benötigte Rechenleistung für das Rendern der Bilder.

Auch die Microsoft HoloLens ist noch im Entwicklungsstadium. Die Meta 2 von Meta Vision soll im dritten Quartal 2018 auf den Markt kommen und kann als Konkurrenzprodukt zur HoloLens gesehen werden. Auch Google entwickelt weiter und hat eine neue AR Brille im Rahmen von „Project Aura“ angekündigt. Dabei kann Google aus Erfahrungen mit der Google Glasses lernen und hat zudem Zugriff auf Daten aus Google Cardboard und Project Soli.

Oculus-Manager Jason Rubin erwartet für AR Hardware eine ähnliche Marktentwicklung wie bei Virtual Reality (VR)-Brillen: “Bei AR wird es wie bei VR sein. Der Hype am Anfang ist riesig und kann nicht erfüllt werden. Die Geräte sind teuer und es gibt wenig Inhalte. Dann kommt die Krise, so ähnlich wie es bei VR aktuell der Fall ist, und nach ihr kann eventuell der Massenmarkt erreicht werden. Das spiegelt die Entwicklung von VR wieder”, sagt Rubin.10

Microsoft CEO Satya Nadella prognostiziert AR gemeinsam mit künstlicher Intelligenz (KI) und Quantencomputer als „technologischen Dreiklang“ der die Zukunft der Computer prägen wird. Die Investitionen sollen sich wohl erst zu einem späteren Zeitpunkt bezahlt machen, dafür dann umso mehr: Die AR-Brille soll eines Tages so populär sein wie das iPhone im Smartphone-Markt und andere Computer vom Markt drängen.

Es liegt nun an Softwareentwicklern, Applikationen für AR zu entwickeln, sodass die derzeit und künftig verfügbare Hardware in Kombination mit AR Softwareanwendungen für den privaten und kommerziellen Nutzer massentauglich und kostengünstig verfügbar ist. Denn nur wenn die Kombination von AR Hardware und AR Software optimal und für vielfältige Anwendungsszenarien auf dem Markt erscheint, ist sie für die Masse der Anwender interessant und wird sich letztendlich durchsetzen.

Du willst bei doubleSlash Mobilanwendungen für AR entwickeln? Jetzt bewerben


Quellen und Anmerkungen:

1 https://www.doubleslash.de/leistungen/connected-services/iot-partner/ptc-thingworx/ ^

2 https://www.golem.de/specials/augmented-reality/ ^

3 https://www.gartner.com/smarterwithgartner/top-trends-in-the-gartner-hype-cycle-for-emerging-technologies-2017/ ^

4 www.gartner.com/newsroom/id/3784363 ^

5 http://www.aberdeenessentials.com/opspro-essentials/augmented-reality-energizes-smart-manufacturing/ ^

6 https://www.microsoft.com/de-de/hololens ^

7 https://www.vuzix.com/Products/m300-smart-glasses ^

8 https://www.epson.de/insights/article/epson-moverio-bt-350-der-moderne-tour-guide ^

9 https://www.vrnerds.de/mwc-2018-doppelkameras-und-ar-im-fokus/ ^

10 https://vrodo.de/exklusiv-oculus-manager-spricht-ueber-die-zukunft-von-ar-und-vr/ ^

what3words – Revolutionäres Kartenmaterial?

Ein neues Konzept der Kartografie, genannt what3words, wurde jüngst von einem britischen Startup entworfen. Die neue Methode verspricht eine bessere Interaktion von Menschen mit technischen Geräten, was gleichzeitig für weniger Fehler und präzisere Angaben sorgen soll. Die Frage ist jedoch: Lohnt sich der Aufwand der Umstellung oder ist das verschwendete Zeit?Mehr

Was ist eine progressive Web App?

Progressive Web Apps (kurz: PWA) sind im Webfrontend-Bereich das Buzzword 2018. Genauer gesagt existiert der Begriff progressive Web App schon seit mehreren Jahren. Jedoch ist vielen noch nicht klar, um was es sich dabei handelt. Oft werden responsive Webapps damit in Verbindung gebracht – doch wie hängen diese beiden Paradigmen zusammen? Und welche Technologien werden für progressive Web Apps benötigt? Diese und weitere Fragen möchte ich in diesem Beitrag beantworten.

Mehr

Die fünf wichtigsten IT-Trends 2018

vernetzte TechnologienNein, die Blockchain gehört nicht zu den IT-Trends 2018, da wird sich vermutlich im kommenden Jahr erstmal – wie bei jeder Trendtechnologie – Ernüchterung einstellen. Zwar gibt es ohne Zweifel sinnvolle Szenarien für die Blockchain. Aber sie löst kein ernsthaftes Problem, sie erzeugt nicht den ganz großen Nutzen, den man sich erwartet. Unsere Infrastruktur, unsere etablierten Prozesse, unser ganzes Gemeinwesen basiert auf Vertrauen, auch wenn es zum Beispiel durch die Finanzkrise erschüttert worden ist. Hätten wir eine echte, weit reichende Vertrauenskrise, dann würde sich die Blockchain als Lösung anbieten. So aber glaube ich nicht, dass sich die Blockchain-Technologie die nächsten Jahre auf breiter Basis durchsetzen wird.

Mehr