© best_vector/Shutterstock.com
Windows Developer
Roslyn als Türöffner für neue Anwendungsszenarien

Roslyn im Entwickleralltag

Microsoft spricht nun schon seit langer Zeit über das Projekt Roslyn, die Neuentwicklung der Compiler für C# und VB. Als erfahrener Entwickler im Microsoft-Umfeld weiß man, dass das jahrelange Verweilen im Preview-Status oft kein gutes Omen ist. Solche Projekte verschwinden oft sang- und klanglos von der Bildfläche. Durch die prominente Platzierung von Roslyn auf der Konferenz Build 2014 scheint es fast sicher, dass Roslyn dieses Schicksal nicht erleiden wird. Doch was bedeutet ein komplett neuer Unterbau Ihres C# Compilers für Sie in der täglichen Praxis?

Rainer Stropek


Sie sind nicht auf die Entwicklung von Visual-Studio-Erweiterungen spezialisiert und denken daher, dass Roslyn für Sie nicht relevant ist? In diesem Artikel möchten wir an einem Beispiel zeigen, dass Roslyn auch Ihnen ganz neue Anwendungsszenarien ermöglichen wird.

Was ist Roslyn?

Roslyn [1] ist der Codename für das Projekt, in dem die Compiler für C# und VB von Grund auf neu gestaltet und entwickelt werden. Seit der Build 2014 ist auch bekannt, dass Microsoft die Ergebnisse von Roslyn Open Source machen wird.

Im Gegensatz zu früher sind die Compiler in Roslyn managed und kein native Code mehr. Diese Tatsache mag für die Entwickler in Redmond und für professionelle Compiler-Bauer spannend sein. Als reiner Anwender der Compiler scheint es auf den ersten Blick aber nicht relevant, ob im Hintergrund C++- oder C#-Code arbeitet. Bei näherer Betrachtung ergibt sich jedoch ein anderes Bild. Im Rahmen der Neuentwicklung hat Microsoft nämlich nicht nur die Sprache und die Laufzeitumgebung getauscht. Die gesamte Pipeline für die Übersetzung von C# in Intermediate Language (IL) wurde sauber in Module gegliedert und steht nun als NuGet-Pakete und Klassenbibliotheken zu Verfügung [2].

Dieser Schritt war für Microsoft selbst unumgänglich, da an mehr und mehr Stellen Teile des C# Compilers notwendig wurden. Denken Sie an IntelliSense oder Code Refactoring in Visual Studio. Um solche Funktionen anbieten zu können, muss die Visual Studio IDE zur Entwicklungszeit C# analysieren können. Mit Roslyn können Compiler und IDE sich die gleichen Komponenten teilen, und die verschiedenen Teams bei Microsoft müssen nicht mehr getrennte Parser warten. Gleiches gilt natürlich auch für Visual-Studio-Erweiterungen von Drittanbietern, für die die Analyse von C#- und VB-Code zur Entwicklungszeit mit Roslyn jetzt ebenfalls ein Kinderspiel ist.

Relevanz für normale Entwickler

Was ist aber mit normalen Entwicklern, die nicht jeden Tag an Visual-Studio-Erweiterungen arbeiten? Roslyn ermöglicht für alle C#- und VB-Entwickler ganz neue Anwendungsszenarien. Analysieren und sogar Verändern von Quellcode zur Entwicklungs- und Laufzeit wird möglich. Lassen Sie uns das anhand eines stark vereinfachten Beispiels durchgehen.

Nehmen wir an, Sie entwickeln eine Anwendung für Hausautomatisierung. In diesem Zusammenhang ist ein Modul zur Konfiguration von Sensoren zu schreiben. Für jeden Sensortyp könnte es eine Klasse mit konfigurierbaren Einstellungen geben. Listing 1 zeigt eine solche Klasse namens Temperat...

Windows Developer
Roslyn als Türöffner für neue Anwendungsszenarien

Roslyn im Entwickleralltag

Microsoft spricht nun schon seit langer Zeit über das Projekt Roslyn, die Neuentwicklung der Compiler für C# und VB. Als erfahrener Entwickler im Microsoft-Umfeld weiß man, dass das jahrelange Verweilen im Preview-Status oft kein gutes Omen ist. Solche Projekte verschwinden oft sang- und klanglos von der Bildfläche. Durch die prominente Platzierung von Roslyn auf der Konferenz Build 2014 scheint es fast sicher, dass Roslyn dieses Schicksal nicht erleiden wird. Doch was bedeutet ein komplett neuer Unterbau Ihres C# Compilers für Sie in der täglichen Praxis?

Rainer Stropek


Sie sind nicht auf die Entwicklung von Visual-Studio-Erweiterungen spezialisiert und denken daher, dass Roslyn für Sie nicht relevant ist? In diesem Artikel möchten wir an einem Beispiel zeigen, dass Roslyn auch Ihnen ganz neue Anwendungsszenarien ermöglichen wird.

Was ist Roslyn?

Roslyn [1] ist der Codename für das Projekt, in dem die Compiler für C# und VB von Grund auf neu gestaltet und entwickelt werden. Seit der Build 2014 ist auch bekannt, dass Microsoft die Ergebnisse von Roslyn Open Source machen wird.

Im Gegensatz zu früher sind die Compiler in Roslyn managed und kein native Code mehr. Diese Tatsache mag für die Entwickler in Redmond und für professionelle Compiler-Bauer spannend sein. Als reiner Anwender der Compiler scheint es auf den ersten Blick aber nicht relevant, ob im Hintergrund C++- oder C#-Code arbeitet. Bei näherer Betrachtung ergibt sich jedoch ein anderes Bild. Im Rahmen der Neuentwicklung hat Microsoft nämlich nicht nur die Sprache und die Laufzeitumgebung getauscht. Die gesamte Pipeline für die Übersetzung von C# in Intermediate Language (IL) wurde sauber in Module gegliedert und steht nun als NuGet-Pakete und Klassenbibliotheken zu Verfügung [2].

Dieser Schritt war für Microsoft selbst unumgänglich, da an mehr und mehr Stellen Teile des C# Compilers notwendig wurden. Denken Sie an IntelliSense oder Code Refactoring in Visual Studio. Um solche Funktionen anbieten zu können, muss die Visual Studio IDE zur Entwicklungszeit C# analysieren können. Mit Roslyn können Compiler und IDE sich die gleichen Komponenten teilen, und die verschiedenen Teams bei Microsoft müssen nicht mehr getrennte Parser warten. Gleiches gilt natürlich auch für Visual-Studio-Erweiterungen von Drittanbietern, für die die Analyse von C#- und VB-Code zur Entwicklungszeit mit Roslyn jetzt ebenfalls ein Kinderspiel ist.

Relevanz für normale Entwickler

Was ist aber mit normalen Entwicklern, die nicht jeden Tag an Visual-Studio-Erweiterungen arbeiten? Roslyn ermöglicht für alle C#- und VB-Entwickler ganz neue Anwendungsszenarien. Analysieren und sogar Verändern von Quellcode zur Entwicklungs- und Laufzeit wird möglich. Lassen Sie uns das anhand eines stark vereinfachten Beispiels durchgehen.

Nehmen wir an, Sie entwickeln eine Anwendung für Hausautomatisierung. In diesem Zusammenhang ist ein Modul zur Konfiguration von Sensoren zu schreiben. Für jeden Sensortyp könnte es eine Klasse mit konfigurierbaren Einstellungen geben. Listing 1 zeigt eine solche Klasse namens Temperat...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang