Interview mit Philip Burgmer

„TypeScript fühlt sich mittlerweile an wie aus einem Guss“
Keine Kommentare

TypeScript und Angular sind das neue Dreamteam der Webentwicklung. Doch für welche Szenarien ist das Duo gut geeignet, und für welche eher nicht? Diese und weitere Fragen beantwortet Philip Burgmer (theCodeCampus) im Interview auf den JavaScript Days.

Mirko Hillert: Derzeit ist TypeScript 2.5 auf dem Markt. Was hat sich bei den letzten Versionen der Sprache geändert?

Philipp Burgmer: Mit TypeScript 2.0, das jetzt bereits eine Weile draußen ist, änderte sich relativ viel in Hinblick auf das Handling von Typen externer Bibliotheken. Seit TypeScript 2.1 bis 2.5 sind hauptsächlich kleinere Features hinzugekommen. Diese haben das Typsystem, das ohnehin schon ziemlich gut ist, an vielen Ecken abgerundet und erweitert. Man hat nun mehr Möglichkeiten, auch komplexere Fälle abzudecken, und das Ganze fühlt sich nun auch wirklich wie aus einem Guss an.

Mirko Hillert: Für Angular war ursprünglich ECMAScript 5 bzw. 6 und TypeScript vorgesehen. Warum hat sich TypeScript durchgesetzt?

Philipp Burgmer: Es ist weiterhin theoretisch möglich, sowohl ECMAScript 5 als auch ECMAScript 6 zu verwenden. Meiner Erfahrung nach macht das aber so gut wie niemand. Wenn ich in Projekten oder bei Kunden unterwegs bin, setzen die Leute auf TypeScript – das ist der De-facto-Standard geworden. Gut zu beobachten ist das anhand der Angular-Dokumentation. Zunächst war eigentlich vorgesehen, das Ganze auch für ECMAScript 5 und für ECMAScript 6 zu dokumentieren – etwas, das das Angular-Team dann aber gar nicht mehr gemacht hat!

Es gibt also eigentlich nur die Dokumentation für TypeScript. Das zeigt, dass das nicht nur mein persönlicher Eindruck ist, sondern dass TypeScript auf dem Markt tatsächlich angenommen wurde. Meiner Meinung nach lag das stark daran, dass TypeScript eine sehr niedrige Einstiegshürde hat. Bei Angular ist das nicht unbedingt der Fall, hier ist die Einstiegshürde ein wenig höher. Bei TypeScript kommt man jedoch ganz gut rein. Die Features müssen hier nicht von Anfang an verwendet werden, sondern man kann peu à peu beginnen. Es wird zunächst erst einmal wie gewohnt ein normales ECMAScript geschrieben, und dann kann begonnen werden, das Typ- oder das Modulsystem mit einzubeziehen. Das Schöne an TypeScript ist, dass alle Features optional sind. Jeder kann für sich selbst entscheiden, was er nutzen möchte und was nicht.

Kostenlos: Das iJS React Cheat Sheet

Sie wollen mit React durchstarten?
Unser Cheatsheet zeigt Ihnen alle wichtigen Snippets auf einen Blick.
Jetzt kostenlos herunterladen!

Download for free

 

Angular Kickstart: von 0 auf 100

mit Christian Liebel (Thinktecture AG) und Peter Müller (Freelancer)

JavaScript für Softwareentwickler – für Einsteiger und Umsteiger

mit Yara Mayer (evia) und Sebastian Springer (MaibornWolff)

Mirko Hillert: Würdest du empfehlen, sich beim Einstieg in dieses Thema selbst vor die Dokumentation zu setzen und dort loszulegen, da es relativ leicht zu lernen ist? Oder macht ein Workshop an der Stelle mehr Sinn?

Philipp Burgmer: Ein Workshop macht hier schon Sinn. Hier wird alles etwas kompakter aufbereitet, sodass man sich durch nicht so viel Text wühlen muss. Die Dokumentation von TypeScript an sich ist ziemlich gut. Microsoft selber stellt auf der TypeScript-Seite eine Dokumentation zur Verfügung, die recht ansehlich ist. Zudem gibt es ein Deep Dive Book, das frei verfügbar ist und womit man direkt gut loslegen kann.

Bei TypeScript steckt noch Potenzial in den kleinen Details.

Doch gerade wenn es darum geht, ein Team von mehreren Entwicklern schnell in das Thema einzuführen, ist ein Workshop sinnvoller. Es können Rückfragen gestellt werden, und es ist jemand vor Ort, der direkt auf die Fragen eingehen kann. Man muss nicht lange herumsuchen, und das Know-how kann so auch direkt an mehrere Leute auf einmal weitergegeben werden.

