JavaScript-Klassen im .NET-Stil
31.05.2017, 10:45 Uhr
Ist es JavaScript? Oder doch C#?
Die große Hoffnung des englischen Softwareentwicklers EJocys ist es, dass irgendwann die großen Browser C# direkt unterstützen werden. Seine heutigen JavaScript-Programme ließen sich dann ganz einfach nach C# portieren.
EJocys schreibt objektorientiertes JavaScript. Eines Tages beschloss er, seinen Code auf einen neuen Level zu heben und ihn so zu gestalten, dass er C#-Code so ähnlich wie möglich wird. Er begann damit, .NET-Coding-Standards, insbesondere die Vorgaben für die Namensvergabe, für seinen JavaScript-Code zu nutzen und portierte die ersten nützlichen Klassen und Methoden von .NET nach JavaScript, wobei er die .NET-Namen für Klassen und Properties verwendete. Einige Teile des Codes musste er von Grund auf neu schreiben, andere fand er bereits im Internet und andere konnte er direkt von C# portieren. Die in vielen Jahren entstandene JavaScript-Bibliothek wurde im Mai aktualisiert und enthält nun auch AES- und RSA-Klassen, die kompatibel zu den Klassen in Microsofts .NET-Namensraum System.Security.Cryptography sind.
Den aktuellen Stand seiner Arbeit finden Sie unter www.jocys.com/Common/JsClasses/Documents. Ein Artikel zum Projekt mit vielen Code-Beispielen wird auf CodeProject gepflegt und der Autor steht dort auch heute noch Rede-und-Antwort zu seiner Bibliothek. So startete EJocys die Arbeit an seiner objektorientierten JavaScript-Bibliothek im .NET-Stil lange bevor es TypeScript gab. So tauchte jüngst auch eine entsprechende Frage eines Entwicklerkollegen in den Kommentaren zu seinem Projekt auf: Macht TypeScript das ganze Projekt nicht überflüssig?
Doch EJocys stimmt dieser These ganz und gar nicht zu. Er sagt, er kenne sich sehr gut mit JavaScript aus und ebenso gut mit C#, und er sehe es nicht ein, eine dritte Sprache zu nutzen, welche zwischen den beiden vermittelt. Er meint, dass es für die Entwicklerwelt sehr viel besser und günstiger sein würde, wenn Client und Server mit derselben Sprache programmiert werden würden und hofft, dass die namhaften Browser irgendwann C# direkt unterstützen werden.
In der Realität zu sehen ist die Sprachenkonvergenz von Client und Server zwar schon, allerdings dergestalt, dass JavaScript via Node auch auf dem Server läuft. Das hat für EJocys allerdings keinerlei Nachteile, weil sein Code – auch wenn er sich fast wie C#-Code liest – reines JavaScript ist.