Delphi XE4 oder Lazarus für Firebird-DB-Produktionssystem?

Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.
dingenskirchen
Beiträge: 3
Registriert: Mi 28. Aug 2013, 06:54

Delphi XE4 oder Lazarus für Firebird-DB-Produktionssystem?

Beitrag von dingenskirchen »

Hallo zusammen,

wie es aussieht, werde ich in Kürze wohl nach jahrelanger "Abstinenz" was die Delphi-Entwicklung angeht, einen Auftrag für die Entwicklung eines Systems für einen Kunden erhalten, das grob gesagt viele Stamm- und Bewegungsdaten verwalten soll, ein Rechnungs- und Mahnwesen integriert haben, viel Reporting, Analysen, Auswertungen usw... Also nicht gerade ein "Hello-World" Projekt :) Ich bin gerade noch mit der Überlegung beschäftigt, welche Technologie ich hier einsetzen sollte, ob das Ganze vielleicht als reine Webapplikation (mit php und mySQL) umgesetzt werden sollte, oder als klassische Client-Server-Lösung mit Delphi (oder eben Lazarus) und Firebird als DB. Die Entscheidung, ob Web-Geschichte oder nicht, hängt aber auch noch von diversen Faktoren ab, die ich mit dem Kunden noch klären muss. Das ist aber auch nicht mein hauptsächlicher Diskussionspunkt hier...

Vielleicht vorab grundsätzlich zu meinem Hintergrund: Ich hatte bis etwa 2000 viele Jahre lang professionell (nebenberuflich wie hauptberuflich) mit Delphi gearbeitet (angefangen mit Version 1 in 16-Bit bis hin zu Delphi 5, damals noch nebenberuflich mit Paradox-DBs und hauptberuflich mit Oracle als RDBMS.

Meine Frage an dieses Forum ist eigentlich: Ist Lazarus wirklich "production-ready" für ein System wie oben skizziert? Insbesondere für ein produktionsreifes Datenbanksystem mit Firebird (wobei jetzt Firebird auch noch nicht 100% gesetzt wäre...). Ich denke mal, dass die Software anschließend auf Windows7 oder 8 Rechnern laufen wird. Ich habe ein bisschen "Bammel" davor, ein Freeware/Opensource-Produkt einzusetzen für ein so großes System und möchte nicht auf "halber Strecker" merken, dass mir hier dann plötzlich doch irgendwelche Komponenten fehlen, die es für Lazarus nicht gibt, oder das Endergebnis nicht sauber läuft, weil irgendwelche DB-Komponenten noch Probleme haben o.ä. Der "Preis" von Lazarus ist natürlich unschlagbar :) Eine aktuelle Delphi-Version wie XE4 müsste ich mir erst wieder kaufen (hätte dann da die Professional-Version im Auge mit zusätzlich dem Firedac-Paket für die DB-Zugriffe). Grundsätzlich stehe ich Open-Source-Software natürlich sehr offen gegenüber! Wollte nur einfach mal die Einschätzung von Nutzern einholen, die vielleicht schon jahrelang mit Lazarus produktiv arbeiten - nicht nur für irgendwelche privaten Spaß- oder Hobbyprojekte, sondern auch für produktive Systeme, von deren reibungsloser Funktionalität das "Leben" eines Unternehmens abhängen könnte.

vielen Dank für Eure Empfehlungen im Voraus! :)
Marco

Groffy
Beiträge: 50
Registriert: Fr 23. Nov 2012, 13:27
OS, Lazarus, FPC: Win10/Linux Mint - Lazarus 2.2/trunk
CPU-Target: 32/64Bit

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Groffy »

Hallo,

ist denn der "Preis" des Lazarus Entwicklungssystems bei einem Projekt dieser Größenordnung wirklich in irgendeiner Art und Weise relevant? Soll das Projekt auschließlich mit frei verfügbaren Bibliotheken und Komponenten realisiert werden? Wenn z.B. das Reporting eine wichtige Rolle spielt, würde ich vorab erst einmal prüfen ob die verfügbaren Werkzeuge ausreichend sind, denn der Markt für kommerzielle Komponenten ist momentan noch sehr "übersichtlich".

Beste Grüße

dingenskirchen
Beiträge: 3
Registriert: Mi 28. Aug 2013, 06:54

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von dingenskirchen »

Groffy hat geschrieben:Hallo,

