Grundfrage JS - Server und Konfiguration

Was hat Typescript eigentlich für Vorteile? Ich sehe hier starke Gemeinsamkeiten mit C#, Vorteile ansich nicht weil Typescript-Code immer geparst werden muss?
  • Typchecking: zur Compilezeit vs. gar keine bei JS => weniger Fehler
  • Schnellere Entwicklung, da dank Typen ein besseres IntelliSense möglich ist. (IntelliSense ist ein Feature eines Editors: Wenn du z. B. "console." schreibst, dann wird eine Liste aller Methoden auf "console" eingeblendet.)

    Beispielsweise musst du weniger in API Dokus nachsehen, weil dir IntelliSense schon einiges abnimmt.
Du meinst, dass TypeScript-Code immer zuerst zu JS kompiliert werden muss, bevor es in den meisten Umgebungen ausgeführt werden kann. Da hast du recht, aber mit einem guten Buildsystem oder Projektseed hat man eine nahtlose Integration oft schon eingerichtet. D.h. selbst bei Exceptions wird auf Zeilennummern der TypeScript-Dateien verwiesen, obwohl die Exceptions eigentlich von JavaScript-Dateien stammen, denn nur diese werden ausgeführt.

Nachteile sind:
  • Manchmal ist es kompliziert einen Typen anzugeben. Das ist aber eher selten.
  • Wenn NPM Packages auf JS basieren, müssen sie mit "TypeScript Declaration Files" veröffentlicht werden (Stichwort "index.d.ts"). In diesen werden die Typen, die das JS Package nach außen hin exportiert, händisch (!) gepflegt. Oft gibt es diese bereits und können via npm install @types/[packageName] --save-dev installiert werden.
    Gibt es diese nicht, musst du entweder das Package als any importieren und verlierst damit die ganze Kraft des Typsystems oder du musst selbst solch ein Declaration File schreiben.
    Und bei Letzterem gibt es einiges zu beachten, ich verzweifel da auch regelmäßig.
Eine Frage habe ich noch, was alles sollte auf dem Node.js - Server ausgelagert werden? Derzeit sehe ich das Management jeglicher Anfragen als sinnvoll. Die Renderfunktion ...? Keine Ahnung.
Korrekt, jegliche Anfrage ist sinnvoll, da du (wie oben angerissen) das Backend als schützende Instanz haben möchtest, das jede Anfrage kontrolliert.
Renderfunktion? Man kann zwar serverseitig HTML rendern und dem Client ausliefern, aber ich sehe hier keinen Anwendungsfall dafür.
 
Hallo ComFreek

Vielne dank für deine Antwort. :)

Ich sehe da habe ich noch viel Stoff zu lernen :) ich bedanke mich jedenfalls herzlichst für deine Bemühungen, ich sehe du bist im Web tief verankert und dein Wissen ist dementsprechend enorm gross. :)

Ich muss mir mal über den Lernweg Gedanken machen und was ich mir zuerst aneigne damit ich nicht total überfordert aufgebe, denn dafür gefällt mir die ganze Thematik viel zu gut und das Ziel habe ich anvisiert. :)

Freundliche Grüsse :)
 
Halli hallo ComFreek & Co. :)

Ich habe mich mal in die ganze Thematik eingelesen und merke, js ist exxtrreemm vielfälltig, so vielfälltig da kann man fast sich echt verirren. o_O

Ich möchte mal das Thema js => Office angehen und sehe es gibt auf npm diverse packages welches die Interaktion von node.js zu Word/Excel/Powerpoint regelt, bei Office Objekten seh ich da gar nichts. :cry:

Habt ihr mir da einen Vorschlag wo/wie ich das lösen könnte? (Fernsteuerung auf Outlook inkl. befüllen von allen Felder usw.)

Liebe Grüsse :)
 
Hallo Sunfloraa,

da würde ich auf zwei Absätze verweisen, die ich oben schon einmal geschrieben habe ;)

