Erfahrung mit ElectronJS?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Hat damit hier jemand schon mal Erfahrungen gemacht?

Ich nutze Electron gelegentlich und mir damit überwiegend kleine Helfer-Tools zusammenstricke. Primär um Settings von Programmen auf GitHub in ein privates Repo zu schubsen oder zum systemübergreifenden Organisieren von Projekten (Mac <--> Linux <--> Windows).

Ist das gut um Anwendungen mit hübschen UIs zu entwickeln?

Definitiv ja! Unter der Haube von Electron steckt Chromium und NodeJS. Genauer gesagt ein Bundle aus diesen beiden. Ergo mit einfachen HTML Markup, CSS und JavaScript – sei es VanillaJS, und/oder Bibliothek, Frameworks etc. – ziemlich einfach native Apps entwickelt kannst.

Electron selbst dient letztendlich als Wrapper für deine programmierte Anwendung, die wiederum darin ausgeführt wird und/oder mit dem System interagiert. Was deine Frage bezüglich C# angeht: es relativ einfach ist, da Electron selbst auf C# aufbaut respektive der Core darauf basiert. Wenn du also C# nutzen möchtest, das "ElectronCgi.DotNet Nuget" der Schlüssel dazu ist.

Install-Package ElectronCgi.DotNet -Version 0.0.2

Mit diesem Package dann deine .Net Quellen mit Node verknüpfen kannst. Das Ganze ist noch relativ frisch und selber nicht viel mehr zu sagen kann, da ich es selber noch nicht verwendet habe. Nutze selber fast ausschließlich JavaScript.

Kann man sich das gannze dann so in etwa vorstellen wie im Browser nur das der "Server" hier das C# Backend ist?

Das kann man sich nicht nur in etwa so vorstellen, es ist so. ;) Wie ich schon weiter oben geschrieben habe, Electron sich aus Chromium und Node zusammensetzt. Falls dir Chromium noch nichts sagt, das ist das OpenSource Projekt hinter Googles Chrome Browser.

Kurz und knapp: Electron für dein UI verwenden kannst. Ich weiß ja nicht was du genau machen willst respektive welches Ziel du genau verfolgst. Wenn du dich mit C# beschäftigen möchtest, solltest du dir bezüglich deiner UIs auch mal Nuklear-GUI oder das Bunifu Framework für C# und VB.Net anschauen.

Selber aktuell peu á peu nach Zeit, Lust und Laune mit Electron, Vue.js, diversen APIs und eigenem Framework einen Client für meine webbasierte App (SaaS) umsetze. Für die Gestaltung des UI mir jedoch aus Sass das CSS kompiliere und kein spezielles UI Framework einbinde. Nichtsdestotrotz dir hier zu guter Letzt noch ein paar davon als Link anhänge.

LG medmonk

Woher ich das weiß:Berufserfahrung
Tyldu 
Fragesteller
 31.08.2019, 18:51

danke für die ausführliche antwort! was genau ich damit machen will, weiß ich noch selber nicht so ganz. bis jetzt habe ich meistens mit JavaFX gearbeitet habe wenn es um anwenungen mit UI ging und da fehlte mir immer die möglichkeit animationen mit css zu machen und da ich auch ab und an mal webapps mit nodejs mache, schätze ich diese möglichkeit einfach sehr, allerdings ist man da dann natürlich immer an den browser gebunden. selbiges gilt auch für c#, wobei ich da jetzt nur letztens einmal einen kurzen blick auf WPF geworfen habe.

welche ide nutzt du denn für elektron? wenn man das mit c# backend macht, ist es vermutlich am sinnvollesten das ganze in visual studio zu machen, aber erstmal würde ich da wohl etwas mit jetbrains herumprobieren.

0
medmonk  03.09.2019, 15:21
@Tyldu
was genau ich damit machen will, weiß ich noch selber nicht so ganz.

Auf kurz oder lang musst du schon wissen, was du genau machen möchtest. Darüber solltest du dir also schon vorab Gedanken machen und nicht einfach blind drauf los starten. Ansonsten nur unnötig Zeit verschwendest und dabei vielleicht auf ein falsche Pferd setzt.

Das soll letztendlich heißen, das du dich je nach Anwendungsfall vielleicht doch für Sprache X oder Framework Y entscheidest, weil dieses andere Features und Möglichkeiten mitbringt, als es vielleicht bei anderen Sprachen der Fall ist. Am Ende kann es auch einfach eine Frage der Performance sein.

welche ide nutzt du denn für elektron?

Ich selber arbeite überwiegend mit dem kostenlosen Atom von GitHub. Der Editor wurde mit einigen Extensions an meine Bedürfnisse und an meinen Workflow angepasst. Diese Konfiguration wiederum plattformübergreifend nutze.

Wenn bei mir Projekte umfangreicher und komplexer ausfallen, arbeite ich gelegentlich parallel mit PHPStorm von JetBrain. Für Python habe ich unter MacOS und Linux noch PyCharm installiert. Unter Windows schaut es ganz ähnlich aus. Dort halt Atom, PHPStorm und Visual Studio installiert habe.

LG medmonk

1

ja, ist nett. Allerdings nimmt man typischerweise kein C# im Backend, sondern JS. Der Server ist ähnlich wie bei node.js.

Tyldu 
Fragesteller
 30.08.2019, 23:49

hmm mit node arbeite ich normal auch ganz gern, wollte aber mal bisschen mehr erfahrung mit c# sammeln. das hier war übrigens der grund wie ich da drauf gekommen bin.

ah da fällt mir ein: ich mein sogar schon mal unbewusst auf electron gestoßen zu sein bei phpstrom. da gibts glaub ich schon fertige vorlagen für die entwicklung mit electron.

naja dann werd ich da wohl demnächst mal nen blick rein werfen. schade, wollte endlich mal c# ne chance geben. vllt eignet sich c# ja dann am ende doch besser, mal sehen.

danke!

0