Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich mit C# eine Anwendung für den Raspberry PI (Linux) programmieren?
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

Wie kann ich mit C# eine Anwendung für den Raspberry PI (Linux) programmieren?

beantworten | zitieren | melden

Hallo Leute ich möchte ein kleines Programm schreiben um ein "SmartHub" auf dem Fernseher zu haben mit Netflix etc.
Ich habe mir dazu überlegt eine GUI zu entwickeln die einfach Browser Verknüpfungen auf Buttons hat.
Allerdings bin ich noch Anfänger und möchte das als Projekt machen um auch mehr über GUI's zu lernen.
Ist das überhaupt unter C# möglich weil das Pi ja auf Linux läuft und eine .exe da ja nicht ausführbar ist. Ich kenne mich leider nicht unter Linux aus und habe nach Recherche gefunden das man einfach mono installieren kann um C# Programme auszuführen. Ist das so auch für mein vorhaben möglich ?
MFG
Paddy
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1766
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

Dir scheint es enorm an Grundlagen Wissen zu fehlen.
C# bzw. .NET Code ist nicht Windows spezifisch.
Hier solltest du dich erst einmal in die Grundlagen einarbeiten und auch verstehen was .NET eigentlich für eine Platform ist.

Aktuell kannst du auch mit .NET 5 auf Linux arbeiten.
Wenn du einfach nur eine Gui mit Buttons zum öffnen von Browsern umsetzen willst, kannst du dirs im einfachsten Fall mit Windows Forms unter .NET 5

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15510
Herkunft: BW

beantworten | zitieren | melden

Seit 5(!) Jahren wird Linux dank .NET Core unterstützt und läuft auch ARM Architekturen und damit auch auf dem Raspberry PI.
Running .NET 5 (Preview) on a Raspberry Pi 4

Hättest dazu auch nicht groß recherchieren müssen; blick in die Doku hätte gereicht ;-)
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 344
Herkunft: Kassel

beantworten | zitieren | melden

Winforms unter Linux läuft nicht mit .NET 5.0. Das ist nur mit Mono möglich.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Papst am .
private Nachricht | Beiträge des Benutzers
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

beantworten | zitieren | melden

Ich bin da jetzt etwas verwirrt also laut Wikipedia gehören Winforms und Wpf zu .Net Core dann müsste das doch auch ohne Mono laufen oder ?
Also so wie ich es verstehe einfach das machen von ABT's Link und dann sollte es laufen ^^
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Paddy1997 am .
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 344
Herkunft: Kassel

beantworten | zitieren | melden

Windows Forms (und auch WPF) benötigt zusätzlich zur .NET 5.0 Runtime auch noch die .NET Desktop Runtime. Diese gibt es nur für Windows.

Was du allerdings nutzen kannst sind Dinge wie Electron.NET oder Plattformen wie UNO (https://platform.uno/).


Edit: Aber ob du z.B. Netflix so einbinden kannst, wie du dir das vorstellst kann ich dir nicht sagen, vermute aber, dass es Netflix dir schwer machen wird, außer mit einem Browser.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Papst am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15510
Herkunft: BW

beantworten | zitieren | melden

Netflix verwendet zur Übertragung HTTP-Streaming mit einer eigenen Verschlüsselungsimplementierung.
Unwahrscheinlich, dass Du das ohne immensen Aufwand nachstellen kannst.

Geh besser den Browser-Weg.
private Nachricht | Beiträge des Benutzers
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

beantworten | zitieren | melden

Ja also ich will da kein Netflix so implementieren :D wie schon gesagt ich bin Anfänger und lerne derzeit noch die Grundlagen von C#. Daher möchte ich es ganz Simpel halten also einen Button erstellen der aussieht wie das Netflix Logo. Wenn man diesen drückt soll sich der Browser öffnen mit www.netflix.de.

Das klingt für mich recht einfach auch als Anfänger. Ich werde mir trotzdem mal etwas zu Electron.NET anzuschauen einfach mal um zu verstehen was das überhaupt wirklich ist.

Aber für mein Vorhaben ist glaube ich der einfachste weg das über WinForms zu machen und mono auf dem Pi zu Installieren.

Ich danke euch für die Antworten immerhin weiss ich jetzt das es Grundsätzlich geht :)
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15510
Herkunft: BW

beantworten | zitieren | melden

Zitat von Paddy1997
Aber für mein Vorhaben ist glaube ich der einfachste weg das über WinForms zu machen und mono auf dem Pi zu Installieren.

Nur damit Du Bescheid weißt: damit erlernst Du tote Dinge.
Mono hat keine Zukunft mehr; es ist vollständig in .NET Core aufgegangen.
private Nachricht | Beiträge des Benutzers
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

beantworten | zitieren | melden

Danke für die Info dann lass ich das lieber.
Ich habe jetzt über Wikipedia folgendes gefunden.
Plattformunabhängige Benutzeroberflächen mit Avalonia U
Sollte ich dann lieber das lernen ? Das klingt doch gut ^^ und da es Plattformunabhängig ist sollte das auch unter Linux laufen :).
Ich habe auch auf einem Discord mal nachgefragt da meinte jemand ich muss es dann als Linux "builden".
Wie das geht weiss ich derzeit noch nicht aber da werde ich ja ne Anleitung finden :)
Kennst du Avalonia U ? Ist das Sinvoll zu erlernen ?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15510
Herkunft: BW

beantworten | zitieren | melden