Du meinst via Node.js auf das Objektmodell von Office 365? Welche APIs stehen denn da grundlegend zur Verfügung? Ich vermute, dass das .NET sein wird. Du könntest nach einem passenden NPM Package suchen und falls es solch eins noch nicht gibt nach einem Weg, .NET über Node.js anzusteuern. Allgemein sind die meisten NPM Pakete zwar auch in JS, können aber auch nativ in C sein, was dann dir alles auf deinem Rechner erlaubt.

Falls es solch eine Brücke zwischen Node.js und .NET auch nicht gibt, würde ich über ein kleines selbstgewählte Interface in C# oder PowerShell (beide können ja .NET Bibliotheken ansprechen) nachdenken, welches mit Node.js z. B. ganz einfach über die Standardeingabe stdin kommuniziert.
In Node.js rufst du dann etwa "sendmail.exe" auf und schreibst auf stdin deine Mail.

(Fernsteuerung auf Outlook inkl. befüllen von allen Felder usw.)
Vielleicht reichen dir da schon "mailto:"-Links. Wenn der Nutzer darauf klickt, öffnet sich das Standard-Mailprogramm mit dem angegebenen Betreff, Empfänger, Mailinhalt usw. (Nachdem du eine Node.js-Anwendung hast, braucht der Nutzer nicht einmal darauf zu klicken, sondern du kannst das automatisiert triggern.)

Übrigens: Wenn du nur ein Word-Dokument automatisiert erstellen möchtest, gibt es viel einfachere Lösungen (und auch NPM-Pakete, möchte ich behaupten).
 
Guten Abend ComFreek

Vielen Dank für deine Antwort. :)
Nun für die Worddokumenterstellung habe ich defintiv ein gutes Paket auf npm gefunden, sehr umfassend und nach der Beschreibung genau das was ich brauche. Jedoch bei Outlook habe ich da so meine Bedenken, warum; Neben mailto möchte ich ein HTML Body übergeben, sowie Dateianhänge und MailFrom, sowie Betreff ändern können. Ich habe gegooglet und gegoogelt und finde einfach nichts dazu in der JS Welt, ich kann mir das sonst nicht vorstellen :-/ bin ich blöde? :( (Ich würde sogerne mal ein Beispiel sehen wo das getriggert wird oder ein Tutorial dazu oder irgenwas. ^^)

Liebe Grüsse :)
 
Ich habe gegooglet und gegoogelt und finde einfach nichts dazu in der JS Welt, ich kann mir das sonst nicht vorstellen :-/
Dann gibt es dazu vielleicht noch nichts. Es ist auch eher ungewöhnlich, von JS clientseitig mit Node.js die Outlook-Desktopanwendung steuern zu wollen.

In einem Post weiter oben habe ich bereits geschrieben, wie man sonst an das Problem herangehen könnte ;)
Du meinst via Node.js auf das Objektmodell von Office 365? Welche APIs stehen denn da grundlegend zur Verfügung? Ich vermute, dass das .NET sein wird. Du könntest nach einem passenden NPM Package suchen und falls es solch eins noch nicht gibt nach einem Weg, .NET über Node.js anzusteuern. Allgemein sind die meisten NPM Pakete zwar auch in JS, können aber auch nativ in C sein, was dann dir alles auf deinem Rechner erlaubt.

Falls es solch eine Brücke zwischen Node.js und .NET auch nicht gibt, würde ich über ein kleines selbstgewählte Interface in C# oder PowerShell (beide können ja .NET Bibliotheken ansprechen) nachdenken, welches mit Node.js z. B. ganz einfach über die Standardeingabe stdin kommuniziert.
In Node.js rufst du dann etwa "sendmail.exe" auf und schreibst auf stdin deine Mail.

(Beachte, dass Node.js in diesem Thema einmal für das Node.js stehen kann, was hinter deiner Electron-App läuft, oder jenes Node.js, welches für das Backend am Server läuft. In diesem Beitrag habe ich ausschließlich Ersteres gemeint :))
 
Zurück