ist denn der "Preis" des Lazarus Entwicklungssystems bei einem Projekt dieser Größenordnung wirklich in irgendeiner Art und Weise relevant? Soll das Projekt auschließlich mit frei verfügbaren Bibliotheken und Komponenten realisiert werden? Wenn z.B. das Reporting eine wichtige Rolle spielt, würde ich vorab erst einmal prüfen ob die verfügbaren Werkzeuge ausreichend sind, denn der Markt für kommerzielle Komponenten ist momentan noch sehr "übersichtlich".

Beste Grüße
Vielen Dank. Nein, der Preis spielt eher eine untergeordnete Rolle und es ist grundsätzlich egal, ob hier frei Verfügbares eingesetzt werden soll oder nicht. Hätte ja sein können, dass sich hier 20 Leute melden und sagen: "Um Gottes Willen! Gib bloß kein Geld für Delphi mehr aus! Lazarus kann dasselbe und mehr, habe schon X fette vergleichbare Projekte damit realisiert!" - Dann hätte man ja mal locker 1500,- EUR sparen können... ;)

Gruß
Marco

Benutzeravatar
theo
Beiträge: 10921
Registriert: Mo 11. Sep 2006, 19:01

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von theo »

Ich sehe das ähnlich wie Groffy.
Du solltest alle benötigten Komponenten vorgängig zusammensuchen und testen.
Wenn sie deine Bedürfnisse erfüllen, spricht nichts gegen die Verwendung von Lazarus.

Wenn du nur für Windows programmieren musst, ist Delphi vllt. noch die etwas professionellere Wahl, sofern der Preis keine Rolle spielt.
Lazarus hat den Vorteil, dass du den Quellcode von A bis Z hast, und ggf. Fehler im System auch kurzfristig behoben werden können.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2822
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von m.fuchs »

Um Gottes Willen! Gib bloß kein Geld für Delphi mehr aus! Lazarus kann dasselbe und mehr, habe schon X fette vergleichbare Projekte damit realisiert!

:mrgreen:

Scherz beiseite, was genau möchtest du hören?

Ist Lazarus stabil genug, um größere Projekte damit zu realisieren?

Ja, habe ich auch schon mehrfach gemacht.

Wirst du auf kleine, mittlere und schwere Probleme stoßen?
Definitiv. Das passiert mir aber genauso mit Visual Studio und VB.NET oder Netbeans und PHP. Bei Lazarus und der RTL/FCL/LCL kann ich aber viele Probleme umgehen, weil ich Zugriff auf den kompletten Quellcode habe. Dieser Vorteil ist mir persönlich sehr wichtig.

Gibt es ordentliche Komponenten die man für ein großes Projekt braucht?
Aber ja, einige wie Synapse und Zeos sind auch für Delphi erhältlich. Bisher hat mir noch nichts gefehlt.
Einzig zum Thema Reporting kann ich keine vernünftige Aussage machen. Aber auch dafür gibt es mehrere Lösungen. Wenn die (oder eine davon) dir zusagen, sollte alles gut sein.

Soweit also so gut.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Patito
Beiträge: 203
Registriert: Di 22. Sep 2009, 13:08
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Patito »

Was mich angeht ist Lazarus inzwischen "production-ready". (Beispiel: 64-bit Version vom Total Commander)

Ich würde aber für ein längerfristiges Projekt nicht auf ein einziges Produkt setzen.
Wenn man einfach konservatives "Pascal" mit Standard-Komponenten verwendet ist man nur wenig angreifbar.
Der meiste Code, den ich schreibe, compiliert unter Free Pascal und Delphi mit nur minimalen Anpassungen. Welche IDE man nimmt ist dann egal.
(Delphi 7 + GExperts + CNPack ist dabei immer noch gut im Rennen)

Was die Komponenten angeht hat Delphi auch nicht mehr so viel mehr zu bieten. Der Pascal-Markt ist insgesamt eher winzig - und vernünftig geschriebener Pascal-Code läuft mit ein paar kleinen Änderungen mit allen Compilern.

Für komplexere Dinge (Excel, 3D, ...) verwende ich gekaufte DLLs. Den Pascal-Wrapper dazu gab es (zu meiner Überraschung) meistens schon.

Datenbank geht unter Lazarus - welche man nimmt ist eher die Frage.
Bleibt als Knackpunkt noch das Reporting. Das war unter Free Pascal lang ein Problem, aber das gute ist, dass es Fast Reports jetzt auch für Lazarus gibt.

