Pinta Mono Framework usw. Frage

Smalltalk
Antworten
Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Pinta Mono Framework usw. Frage

Beitrag von Revod » 27.07.2017 12:02:37

Was ich seid langem schon immer fragen wollte, an erfahrene Programmierer im Grundsatz.

Es gibt für Linux Debianmono und Debianpinta ist ein Programm mit " pinta.exe und einige dll " Dateien. Das bedeutet für mich es wurde auf " M&S NET Framework entwickelt " ( Kürzlich TomL's Pinta Empfehlung erinnerte mich wieder daran ).

Muss voraus schicken, mir persönlich ist das Mono Framework nicht Sympathisch und auch die xy.exe nicht. Ich konnte in Pinta keine " Reiter " Option finden, oder zweites Bild in einen neues Fenster öffnen, daher für mich sehr eingeschränkt für komplexere Bildbearbeitungen. Doch das sind die Paint's im allgemeinen ( Und GimPhoto ist sehr leicht gewichtig und daher auch für simple Bildbearbeitung sehr gut geeignet ). :)

Edit;

Pinta und Mono erneut installiert und getestet. Hab die Reiter Funktion und Mehr Fenster Modus " Trick " gefunden, so ist es gut. :D
Edit Ende;

Und da gibt es User, die entweder auf " Wind...... " Anwendungen angewiesen sind, oder jenige, die noch keine Alternativen für Linux finden konnten, oder Wine nutzen.

Ist es grundsätzlich möglich die " M&S " Anwendungen alle, wie " PS, M&S-Office " mit dieses Framework zu entwickeln, die dann gleich gut mit den gleichen Funktionen mit dem Mono Framework auch unter Linux gleich gut anwendbar wären?

Oder hat man mit .NET und Mono Framework Entwicklung Programmierung Einschränkung Entwicklung für die " M&S Anwendungen " wegen der Code Sprache, wie z. B. HTML vs. PHP, im Sinne was ist mit möglich und was nicht im Zusammenhang für Anwendungen?
Systemd und PulseAudio, hmmm, nein danke.

syscrh
Beiträge: 65
Registriert: 29.05.2017 21:44:15

Re: Pinta Mono Framework usw. Frage

Beitrag von syscrh » 28.07.2017 00:33:24

Hab zwar nicht so ganz verstanden, worauf Du genau hinaus möchtest.

Aber: Ich würde Mono am besten mit Java und dessen JVM vergleichen. Die meisten C#-Programme werden mit dem .NET-Framework entwickelt und das läuft mit Hilfe von Mono unter Linux. So wie Java-Programme durch die JVM auch unter Linux ohne Anpassungen lauffähig sind.

.NET Dir eine relativ einfache Möglichkeit, durch das Anbieten eines Frameworks für das jeweilige Betriebssystem, Anwendungen für die großen Desktop-Betriebssysteme zu erstellen, ohne Anpassungen für die jeweilige Platform vornehmen zu müssen.

KeePass ist ein weiteres Beispiel, welches mit Hilfe von Mono unter Linux läuft. Team Viewer benötigt sogar WINE, um unter Linux zu laufen (bringt seine eigene Version von WINE mit).

Grundsätzlich kannst Du mit .NET jede beliebige Anwendung entwickeln und unter den meisten Systemen zum Laufen bringen. Die Integration ist dabei allerdings ähnlich "gelungen" wie bei JavaFX.


PHP und HTML sind übrigens zwei ganz unterschiedliche paar Stiefel. PHP ist primär eine serverseitige Programmiersprache, welche am Server normalerweise Daten verarbeitet und dann Daten in einem anderen Format an den Browser übergibt, und HTML ist eine Skriptsprache, welche am Client geparst wird und v. a. zur Darstellung von Text (und anderen Informationen) verwendet wird. Diesen Text kann man dann mit Hilfe von CSS optisch gestalten.

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Pinta Mono Framework usw. Frage

Beitrag von Revod » 28.07.2017 01:29:35

Ja habe, respektive versuchte mich mittlerweile etwas " schlauer " zu machen. " gescheites Internet ".

Es ist in C# und nicht in C++ was ich den Unterschied der gegebene Programmierung Möglichkeit nicht kenne. Ich nehme Mal an, alleine in C# ist man eingeschränkter als mit C++

Das mit Mono ist auch so eine Sache. Habe mir KeePass wegen Test " Neugier " die Mono Version geholt und

Code: Alles auswählen

mono ./KP.exe
ausgeführt. Da sah ich nach sehr lange Zeit die Expection Fehler Ausgabe, oder so ähnlich mit 0x000000 Ziffern... und irgend was noch mit unpassende " LIC " ... :mrgreen:

Wobei Pinta funktioniert.

Konnte auch einen Yahtzee SRC Spiel finden auf Basis Mono Sharp, den ich kompilieren konnte. Doch beim ausführen des Befehls kam die Fehlermeldung mit den 0x00000 .... Fehlerausgabe und auch irgend was noch mit unpassende " LIC ".

Doch ich vermute, dass es sehr wenige, bis " keine " Anwendungen gut kompatibel mit Mono sind ( Es gibt noch das " Gorilla Passwort Manager" der sehr gut ist ). Dafür konnte ich einen ERP Anbieter, der Individuell auch für Linux User sich bemüht, mit Mono IDE, nur noch nicht kontaktiert. :mrgreen:

Wie dem auch sei, ich kann mir sehr gut vorstellen, CAD, Office und gar PS Mono kompatibel entwickelt werden könnten, ... Frage des Willens, in so fern die C# Sprache keine Nachteile dafür mit sich bringen würde, für diese Anwendungen. :wink:

Edit:

Neues Versuch, geholt von,

http://www.brdstudio.net/yahtzeesharp/download.html

Der Setup startet und konnte es in ein Ordner meines Benutzers installieren.

Ausgabe

Code: Alles auswählen

[28.07.2017 01:54 Uhr]
[mich@localhost 1] YahtzeeSharp > /usr/bin/mono ./YahtzeeSharp.exe
Missing method System.Type::op_Inequality(Type,Type) in assembly /usr/lib/mono/2.0/mscorlib.dll, referenced in assembly /usr/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll

Unhandled Exception:
System.MissingMethodException: Method not found: 'System.Type.op_Inequality'.
  at Gtk.Window..ctor (System.String title) [0x00000] in <filename unknown>:0 
  at YahtzeeSharp.frmMain..ctor () [0x00000] in <filename unknown>:0 
  at MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method not found: 'System.Type.op_Inequality'.
  at Gtk.Window..ctor (System.String title) [0x00000] in <filename unknown>:0 
  at YahtzeeSharp.frmMain..ctor () [0x00000] in <filename unknown>:0 
  at MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0 

[28.07.2017 01:54 Uhr]
[mich@localhost 2] YahtzeeSharp > 

Gleiche Fehlermeldung wie mit der kompilierte Methode.
Systemd und PulseAudio, hmmm, nein danke.

syscrh
Beiträge: 65
Registriert: 29.05.2017 21:44:15

Re: Pinta Mono Framework usw. Frage

Beitrag von syscrh » 29.07.2017 20:26:56

Wieso so kompliziert mit KeePass? KeePass mit Mono kannst Du Dir einfach aus den Debian-Repositories installieren: keepass2

Ansonsten würde ich mal stark bezweifeln, dass C# weniger mächtig als C++ oder jede andere x-beliebige Programmiersprache ist. Funktional sind die Sprachen doch alle relativ ähnlich (gut, mit der einen kann man evtl. hardwarenäher als mit der anderen programmieren, aber wollen wir mal die spezielleren Fälle außen vor lassen) und unterscheiden sich letztendlich mehr in so Geschichten wie der Syntax, dem angedachten Zielsystem, Garbage Collector ja/nein, usw.. Letztendlich ist die Wahl der Sprache mittlerweile häufig mehr die Frage nach dem persönlichen Geschmack, da es für jede Sprache ähnlich gut geeignete Alternativen gibt. Ist so ähnlich wie bei den Linux-Distributionen: Klar gibt es Unterschiede, aber für den normalen Desktopnutzer ist die Wahl eigentlich egal. Hat man dann speziellere Anforderungen, dann kann man aus den vielen scheinbar gleichen Distris erst die richtige auswählen. So ähnlich ist das auch bei Programmiersprachen.

PS: Das ist jetzt seeeehr stark vereinfacht. ^^ Ich finde übrigens D am spannendsten im Moment. Mir gefällt die von C-Derivaten altbekannte Syntax und die Flexibilität. Aber ich weiß, dass es auch einiges an Kritik hagelt und es der Sprache auch immer noch an Dokumentation fehlt.

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Pinta Mono Framework usw. Frage

Beitrag von Revod » 29.07.2017 22:38:31

Danke über das Vergleich C# vs. C++

Doch einen Grund, ausser die gewisse " Details " muss es doch noch geben, vermute ich nur Mal. Weil, ansonsten warum wurde C# > C+ > C++ entwickelt?

Zur Zeit habe ich keinen Debian am laufen, nur PCLinuxOS. Was ich gefunden habe über KeePass,

die Mono Version,

https://mageia.pkgs.org/6/mageia-core-r ... h.rpm.html

und die libstdc++ Version, Debiankeepassx und auch

https://openmandriva.pkgs.org/3.0/openm ... 6.rpm.html

Letzteres hat auch PCLinuxOS, es ist eine Linux Bin Datei und keine exe. Daher vermute ich auch, dass es nicht einfach so einfach Plattform übergreifend ist. Weil, wenn es so wäre dann sollte es der KeePass.exe nicht beissen, sofern Mono installiert ist. Oder täusche ich mich da?

Doch,

die Mono Version Paket von Mageia Distro ( noarchiv ) installierte apt ohne Fehlermeldungen ( apt-get -i /pfad/zur/datei/keepass-2.35-1.mga6.noarch.rpm " PCLinuxOS hat auch das apt System " ). Trotzdem die Fehlermeldung Ausgabe wie gestern beim ausführen, es startet nicht. Das sind meine Feststellungen zwischen Distributionen. Wie gesagt, auch das eigene kompilierte KeePass.exe mit den PCLinuxOS passende Lib's kann nicht ausgeführt werden, nur die Linux Version keepassx( Bin Datei) von der libstdc++ abhängig lässt sich ausführen.

Hingegen Java Anwendungen sind auf jede Plattform ausführbar und Java abwärts kompatibel ( Abgesehen davon wenn eine xy.jar nur für die " Wind.... " vom Entwickler kompiliert wurde, habe auch schon solche gefunden die hatten 2 xy.jar, eine xy.Windows.jahr und eine xyLinux.jar ). Daher gehe ich davon aus, dass pauschal vergleichbar ist es eben nicht.
Systemd und PulseAudio, hmmm, nein danke.

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Pinta Mono Framework usw. Frage

Beitrag von Revod » 30.07.2017 00:06:14

Immerhin, das YahtzeeSharp Mono konnte ich lösen. Habe noch zusätzlich Debianxsel vor gängig installiert

Der Source Code zum compilieren ist nicht komplett. Nachdem ./config und make sauber durch gelaufen ist holte ich mir von ( Auch der Source Code ),

https://sourceforge.net/projects/yahtze ... Sharp-2.0/

die YahtzeeSharp-2.0-linux-bin.tar.gz Datei, entpackte sie und vergleichte die Dateien. Die kompilierte Version enthielt viel weniger Dateien, besonders dll Dateien.

Als erstes vergleichte ich die Datei, YahtzeeSharp.exe. Die kompilierte ist 398.5 Kb und die " Linux-bin " ist 1.1 Mb gross.. Also benannte ich die " linux-bin " YahtzeeSharp.exe in YahtzeeSharp.exe.old und danach kopierte ich meine kompilierte YahtzeeSharp.exe ind das Ordner der entpackte YahtzeeSharp-2.0-linux-bin.tar.gz Datei, und führte

Code: Alles auswählen

mono ./YahtzeeSharp.exe
aus.

Und siehe da, einen schönen Yahtzee Fenster öffnete sich, stabil und es funktioniert, sogar in allem...

Dann muss ich meine Vermutung ca. zur Hälfte revidieren über die Plattformen übergreifend Kompatibilität.

Der Logik nach, Entwickler von Software könnten doch alles in .NET entwickeln, auch unter OSS und für die mono-cli und ohne mono-cli kompatibel, dann wäre doch das " Hick-Hack " über, / mit Wine, Playonlinux usw. ja gar nicht mehr notwendig ( Scheiss Spiel, was da betrieben wird ). :roll:

Korrektur:

Hatte Version Verwechslung wegen der Grösse der beiden YahtzeeSharp.exe Dateien. :facepalm:

Die Version 1.1 hat eventuell einen fehlerhaftes Source Code für die mangelnde dll Dateien ( ist auch schon älter ). Doch die davon kompilierte YahtzeeSharp.exe ( 1.1 Version ) funktioniert nicht im kompiliertes Ordner.

Die kompilierte Version 2.0 hat gemäss Ausgabe einen " markup " Problem.

Kopiere ich die YahtzeeSharp.exe Version 1.1 in das Ordner Version 2.0 dann funktioniert alles.

" Kopfgekratze " das erinnert mich an die alten " Wind..... " Zeiten, und auf ansteckend wirkend... :mrgreen:
Systemd und PulseAudio, hmmm, nein danke.

Antworten