AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Entwickeln für Linux

Ein Thema von fkerber · begonnen am 23. Aug 2007 · letzter Beitrag vom 27. Aug 2007
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

Entwickeln für Linux

  Alt 23. Aug 2007, 13:16
Hi!

Ich habe ein Problem...

Ich habe momentan einen Auftrag, ein Programm mit Datenbankanbindung zu entwickeln. Grundidee des Auftraggebers war eine Anbindung an MS Access (verständlicherweise unter Windows - überwiegend 2000).

Aus einem mir noch nicht bekannten Grund hat der Auftraggeber quasi von jetzt auf gleich einen recht großen Hass auf Microsoft und alle seine Produkte entwickelt.
Ausgetauscht wurde jetzt bereits der Server und nach und nach sollen die Clientrechner auch ausgetauscht werden (geplant ist die Umstellung, wenn Windows 2000 nicht mehr supported wird).

So kam dann heute der Anruf, ich solle mir doch da mal was überlegen...

Jetzt muss ich gestehen, dass Linux ein Buch mit weit mehr als nur sieben Siegeln für mich ist. Ich habe also primär mal keine Ahnung, wo ich hier anfangen müsste. Eine kurze Suche im Forum hat mich jetzt auf Lazarus gebracht. Damit kann ich doch für Windows und Linux gleichermaßen entwickelt, oder? Heißt das, dass ich ein und denselben Code auf Knopfdruck entweder für Windows oder Linux kompilieren kann? (Bis zu besagter Umstellung soll die Sache ja noch unter Windows laufen)

Kann ich mit meinen Delphi-Kenntnissen (mit denen ich das Projekt unter Delphi problemlos bewältigen kann) das Projekt schaffen oder muss ich da mit unvorhersehbaren Problemen rechnen?
Gibt es Besonderheiten zu beachten bzgl. der diversen Linux-Distributionen oder ist das alles eins beim Entwickeln?


Bei plattformübergreifend klingelt ja irgendwo (ganz hinten) auch noch Java rum...
Kann jemand da eine Abgrenzung Java / Lazarus treffen? (Natürlich kein Vergleich der Programmiersprachen, sondern mehr ein Aufwandsvergleich...)


Gibt es sonst Alternativen mit denen ich im Idealfall gleichzeitig für Linux und Windows entwickeln kann?!

Ich vermute ja mal, dass das dauerhafte Ausführen der Anwendung unter Wine o.ä. keine Alternative für ein produktives System ist, oder?


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#2

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 13:26
Zitat von fkerber:
Gibt es sonst Alternativen mit denen ich im Idealfall gleichzeitig für Linux und Windows entwickeln kann?!
Ja, du kannst Qt oder GTK+ benutzen. Damit werden auch Programme wie Opera, Skype (Qt) oder Gimp (GTK) entwickelt.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#3

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 13:30
Wine ist imho nicht so gut, da es nichts wirklich gut emulieren kann. Deshalb ist das wirklich die letzte Lösung und außerdem würde ich dir lieber CrossOver (leider kostenpflichtig) empfehlen, funktioniert viel besser.

Du kannst mit Lazarus entwickeln. Vermutlich wirst du irgendwann allerdings bekloppt, da Lazarus tausend Fehler hat und es einfach nicht an zumindest Delphi7 rankommt. Viele Fehler, wie z.B. Internal errors, zeigen sich erst später oder ab einer gewissen Projektgröße. An sich kann man aber sagen, dass du mit Lazarus für Linux, Windows und Mac - leider manchmal wegen den Bugs nicht einwandfrei - entwickeln kannst.

Du kannst Befehle, wie z.B. ShellExecute vergessen. Stattdessen kann man einfach die Unit Process einbinden, sich einarbeiten und ist auf der plattformunabhängigen Seite.

Java ist im Vergleich zu Lazarus mit Garantie fehlerfreier.
C/C++ ist ideal, da du einfach nur die GNU Compiler Collection (gcc) installieren musst und dann problemlos alles machen kannst (der Compiler für C heißt übrigens auch gcc und für C++ eben g++).

Zu Distributionen kann man nur sagen, dass du dich schlau machen musst, was am besten zu dir passt.

Am einfachsten wird es wahrscheinlich mit C/C++ oder an nicht Lazarus, sondern nur FreePascal.

Es ist deine Entscheidung.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#4

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 13:34
Guis mit Java sind eine Katastrophe. Es mag sich vielleicht im Backend-Bereich für die eine oder andere nicht performance-Kritische Anwendung eignen, aber versuche einfach mal ein Gui mit Java zu bauen. Danach wirst Du Dich unter Garantie nach Alternativen umgucken.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 13:44
Hallo,

also ich habe hier Wine (0.9.43).
Da läuft sogar eine alte BDE-App (Firebird als DB) ganz gut.

Aber es stimmt, es kann immer mal passieren,
dass ein API noch nicht umgesetzt wurde.


Heiko
Heiko
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 13:46
Zitat von Nils_13:
Wine ist imho nicht so gut, da es nichts wirklich gut emulieren kann.
MS Office läuft darin, Win-Thunderbird und Win-firefox auch. Also wird wohl eine Delphi-App mit wenig externen Abhängigkeiten auch laufen.
@Fred

Zitat:
Aus einem mir noch nicht bekannten Grund hat der Auftraggeber quasi von jetzt auf gleich einen recht großen Hass auf Microsoft und alle seine Produkte entwickelt.
Ausgetauscht wurde jetzt bereits der Server und nach und nach sollen die Clientrechner auch ausgetauscht werden (geplant ist die Umstellung, wenn Windows 2000 nicht mehr supported wird).
Cool, somit gehört ihr dann nicht mehr zu denjenigen, die ihre User zu Windows zwingen, right?