Problematisch und Buggy war das Reporting in Delphi soweit ich mich zurückerinnern kann eigentlich immer (egel ob QR, Fast Reports, Rave Reports). Ich denke mal unter Lazarus wird es auch nicht besser sein und man muss damit rechnen etwas basteln und fixen zu müssen.

Ansonsten würde ich vor Delphi eher warnen. Das gehört ja einer Investment Heuschrecke und hat sich schon seit längerem aus dem Kreis der professionellen Tools verabschiedet. Dort werden nur noch Sachen eingekauft, bunt angemalt, ein paarmal verkauft und dann fallengelassen. Wer dort einkauft kann sicher sein, dass die IDE irgendwelche Bugs hat so dass man immer die neuest Version kaufen muss - die dann wieder andere Defekte hat...
-> Zeitverschwendung
Zuletzt geändert von Patito am Mi 28. Aug 2013, 17:10, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10921
Registriert: Mo 11. Sep 2006, 19:01

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von theo »

Patito hat geschrieben: Ansonsten würde ich vor Delphi eher warnen. Das gehört ja einer Investment Heuschrecke und hat sich schon seit längerem aus dem Kreis der professionellen Tools verabschiedet. Dort werden nur noch Sachen eingekauft, bunt angemalt, ein paarmal verkauft und dann fallengelassen. Wer dort einkauft kann sicher sein, dass die IDE irgendwelche Bugs hat so dass man immer die neuest Version kaufen muss - die dann wieder andere Defekte hat...
-> Zeitverschwendung
So negativ würde ich das nicht sehen. Die klassische Windows Schiene ist bei Delphi keine Zeitverschwendung.
Kylix war eine Zeitverschwendung.
Bugs haben andere Tools auch.
Also Lazarus User solltest du aufpassen, dass du Interessenten nicht in ganz andere Tools verscheuchst, mit deiner Anti-Werbung.

Patito
Beiträge: 203
Registriert: Di 22. Sep 2009, 13:08
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Patito »

theo hat geschrieben: So negativ würde ich das nicht sehen. Die klassische Windows Schiene ist bei Delphi keine Zeitverschwendung.
Also Lazarus User solltest du aufpassen, dass du Interessenten nicht in ganz andere Tools verscheuchst, mit deiner Anti-Werbung.
Nunja, um es etwas zu relativieren, würde ich davon abraten sich in Komponenten einzukaufen, die dann nicht unter Free Pascal laufen.
Irgendeine Delphi-IDE zu haben ist an sich keine schlechte Idee, ob es eine von den XEs sein muss ist die andere Frage. Wenn man in XE feststeckt kann es auf lange Sicht teuer werden.

Delphi zu füttern nur weil es Pascal ist ist aber nicht unbedingt gut. Was habe ich davon wenn die Firma ihren Gewinn z.B. dazu verwendet für Free Pascal verwendbare Komponenten vom Markt zu kaufen und in etwas proprietäres umzuwandeln (FireMonkey, FireDAC)?
Solange die gegen das Pascal-Ökosystem arbeiten kann ich nur davon abraten dort mehr als unbedingt nötig einzukaufen.

Groffy
Beiträge: 50
Registriert: Fr 23. Nov 2012, 13:27
OS, Lazarus, FPC: Win10/Linux Mint - Lazarus 2.2/trunk
CPU-Target: 32/64Bit

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Groffy »

Hallo Marco,

es sind in Deinem Fall sicherlich noch viele Fragen im Vorfeld zu klären die nicht direkt etwas mit der Wahl des konkreten Werkzeuges zur Implementierung zu tun haben. Die eigentlichen Stärken von Lazarus stehen meiner Meinung nach dabei für diese Entscheidung nicht unbedingt im Vordergrund. Dieses tolle Konzept "Write once - compile anywhere" ist schon ein Alleinstellungsmerkmal welches aber auch genutzt werden will. Die aktuellen Delphi Versionen sind im Bereich der visuellen XP/Vista/Win7 Controls (Ribbon/Bar & Docking Manager/Floating Panels etc.) auf dem aktuellen Stand, da ist Lazarus etwas hinterher, etwa auf dem Stand von Delphi 7. Wie schon weiter oben beschrieben wirst Du sowohl beim Einsatz von Delphi XE4 als auch bei Lazarus vermutlich die ein oder andere Drittkomponente einsetzen müssen und auch auf ähnliche Probleme stoßen.

Ich denke (ich hoffe) dass Lazarus insbesondere in der Linux Welt dafür sorgen wird, dass Object Pascal (Hab auch damals mein Geld für eine Kylix Lizenz versenkt) nicht vollständig in die Bedeutungslosigkeit versinken wird. Es gibt nur einige wenige RAD Tools unter Linux (Netbeans, MonoDevelop, Lazarus ... ups - dass war es glaube ich schon) und Lazarus/FPC ist da erste Wahl für nativ kompilierten Code!

Beste Grüße

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mschnell »

Wenn Du nur eine "alte" Delphi-Version kennst, mach erstmal ein paar Tests mit Strings (und forsche im Internet zu dem Thema) !

"altes" Delphi (und "altes" Lazarus) verwendet 1-Byte Strings in ANSI-Codierung: jedes Byte ist ein Zeichen.

"neues" Delphi verwendet default-mäßig 2-Byte Strings in Unicode-Codierung: Fast immer in Europa ist jedes Zeichen ein Codewort lang, manchmal aber auch zwei. Man kann aber auch andere C6odewort-Längen und Codierungen definieren und die Strings werden (meist) automatisch umcodiert.

"aktuelles" Lazarus verwendet 1-Byte Strings in UTF-8 Codierung: die Zeichen benötigen jeweils 1 .. 4 Code-Bytes

"irgendwann" wird Lazarus/fpc auf die "neue" Delphi Variante umschwenken. Ob grundsätzlich oder optional und wie genau ist in der Schwebe aber man (die fpc-Community) entwickelt kräftig daran daran.

"Ich" würde momentan kein dickes Projekt in Lazarus anfangen, aus dem einfachen Grund, weil ich damit rechne, dass sich das String-Handling "demnächst" komplette ändert.

-Michael

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2822
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von m.fuchs »

mschnell hat geschrieben:"Ich" würde momentan kein dickes Projekt in Lazarus anfangen, aus dem einfachen Grund, weil ich damit rechne, dass sich das String-Handling "demnächst" komplette ändert.
Und dann? Was passiert dann wenn es sich ändert? Also was sind deine Befürchtungen?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Patito
Beiträge: 203
Registriert: Di 22. Sep 2009, 13:08
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Patito »

m.fuchs hat geschrieben:
mschnell hat geschrieben:"Ich" würde momentan kein dickes Projekt in Lazarus anfangen, aus dem einfachen Grund, weil ich damit rechne, dass sich das String-Handling "demnächst" komplette ändert.
Und dann? Was passiert dann wenn es sich ändert? Also was sind deine Befürchtungen?
Ich halte das ganze auch eher für FUD. Was soll schon passieren.
Unicode geht jetzt schon ausreichend. Falls die Änderungen gut sind, dann OK. Falls es Probleme gibt
verwendet man eben die Neuerungen nicht. Der Zwang irgendwelche unangenehmen Änderungen mitzumachen
ist bei OpenSource nicht so stark wie bei Delphi - und die Entwickler bei FPC waren in der Vergangenheit auch immer recht Vernünftig.

Benutzeravatar
theo
Beiträge: 10921
Registriert: Mo 11. Sep 2006, 19:01

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von theo »

m.fuchs hat geschrieben: Und dann? Was passiert dann wenn es sich ändert? Also was sind deine Befürchtungen?
Vergiss es. mschnell quält uns schon seit Jahren mit seinen "Befürchtungen" und kann es einfach nicht lassen.
Ahnung hat er keine. FUD, wie Patito schon sagt. :wink:

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mse »

Groffy hat geschrieben:Es gibt nur einige wenige RAD Tools unter Linux (Netbeans, MonoDevelop, Lazarus ... ups - dass war es glaube ich schon)
Ich kenne eine weitere "production ready" Entwicklungsumgebung für Free Pascal.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mschnell »

m.fuchs hat geschrieben:Und dann? Was passiert dann wenn es sich ändert? Also was sind deine Befürchtungen?
Du kannst in diversen Threads in den Lazarus, fpc und Delphi Foren Jede Menge Beiträge dazu finden, was man machen muss um von einer String Variante auf eine andere umzustellen.

Je nachdem was man da programmiert hat macht das mehr oder weniger Aufwand.

-Michael

Antworten