kA wieso Du das Wiki liest wenn die Doku viel mehr aussagt.
Das bleibt Dein Geheimnis.

Avalonia ist halt ne "eigene" Technologie; musst selbst wissen, ob das was für Dich ist.
Evaluierung gehört zu Deinem Job: Du kennst die Anforderungen.
Wir können Dir nur Fakten geben. Entscheiden musst selbst.
Zitat
Ich habe auch auf einem Discord mal nachgefragt da meinte jemand ich muss es dann als Linux "builden".
Totaler Quatsch; wie leider oft auf in solchen Kanälen.

Das neue Forum hier wird auf Linux gebuildet und wird auf Windows gehostet.
Andersrum geht's genauso.
(Ich builde immer auf Linux, weil Linux schneller beim Umgang mit vielen kleinen Dateien ist (zB Nuget Restore, Build etc..)

Aber auch dafür brauchst Du kein Discord: auch das steht in der Doku ;-)
private Nachricht | Beiträge des Benutzers
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

beantworten | zitieren | melden

Zitat von Abt
kA wieso Du das Wiki liest wenn die Doku viel mehr aussagt.
Das bleibt Dein Geheimnis.

Ich hab manchmal Probleme in der Doc genau das zu finden was ich suche.https://docs.microsoft.com/de-de/dotnet/core/introduction
Hier steht .Net Core Apps laufen Plattformübergreifend. Unter WPF steht es gibt zwei Implementierungen .Net Framework und .Net Core.
Heißt für mich das WPF.NET Core auch unter Linux läuft wenn man dort Runtime Core 3.1 installiert.
Das scheint aber auch nicht so ganz richtig daher hab ich oft das Gefühl die Doc "falsch" zu lesen.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Paddy1997 am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15510
Herkunft: BW

beantworten | zitieren | melden

Zitat
Heißt für mich das WPF.NET Core auch unter Linux läuft wenn man dort Runtime Core 3.1 installiert.

> Ja, .NET Core Anwendungen sind Plattform-übergreifend.
> Ja, für WPF brauchst Du nicht nur die .NET Core Runtime, sondern auch die .NET Core Desktop Runtime
> Nein, es gibt derzeit keine .NET Core Desktop Runtime für Linux
> Nein, die Doku ist nicht falsch
> Ja, Du hast ein Problem die Doku zu verstehen, wenn Du sie nich ganz liest ;-)

Fazit:
.NET Core Anwendungen auf Linux: Ja
WPF .NET Core Anwendungen auf Lunux: (derzeit) nein.

Das steht auch in dem Link, den Du gepostet hast.
Hat auch Papst weiter oben schon gesagt.
private Nachricht | Beiträge des Benutzers
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

beantworten | zitieren | melden

Für langjährige Entwickler wie du einer bist ist das sicherlich einfach zu verstehen.
Du solltest aber auch bedenken das nicht jeder vor allem ein Anfänger nicht über das nötige Hintergrund Wissen verfügt um diese Doc einfach zu verstehen.
Aber gut dann kuck ich einfach wie ichs mach
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Paddy1997 am .
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 344
Herkunft: Kassel

beantworten | zitieren | melden

Das .NET Ökosystem ist in den letzten Jahren stark gewachsen und die Dokumentation ist sehr gut. Allerdings, bei einem großen Ökosystem ist auch die Doku sehr groß.

Deswegen habe ich das auch so geschrieben und nicht einfach auf die Doku verwiesen.

Der Hintergrund ist, dass Windows Forms auf ActiveX (?) und WPF stark auf DirectX angewiesen sind und die gibt es eben nur für Windows.
Mono hat eine eigene Implementierung von Windows Forms gemacht, die auf GTK (glaube ich) basiert und damit Crossplattform.
private Nachricht | Beiträge des Benutzers
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

beantworten | zitieren | melden

Ja es ist wirklich erschlagend, vor allem wenn man sich alles selbst beibringen will und leider auch keinen im Freundeskreis hat mit dem man sich austauschen kann.
Ich bin trotzdem dankbar für die Antworten ich denke ich werde es irgendwie mit Avalonia umsetzen das orientiert sich ja stark an WPF :)

Bleibt Gesund und einen Guten Rutsch ins neue Jahr
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15510
Herkunft: BW

beantworten | zitieren | melden

Zitat von Paddy1997
Du solltest aber auch bedenken das nicht jeder vor allem ein Anfänger nicht über das nötige Hintergrund Wissen verfügt um diese Doc einfach zu verstehen.

Genau deswegen poch ich so darauf, dass Du die Doku liest.
Hier steht zu 99,999% die Wahrheit; daher lass (aktuell) in Deinem eigenen Interesse sowas wie Wiki und Discords weg, wenn die Dich nicht entsprechend auf die Inhalte der Doku verweisen.

Es ist nicht unbedingt wichtig zu wissen, wie alles 100% funktioniert, sondern Du musst lernen zu wissen, woher Du die notwendigen Infos bekommst.
Und Dein erster Anlaufpunkt sollte niemals Wiki oder Discord sein, sondern die Doku.
private Nachricht | Beiträge des Benutzers
Paddy1997
myCSharp.de - Member



Dabei seit:
Beiträge: 31

Themenstarter:

beantworten | zitieren | melden

Ich werde zukünftig immer zuerst in die Doku schauen und wenn ich da mal was nicht verstehe || nicht finde kann ich ja immernoch fragen :)
Danke für die Hilfe
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Paddy1997 am .
private Nachricht | Beiträge des Benutzers