Delphi-PRAXiS
Seite 5 von 7   « Erste     345 67      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Linux - Ick freu mir ;-) (https://www.delphipraxis.net/190093-linux-ick-freu-mir-%3B.html)

mjustin 31. Aug 2016 07:41

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von Namenloser (Beitrag 1346251)
FreePascal verwendet standardmäßig gar keine libc. Die haben fast alles notwendige selbst implementiert und sprechen direkt mit dem Linux-Kernel via Syscalls. Somit kann man an sich extrem portable Kompilate erstellen. Aufpassen muss man nur, wenn man Units einbindet, die ein vorangestelltes c haben (z.B. cmem). Diese linken gegen die libc. Leider gehört dazu auch cthreads, welche man für Multithreading braucht. Aber der klassische Unix-Weg wäre ja auch eher mit fork und wait statt Threads :roteyes:

Ok, das erklärt mein Problem mit verschiedenen libc Versionen in einem Free Pascal Projekt, das dadurch nicht auf einem älteren Ubuntu als dem meiner Entwicklungsumgebung ausführbar war.

Indy TCP/HTTP Server verwenden Threads. Und vermutlich werden auch viele andere Delphi Servertools wie DataSnap, IntraWeb usw. das tun. Bedeutet: für jede libc-Version neu kompilieren. Viel Spass :)

uligerhardt 31. Aug 2016 07:45

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von Valle (Beitrag 1346245)
Nein, das funktioniert so nicht. Auf irgendetwas musst du ja zurückgreifen, wenn du etwas anzeigen lassen möchtest. Wenn FMX auf Linux portiert würde, dann wahrscheinlich, wie gesagt, direkt auf das X11-Protokoll. Welches, wie gesagt, gerade "am deprecaten" ist. ;-)

FMX basiert doch auf VGScene, und das konnte Linux. Was wurde denn da als Grundlage genommen?

mkinzler 31. Aug 2016 08:36

AW: Linux - Ick freu mir ;-)
 
VGScene verwendete OpenGL. Ich vermute mal unter Linux in Verbindung mit SDL.

Benedikt Magnus 31. Aug 2016 09:00

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von Namenloser (Beitrag 1346251)
FreePascal verwendet standardmäßig gar keine libc. Die haben fast alles notwendige selbst implementiert und sprechen direkt mit dem Linux-Kernel via Syscalls. Somit kann man an sich extrem portable Kompilate erstellen. Aufpassen muss man nur, wenn man Units einbindet, die ein vorangestelltes c haben (z.B. cmem). Diese linken gegen die libc. Leider gehört dazu auch cthreads, welche man für Multithreading braucht. Aber der klassische Unix-Weg wäre ja auch eher mit fork und wait statt Threads :roteyes:

Ich arbeite recht viel mit FreePascal unter Linux und bin, ehrlich gesagt, noch nie auf Kompatibilitätsprobleme gestoßen (zumindest unter den Debianderivaten). Kompiliert unter Ubuntu 14.04 (mit Codetyphon) liefen die Kompilate sowohl für Serveranwendungen und grafische Programme (GTK) auch mit cthreads eingebunden problemlos unter neueren (16.04) und älteren (12.04) Ubuntuversionen, Debian (Wheezy und Jessie), Linux Mint (sowohl die Ubuntu- als auch die Debianversion) und sogar Kali Linux.
Kann natürlich sein, dass ich jetzt zufällig überall auf dieselbe Version der libc gestoßen bin, aber dennoch hatte ich so damit trotz langer Nutzung nie Probleme.

Valle 31. Aug 2016 12:35

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von uligerhardt (Beitrag 1346278)
Zitat:

Zitat von Valle (Beitrag 1346245)
Nein, das funktioniert so nicht. Auf irgendetwas musst du ja zurückgreifen, wenn du etwas anzeigen lassen möchtest. Wenn FMX auf Linux portiert würde, dann wahrscheinlich, wie gesagt, direkt auf das X11-Protokoll. Welches, wie gesagt, gerade "am deprecaten" ist. ;-)

FMX basiert doch auf VGScene, und das konnte Linux. Was wurde denn da als Grundlage genommen?