Mirko Hillert: Wo siehst du noch Verbesserungspotenzial im derzeitigen TypeScript Release 2.5?

Philipp Burgmer: Ich glaube, dass weiterhin Potenzial in den kleinen Details steckt, also dem, was in den letzten Versionen schon angegangen wurde. Dort ist noch ein wenig Luft nach oben. Ich hätte eins, zwei konkrete Featurewünsche, die ich vielleicht auch noch an das Team herantragen werde.

Mirko Hillert: Möchtest du uns diese verraten?

Philipp Burgmer: Eins ist ganz konkret. Ich würde mir wünschen, dass man Properties direkt referenzieren kann. In anderen Sprachen kann man das auch mit einer Doppelpunkt-Schreibweise, sodass man direkt eine Property referenzieren kann. Mich stört zudem, dass man an manchen Stellen hartcodierte Strings hat, wo der Property Name drin steht. Ein Ziel von TypeScript ist schließlich, dass über die statische Typisierung und die Möglichkeit, alles statisch analysieren zu können, auch Refactorings in der Idee viel besser unterstützt werden.

Genau das ist der große Vorteil von TypeScript gegenüber ECMAScript. Der ganze Tooling-Support ist viel besser. Man befindet sich eher auf dem Niveau eines Tooling, das man von Java oder Ähnlichem schon seit Jahren gewöhnt ist und wo das Refactoring wirklich gut funktioniert. Bei den Refactorings würde ich mir wünschen, dass bei der Umbenennung einer Property ein String, der an irgendeiner Stelle steht und der diesen Namen quasi widerspiegelt, nicht direkt mit geändert wird. Da sehe ich noch Potenzial. Aber das ist eine kleine Stelle, die nur ein paar Randfälle betrifft. Dennoch würde ich nicht sagen, dass man wegen dieses Problems nicht auf die Sprache setzen sollte.

Also insgesamt fühlt sich TypeScript für mich schon sehr rund an, und es ist für einen Produktiveinsatz sehr gut geeignet. Insofern habe ich persönlich wenige Bedürfnisse, an der Sprache etwas zu ändern, und ich würde nicht behaupten, dass mir hier noch eine ganze Hand voll Sachen fehlen, die ich für essenziell halte.

Mirko Hillert: Du bist als Berater sehr viel bei den Kunden vor Ort. Wo siehst du die Vorteile von Angular beziehungsweise in welchen Projekten würdest du Angular eher nicht verwenden?

Philipp Burgmer: Ein Vorteil von Angular liegt aus meiner Sicht ganz klar in der Skalierbarkeit. Das kann man auf verschiedene Aspekte herunterbrechen. Das Projekt wird schlichtweg größer und man hat einfach viel Code, egal, ob dieser von einem großen oder einem kleinen Team erzeugt wurde. Skalierung kann aber auch auf die Größe des Teams bezogen werden und darauf, dass viele Entwickler gleichzeitig daran arbeiten. Das war ein großes Problem bei AngularJS. Dort wurden die Anwendungen noch rein in ECMAScript 5 ohne Modulsystem und Typisierung entwickelt. Da waren gerade solche Skalierbarkeiten eher schlecht.

Genau an diesem Punkt sehe ich bei Angular den großen Vorteil. Wenn man in einem größeren Team arbeitet und es sich um eine wirklich große Codebasis handelt, würde ich auf jeden Fall auf Angular setzen.

Wir haben aber auch die Erfahrung gemacht, dass Angular nicht besonders für Webseitenentwicklung geeignet ist. Man sollte also schon zwischen Webanwendung und Webseite unterscheiden. Es ist unglaublich wichtig, das richtige Tool für den richtigen Anlass zu wählen. Ich denke, dass Angular für eine einfache Webseite dann doch nicht das richtige Tool ist.

Mirko Hillert: Ich bedanke mich für das Interview, Philipp!

Philipp Burgmer ist ein Web-Native. Seit 15 Jahren in der Web-Programmierung unterwegs, gibt er sein angesammeltes und ständig aufgefrischtes Wissen gerne in Schulungen, Vorträgen, bei Konferenzen und Blog-Einträgen weiter. Er arbeitet als Entwickler, Berater und Trainer für die W11K GmbH. Philipp bloggt zusammen mit seinen Kollegen unter blog.thecodecampus.de.
Unsere Redaktion empfiehlt:

Relevante Beiträge

X
- Gib Deinen Standort ein -
- or -