Wenn du den Delphi/Wine Weg gehen willst, stelle sicher welche Fonts du wählst. Du blöd es klingt, aber die größten Probleme mit Wine sind einfach nur Fonts...

Auf der anderen Seite kannst du dein Projekt auch zu FPC/Lazarus portieren. Die
notwendigen Codeänderungen können von lächerlich wenig bis krass viel werden, je nachdem wie RAD-verseucht dein DB-Zugriff und/oder deine Logik ist.
Delphi-Formulare lassen sich mit einem Tool in Lazarus Formulare umwandeln. (Lazarus unterstützt keine Resources, da Linux keine hat)

Cross compiling gibt es nur mit 50 Umwegen, aber das willst du nicht. Kompiliere die Windows app unter Windows und die Linux App unter Linux.

Eine "richtige" Linux App, mit Lazarus kompiliert, wird aber immer besser ankommen und sich besser benehmen als eine Windows app in Wine. IMMER.
Robert Giesecke
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#7

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 13:52
Für eine plattformunabhängige GUI würde ich am ehesten Qt, z.B. im Zusammenhang mit Visual Studio 2005 (ab Standard) oder KDevelop, empfehlen. Da musst du aber bedenken, dass eine kommerzielle Entwicklung auch eine kommerzielle Lizenz erfordert, deren Preis im vierstelligen Bereich (pro Entwickler) liegt. Für alles außer GUI kommt man eigentlich auch ohne Qt zurecht, auch wenn es mit meist einfacher ist.
Was Java angeht: Plattformunabhängigkeit schön und gut, aber wie Phönix schon sagte, bau damit erstmal eine zünftige GUI und du wirst sehen, warum Qt im kommerziellen Bereich sehr viel weiter verbreitet ist. GTK+ würde ich mir auch nicht unbedingt antun, wenn es nicht absolut notwendig ist. Andererseits gibt es im C++-Bereich noch viele Alternativen wie zum Beispiel wxWidgets. So vollständig und ausgereift wie Qt ist allerdings keins davon. Qualität () hat eben ihren Preis. Dafür bekommst du eine Anwendung, die unter Windows, Linux und MacOS X nativ ist.

Oh, noch was zu Java-GUIs: Qt gibt es seit einiger Zeit auch für Java *g*
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 14:30
Zitat von Phoenix:
Guis mit Java sind eine Katastrophe. Es mag sich vielleicht im Backend-Bereich für die eine oder andere nicht performance-Kritische Anwendung eignen, aber versuche einfach mal ein Gui mit Java zu bauen. Danach wirst Du Dich unter Garantie nach Alternativen umgucken.
Also bei NetBeans ist ein guter GUI Builder drin, ich finde es ziemlich einfach.
Klasse find ich auch das man in TreeViews seine eigenen Bäume usw reinhauen kann und damit völlig frei ist.
Ich würds in Java machen, ist echt angenehm. Zumindest für mich und mit NetBeans. Ich kann nicht sagen obs mit Eclipse schwieriger ist
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
christian_u

Registriert seit: 13. Nov 2006
126 Beiträge
 
#9

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 14:43
Zitat:
Du kannst mit Lazarus entwickeln. Vermutlich wirst du irgendwann allerdings bekloppt, da Lazarus tausend Fehler hat und es einfach nicht an zumindest Delphi7 rankommt. Viele Fehler, wie z.B. Internal errors, zeigen sich erst später oder ab einer gewissen Projektgröße. An sich kann man aber sagen, dass du mit Lazarus für Linux, Windows und Mac - leider manchmal wegen den Bugs nicht einwandfrei - entwickeln kannst.
Also ich weiss ja nicht wie alt dein Lazarus war, bzw wie viele Minuten du dich damit beschäftigt hast. Ich entwickle jetzt seit 3 jahre mit Lazarus und hab alle meine großen Projekte dorthin portiert. Darunter z.b. ein komplettes ERP System. Ich könnt immer an die Decke springen wenn Leute sich 10 min mit was beschäftigen und dann solche Aussagen treffen. Lazarus ist nicht Bugfrei. Aber als ich das letzte mal mit Delphi 7 arbeitete, war es unter Mindows verbuggter als Lazarus heute unter Linux. Unter Linux hakts doch schon noch ab und zu unter Windows hab ich schon ne ganze weile keinen Stress mehr gehabt.

Mit Lazarus ist man meiner meinung weit besser dran als mit Codegear. Bei .net bin ich mir da noch nicht so sicher aber ich für meinen teil setz lieber auf die native Lösung als auf interpretierten Code.

Ach und zu den QT geschichten,das Lazarus QT Widgetset ist noch nicht ausgereift aber die zeit die du in die Entwicklung deiner kompletten Oberfläche ohne RAD steckst in der dürftest du auch etliche Sachen am QT Interface geradegezogen haben, und du wärst ja nicht der einzige der daran arbeitet ...
Alternativ sind ja dann auch noch GTK,GTK2 da.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Entwickeln für Linux

  Alt 23. Aug 2007, 15:00
Hallo,

> 10 min >
> auf die native Lösung als auf interpretierten Code >

jaja, wer im Glashaus sitzt

.net wird kompiliert vor der Ausführung (jit-Compiler),
also nicht interpretiert.

Und wer will, kann auch direkt nativs erzeugen (ngen).


Heiko

PS:
zu kdevelop war doch gerade was im entwickler ?
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.
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