Auch für OpenGL brauchst du unter Linux X11-Anbindung. Wenn man mal spaßeshalber hier nach ganz unten scrollt, und sich die main()-Funktion des OpenGL Beispiels anschaut, wird man feststellen, dass die erste Zeile XOpenDisplay(NULL); lautet.

Zitat:

Zitat von Rollo62 (Beitrag 1346268)
Mal dumm gesprochen: Das mache ich für Windows ja auch (XP/7/8/10).
Nur das dort wohl mehr Wert auf Rückwärtskompatibilität gelegt wird (was ich mir
bei Vergleich M$ - Linux aber auch nicht wirklich vorstellen kann).

Doch, ist aber so. Microsoft hat seine Plattform ja voll in eigener Hand. Linux besteht aus sehr vielen unabhängigen Projekten.

Wir Softwareentwickler wissen aber, dass ständige Rückwärtskompatibilität selten etwas gutes für unsere Software bedeutet.

Zitat:

Zitat von Rollo62 (Beitrag 1346268)
Wenn ich mir die Linuxwelt so ansehe dann liest sich alles so als gäbe es 100% Crash-Sicherheit bei komplexen Projekten.
Das kann aber so schlimm doch auch wieder nicht sein, sonst wäre es nicht so erfolgreich.

Könnte man meinen, aber keine Sorge, das ist nicht der Fall. Ich betreue privat, ehrenamtlich und beruflich sehr viele verschiedene Linux-Systeme für alle möglichen Anwendungszwecke. Kaum eines davon verwendet überhaupt selbst kompilierte Programme. Programme, die nicht in den Paketlisten des Distributionsanbieters sind, benutze ich auf Servern quasi nicht. Crashes sind daher unheimlich selten und falls überhaupt vorhanden, sicherlich kein architekturelles Problem.

Man muss ich wohl in erster Linie daran gewöhnen, dass man unter Linux nicht irgendwelche Webseiten besucht und dort irgendetwas herunterlädt. Dein Maintainer stellt alles für dich zusammen. Du benutzt zum Installieren von Software deinen Paketmanager. Ausnahmen sind selten. OpenSource-Programme kann man von extern kompillieren und das läuft meist anstandslos. Binaries wie Google Chrome oder Spotify sind da schwieriger. Google hat bei Chrome gute Arbeit geleistet. Spotify hingegen ist schon deutlich wählerischer bei seiner Plattform.

Harry Stahl 4. Sep 2016 15:42

AW: Linux - Ick freu mir ;-)
 
Ich freu mich auch, allerdings erst, wenn man auch Linux-Desktop-Anwendungen erstellen kann.

Konsolenprogramme? Was soll das? Selbst ein Konsolen-Serverprogramm muss man administrieren, venünftigerweise macht man das mit einer richtigen Benutzeroberfläche.

Zugegeben, der Markt für kommerzielle Linux-Desktop-Anwendungen ist klein, aber ich finde es gut, dass man den Kunden Lösungen für alle Plattformen anbieten kann. Seit Windows 10 stelle ich vermehrt Wechsler zu Linux fest, die dann bei mir die entsprechende Linux-Variante des bisherigen Windows 10 Programms bestellen.

Bislang ist das leider relativ aufwändig, einen zusätzlichen Programmcode extra für Linux mit Lazarus zu pflegen (wobei man gegen Lazarus aus meiner Sicht nichts sagen kann, sehr gute Entwicklungsumgegebung, funktioniert auf allen Plattformen hervorragend).

Na ja, insofern aber schon mal ein Lichtblick...

Benedikt Magnus 4. Sep 2016 15:48

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von Harry Stahl (Beitrag 1346737)
Ich freu mich auch, allerdings erst, wenn man auch Linux-Desktop-Anwendungen erstellen kann.

Konsolenprogramme? Was soll das? Selbst ein Konsolen-Serverprogramm muss man administrieren, venünftigerweise macht man das mit einer richtigen Benutzeroberfläche.

Nunja, lustige Leute, die nicht bereits FreePascal nutzen, könnten sich ja mithilfe von HTTP eine durchaus funktionsfähige Administrations-GUI basteln. Geht sogar recht schnell und hat den Vorteil, dass man von überall aus administrieren könnte. :lol:

Zitat:

Zitat von Harry Stahl (Beitrag 1346737)
Bislang ist das leider relativ aufwändig, einen zusätzlichen Programmcode extra für Linux mit Lazarus zu pflegen (wobei man gegen Lazarus aus meiner Sicht nichts sagen kann, sehr gute Entwicklungsumgegebung, funktioniert auf allen Plattformen hervorragend).

Warum pflegst du dann überhaupt noch zwei verschiedene Versionen anstatt gleich ganz auf Lazarus umzusteigen? Crosscompiling ist mit FreePascal ganz einfach und so bräuchte man nicht einmal die Umgebung zu wechseln.

Harry Stahl 4. Sep 2016 16:46

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1346738)
Warum pflegst du dann überhaupt noch zwei verschiedene Versionen anstatt gleich ganz auf Lazarus umzusteigen? Crosscompiling ist mit FreePascal ganz einfach und so bräuchte man nicht einmal die Umgebung zu wechseln.

Nun ja, an Delphi hängt schon mein Herz...

Davon abgesehen sind da noch die mobilen Versionen für IOS und Android, die man doch am einfachsten mit Delphi entwickeln kann...

Es gäbe natürlich noch die Variante, tatsächlich voll auf Lazarus umzusteigen und die mobilen Versionen mit Swift (IOS) bzw. Android Studio zu entwickeln...

Aber das käme nur ernsthaft in Betracht, wenn die Preispolitik um Delphi völlig abdreht oder Linux wirklich mal so aufholen sollte, dass man da deutlich mehr machen muss und in Delphi dafür weiterhin kein vernünftiges Angebot besteht...

Bernhard Geyer 4. Sep 2016 17:02

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1346738)
Zitat:

Zitat von Harry Stahl (Beitrag 1346737)
Ich freu mich auch, allerdings erst, wenn man auch Linux-Desktop-Anwendungen erstellen kann.

Konsolenprogramme? Was soll das? Selbst ein Konsolen-Serverprogramm muss man administrieren, venünftigerweise macht man das mit einer richtigen Benutzeroberfläche.

Nunja, lustige Leute, die nicht bereits FreePascal nutzen, könnten sich ja mithilfe von HTTP eine durchaus funktionsfähige Administrations-GUI basteln. Geht sogar recht schnell und hat den Vorteil, dass man von überall aus administrieren könnte. :lol:

Bis auf die "Grundeinrichtung" um das System überhaupt zum laufen zu bekommen wäre eine Linux-GUI sowas von 1995.
Jede Weblösung die sich nicht über das Web (hier http) Administrieren lässt ist keine vollständige Weblösung

Benedikt Magnus 4. Sep 2016 17:18

AW: Linux - Ick freu mir ;-)
 
Zitat:

Zitat von Harry Stahl (Beitrag 1346739)
Nun ja, an Delphi hängt schon mein Herz...

Davon abgesehen sind da noch die mobilen Versionen für IOS und Android, die man doch am einfachsten mit Delphi entwickeln kann...

Es gäbe natürlich noch die Variante, tatsächlich voll auf Lazarus umzusteigen und die mobilen Versionen mit Swift (IOS) bzw. Android Studio zu entwickeln...

Aber das käme nur ernsthaft in Betracht, wenn die Preispolitik um Delphi völlig abdreht oder Linux wirklich mal so aufholen sollte, dass man da deutlich mehr machen muss und in Delphi dafür weiterhin kein vernünftiges Angebot besteht...

Wenngleich ich einen etwas holprigen Start mit Lazarus hatte, so sehe ich zwischen Delphi und FreePascal, mittlerweile, nur noch wenig Unterschiede.

Hast du Erfahrungen mit Android Studio? Seit CodeTyphon bin ich für Linux und Windows auf FreePascal umgestiegen und habe lange Zeit dann Delphi fast nur für Android genutzt. Mittlerweile, weil mein XE5 zunehmend unpraktischer wurde (fehlende Features, keine Unterstützung neuerer Androidversion etc.) bin ich dann, als Weg des geringsten Übels (und weil es kostenlos wurde), auf C# mit VS/Xamarin umgestiegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:16 Uhr.
Seite 5 von 7   « Erste     345 67      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz