/ Visual Studio Code

Visual Studio Code - Meinung

Nach meiner Einführung zu Visual Studio Code kam die Frage auf, warum hat Microsoft diesen Editor herausgebracht, reicht nicht auch Visual Studio Community, wenn es schon kostenlos sein soll und was finde ich daran interessant.
In diesem Artikel versuche ich folgende Fragen zu Visual Studio Code aus meiner Sicht zu beantworten:

  • Warum finde ich Visual Studio Code interessant?
  • Warum hat Microsoft Visual Studio Code rausgebracht?

Visual Studio Code

(Color Theme: High Contrast - Wer es braucht! :-) )

Warum finde ich Visual Studio Code interessant?

  • Zum Entwickeln verwende ich eigentlich Visual Studio.
  • Wenn ich mir kurz einen Text (eine Fehlermeldung und dgl.) merken muss, verwende ich Notepad.
  • Für Konfigurationsfiles und besonders für große Logfiles verwende ich gerne Notepad++.

Doch im Rahmen der Entwicklung einer hybriden, mobilen App, auf Basis Cordova/Ionic (siehe Ionic_Start) kam es immer wieder vor, dass ich Visual Studio Code verwendete und seitdem immer öfter.

1. Als Editor in einer Ordnerstruktur

Meist öffne ich damit einfach einen Ordner, um dort die Files zu sichten oder zu editieren:

  • Z.B. das Benutzer Homeverzeichnis um Config Dateien zu ändern
  • oder um nur einen Teil des Projektes zu öffnen.

Zum letzten Punkt:
Die Applikation wurde im src Ordner geschrieben. Dort liegen TypeScript und Sass Dateien.
Beim Builden der Lösung werden die Files kompiliert und in den Ordner www kopiert (JS files, CSS Dateien, Images).

In Visual Studio sehe ich das gesamte Projekt und das ist auch praktisch so.
Doch manchmal ist es einfacher nur den src Ordner zu öffnen:

  • Dadurch ist die Suche auf die Struktur eingeschränkt.
  • Es kann mir nicht passieren, dass ich im generierten www Ordner etwas ändere, obwohl ich das im src Ordner machen will.
  • Aber auch umgekehrt, dass ich kurz Änderungen im www Ordner machen will, um etwas auszuprobieren, das dann bei erfolgreichem Versuch von mir in den src Ordner durch Copy/Paste übertragen wird.
2. Plattformunabhängig

Sehr praktisch ist der Editor auch dann auf einer anderen Platform. Natürlich wäre dort eine gute Entwicklungsumgebungen vorhanden, aber es erleichtert einfach die Arbeit, wenn dasselbe Tool zur Verfügung steht.

  • Visual Studio Code am Mac
    • Dieselbe Umgebung wie unter Windows, auch wenn man statt der Ctrl die Cmd Taste verwenden muss, aber daran gewöhnt man sich schnell.
3. App Framework

Es gibt noch einen Grund, warum ich Visual Studio Code interessant finde und zwar als Application Framework, z.B. für Windows 7 Desktop Applikationen.

  • UI Framework - Electron
  • Basiert auf Chromium

Das Projekt ist Open Source, es ist in TypeScript erstellt und man könnte so natürlich auch andere Desktop Applikationen auf Web Technologie Basis erstellen.


Warum hat Microsoft Visual Studio Code rausgebracht?

Reicht denn Visual Studio nicht aus, könnte man sich fragen?
Hätte man nicht besser Visual Studio auf die anderen Plattformen portieren sollen?
Das wäre natürlich auch toll. Aber es wurde wohl erkannt, dass sich Editoren, wie Sublime Text, in der plattformübergreifenden Entwicklung bewährt haben. Sie sind leichtgewichtiger als IDEs (Integrierten Entwicklungsumgebungen), wie XCode oder Visual Studio.

Warum überhaupt plattformübergreifend, reicht Microsoft denn Windows nicht mehr?

Die neue Strategie von Microsoft heißt: Mobile first, cloud first.
In beiden Fällen ist Windows nicht an erster Stelle. Android und iOS sind die wichtigen mobilen Betriebssysteme und in der Cloud wird häufig Linux (z. B. aus Kostengründen) eingesetzt.
Wenn sie jetzt erreichen, dass die Entwickler weiterhin mit Microsoft Tools arbeiten, sind sie nicht verloren, auch wenn sie im Moment für Nicht-Windows Systeme entwickeln. Außerdem verwenden diese Entwickler gerne Azure, besonders, wenn das Entwicklertool sie dabei unterstützt.

Nicht zu vergessen ist auch die Anstrengung von Microsoft, .NET wieder attraktiv zu machen. Es ging ganz schnell und plötzlich war JavaScript, dank Node.js, auch am Server und nicht nur im Browser, eine wichtige Sprache.

Für Microsoft ist die Programmiersprache jetzt nicht so wichtig, denn hier verdienen sie kaum Geld, aber es ist wichtig, dass die Programmierung im Microsoft Umfeld attraktiv für Entwickler bleibt.
Je mehr Software für Windows und für Office (inkl. aller Server Dienste: Office365, AD, Exchange, ...) entwickelt wird, desto wichtiger bleibt Windows und Office im Unternehmens- und Bildungsumfeld und dadurch auch im Privatumfeld.

So ist auch meiner Meinung nach das Engagement im Open Source Bereich von Microsoft erklärbar.

Ich, als Entwickler finde das toll, dass sie soviel Open Source Projekte am Laufen haben.
Man muss sich das mal anschauen:

Microsoft Open Source Projekte auf github/Micosoft,
bzw. gibt es auch eine übersichtlichere Ansicht: microsoft.github.io.

Ich verwende nun eigentlich etwas ganz Microsoftfremdes: Ionic, Cordova, Angularjs und trotzdem habe ich das Gefühl ich bleibe ein Entwickler im Microsoft/Windows Umfeld. Es ist mir auch ein Anliegen, dass das Programm dann nicht nur am iPhone und auf Android Handys läuft, sondern es soll auch am Windows Phone und unter Windows laufen. Und wenn ich einen Dienst in der Cloud brauche, sehe ich mir als erstes das Azure Angebot an. - Scheint aufgegangen zu sein, die vermutete Strategie.

Und ihr Engagement auch .NET plattformunabhängig anzubieten, durch den neuen Open Source .NET Compiler (Codename: Roslyn) und die Frameworks ASP.NET Core and .NET Core (erwähnenswert auch die bevorstehende Übernahme von Xamarin) werden mich wahrscheinlich wieder näher zu .NET bringen.

Das kann man jetzt nicht alles Visual Studio Code in die Schuhe schieben, doch es ist ein Puzzleteil in dieser Strategie.

Und dann gibt es noch einen ganz gewichtigen Punkt, warum Microsoft Visual Studio Code rausgebracht hat:

It is done already

Durch das Projekt Monaco (Visual Studio Online) gibt es den auf JavaScript basierenden Code Editor bereits seit 2013. Inzwischen ist der Editor nicht mehr nur in den Azure Websites (Open in Visual Studio Online) zu sehen, sondern auch in OneDrive, Visual Studio Team Services und in den F12 Tools im Browser Edge (vielleicht auch im IE).
Also war es wohl ein relativ einfacher Schritt, das Teil mal in einem Chromium Framework laufen zu lassen. Man soll die Leistung aber nicht schmälern, denn z.B. die Fileüberwachung, die Integration ins Betriebssystem, Updates, Pluginsystem, ... waren vermutlich nicht so im Framework vorhanden.

Das war meine Meinung

Schwer zu sagen, ob meine Vermutungen so zutreffen. Ist im Endeffekt auch egal. Ich freue mich, einen so ausgereiften Editor zu haben und werde ihn bestimmt noch öfters verwenden.



Weitere Artikel über Visual Studio Code.