Grosses Projekt

Für Fragen rund um die Ide und zum Debugger
petermännchen
Beiträge: 92
Registriert: So 26. Aug 2007, 20:35
OS, Lazarus, FPC: Win7, Laz 1.2.6, FPC 2.6.4, SVN 33306, ZEOS 7.1.4
CPU-Target: 32Bit
Wohnort: Helmstedt
Kontaktdaten:

Grosses Projekt

Beitrag von petermännchen »

Hallo beisammen,

seit einiger Zeit trage ich mich mit dem Gdanken, Lazarus für unsere Projekte einzusetzen.
Bisher nutze ich Delphi 4/6/7 pro und Firebird als Datenbank.

Was soll es werden?
Das Pojekt wird im Umfeld der Datenerfassung, Visualisierung, Steuerung und auch im Bereich des Managements angesiedelt sein.
Im einfachsten Falle werden Betriebsdaten erfasst und über Listen ausgewertet.
Im komplizierteren Falle werden die Abläufe dargestellt und analysiert, Maschinen abgefragt und gesteuert und anderes.
Schlussendlich soll das Ganze dann tauglich sein, um Schwachstellen zu finden, (Nach-)Kalkulationen zu ermöglichen und eine komplette Abrechnung von Projekten und Mitarbeitern zu ermöglichen.
Ich rechne mit ca. 500.000 Programmzeilen und ca. 2-3 Mannjahren.

Zielplattformen sollen sein WIN (95%), Linux (4,9% inkl. embeddet Linux für Einzelwerke) eventuell MAC.
An Datenbanken wollen wir einbinden:
Firebird (Main)
MSQL
MySQL

Nun die Gretchenfrage:
würdet Ihr hierfür Lazarus empfehlen wollen?

Ich hoffe auf eine rege Diskussion und danke euch schon einmal im Voraus.

Gruß

Peter

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Also was die Datenbanken angeht die stehen unter Lazarus alle zu Verfügung. Wobei ich weiß nicht ob MSSql aber aufjedenfall SQL

Wie währe es wenn du ein kleines Test Projekt mit Lazarus macht um es dann zu sehen ob das für dein Vorhaben geeignet ist ?

Ich würde jetzt natürlich einige Bugs auflisten z.b. bei der Listbox oder VST Komponenten. Ansicht ist Lazarus aber schon sehr ausgereift und könnte auch für sowas geeignet sein.

Es könnten nur da Probleme auftreten wo du keine erwartest selbst bei den einfachsten sachen. In Delphi ist sowas natürlich viel einfacher aber auch langweiliger !

Währe für sowas nicht auch eine art Anwendung denkbar die im Web Browser läuft ?
Dann kannst du überall zugreifen, weil dann brauchst du nur die sachen mit Lazarus/Delphi Programmieren z.b. um auf Geräte zuzugreifen und so...
(Nur als Idee gedacht...)
MFG
Michael Springwald

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Grosses Projekt

Beitrag von af0815 »

petermännchen hat geschrieben:
Nun die Gretchenfrage:
würdet Ihr hierfür Lazarus empfehlen wollen?
Ein klares jein - Wenn würde ich vorher eine Evaluierung durchführen ob die für das Programm wichtigsten Prozesse stabil genug sind. Frei nach dem Motto 2 Wochen Fun mit Lazarus, das alles Testen und dann den Kode wegschmeissen und ein Resümee ziehen.

Einiges an Arbeit ist einzukalkulieren, wenn sich die LCL bzw. andere Core Sachen ändern, wird aber immer weniger werden, weiters mal in die Listen schauen, was kommt, was geht und was ist erst nach 1.0 zu erwarten.

Vor allen wie ist die Aktzeptanz der Kunden gegenüber von Lazarus/Pascal. Ich habe da mittlerweile tw. auch schon schlechte Erfahrung gemacht - wird eher als Hindernis gesehen - wollen alles von einer Fa. aus Redmond haben, zumindest die Werkzeuge.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Hallo Peter,

meine größten Projekte liegen in der Größenordnung von 10000 Zeilen, hier habe ich durch Lazarus bisher keinerlei Nachteile oder unüberwindbare Probleme gehabt.

Wie af schon erwähnte, würde ich dir auch empfehlen, die Komponenten, welche du vermutlich verwenden wirst, ausgiebig mit der aktuellen Snapshot zu testen. So kannst du dir am Besten selbst ein Bild von der Lage machen, ob Lazarus für dich geeignet ist.

Damit du eine grobe Orientierung hast: Lazarus 1.0 ist voraussichtlich im Jahr 2010 zu erwarten. Wenn ich die Intention der Entwickler richtig verstanden habe, soll diese Version richtig stabil laufen. Bis dahin sind noch mehrere hundert Bugs in den Widgetsets zu entfernen.

Wenn du plattforumunabhängig programmieren möchtest bietet sich Delphi sicherlich nicht an. Das ist auch eine Frage, wie sich Linux und die anderen Betriebssysteme hinsichtlich ihres Marktanteils entwickeln. Derzeit deuten scheinbar alle Prognosen darauf hin, dass zumindest der Anteil von Windows langsam sinkt und der von Linux und MacOSX im gleichen Maße zunimmt. Wenn das anhält, ist Plattforumunabhängigkeit sicherlich ein Plus.


Viele Grüße
Euklid

petermännchen
Beiträge: 92
Registriert: So 26. Aug 2007, 20:35
OS, Lazarus, FPC: Win7, Laz 1.2.6, FPC 2.6.4, SVN 33306, ZEOS 7.1.4
CPU-Target: 32Bit
Wohnort: Helmstedt
Kontaktdaten:

Beitrag von petermännchen »

Hallo beisammen,

erst mal vielen Dank für die Antworten.

Zu den Datenbanken:
Hier werden alle Zugriffe in eigenen dll's gekapselt. Die entsprechende dll wird dann je nach verwendeter Datenbank geladen. Auf diese Weise ist es mir dann möglich, die Besonderheiten der Datenbanken zu nutzen bzw. zu umschiffen.

@Pluto
Ein Webinterface wird sicherlich ebenfalls zum Angebot gehören, ist aber dann eine Erweiterung. Zugriff auf die Geräte hätten wir nicht in jedem Falle, ein Webserver ist nicht überall integriert, teilweise ist die Schnittstelle durch dll's gekapselt oder gar auf RS232/485 basierend.

@af0815
Bisher habe ich mit Delphi keine Probleme beim Kunden. Nur in den seltensten Fällen wird danach überhaupt gefragt. Eher schon nach der verwendeten Datenbank.

@Euklid
Die Plattformunabhängigkeit ist es, welche mich reizt. Sicherlich komme ich für die nächsten fünf Jahre auch ohne aus, danach rechne ich allerdings mit einem grösseren Anteil von Linux. Auch heute kommen schon öfter mal Fragen.

Ich werde mal ein kleines Projekt mit Datenbankzugriff schreiben um zu sehen, was damit für Probleme auftreten. Dann sehen wir weiter.

Gruß

Peter
Zeiterfassung, einfach gerechter!

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Brauchst du eigentlich nicht in DLL´s auslagern, ich hab bei mir ein SQLDb Datenbankllayer, ein TDbf datenbanklayer und ein SQLite Datenbanklayer damit erschlag ich derzeit alles.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

petermännchen
Beiträge: 92
Registriert: So 26. Aug 2007, 20:35
OS, Lazarus, FPC: Win7, Laz 1.2.6, FPC 2.6.4, SVN 33306, ZEOS 7.1.4
CPU-Target: 32Bit
Wohnort: Helmstedt
Kontaktdaten:

Beitrag von petermännchen »

Christian hat geschrieben:Brauchst du eigentlich nicht in DLL´s auslagern, ich hab bei mir ein SQLDb Datenbankllayer, ein TDbf datenbanklayer und ein SQLite Datenbanklayer damit erschlag ich derzeit alles.
Hallo Christian,

danke für den Hinweis! Darf ich, falls ich wirklich anfange mit Lazarus zu programmieren, diesbezüglich auf dich zukommen?

Gruß

Peter
Zeiterfassung, einfach gerechter!

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ja klar
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Beitrag von piper62 »

Hallo,

ich erstelle mit meinem Team momentan ein neues Krankenhausinformationssystem auf Basis von Lazarus. Früher habe ich viel mit Delphi gearbeitet aber die Platformunabhängigkeit hat mir gefehlt.
Unsere Zielplatformen sind: Linux, MS-Win und MacOS. Wir benutzen allerdings vorwiegend Thinclients mit Terminalserver auf Basis der NX-Server/-Clients (freeNX). Die Benutzer merken nicht worauf das System wirklich läuft und sitzen an ihrem ThinClient...

Als Datenbank ist momentan MySQL (mit InnoDB wegen der Transaktionssicherheit) im Einsatz. Ich werde nun aber im Sommer auch PostgreSQL einbinden. ORACLE muss ich nochmal sehen...

Als Datenbankabstraktionslayer benutzen wir die Zeoslib. Wir hatten zu Anfang mit den FPC eigenen Komponenten getestet aber da ergaben sich Probleme mit der Transaktionssicherheit. Das ist meiner Meinung nach noch nicht auf einem wirklich professionell nutzbaren Stand. Mit Zeos sind wir sehr zufrieden, ist auch schon eine ziemlich reife Bibliothek (derzeit Version 6.6.x).

Das gesamte Projekt ist derzeit auf FPC 2.0.4 und Lazarus 0.9.22 mit GTK1.2, bzw. bei Kompilierung auf MS-Win mit Win-GUI.

Ich möchte den Kunden erst einmal produktiv haben, solange wechsle ich nicht die Umgebung.

Unser Projekt hat derzeit ca. 34.000 Zeilen Code und wird in den nächsten Monaten sicherlich noch ca. 5.000 bis 10.000 Zeilen zulegen.

Das System ist bereits beim Kunden installiert und es werden die Konsolidierungstests gemacht auch muss noch etwas Customizing erfolgen.

Insgesamt kann ich sagen, das die Produktivität so hoch wie bei Delphi ist und sich die Probleme in Grenzen halten. Es gibt zwar kleinere Dinge aber wenn man die geklärt hat geht es wunderbar und ist auch sehr stabil.
Man darf nicht vergessen, dass der Compiler, der Lazarus zu Grunde liegt ja auch schon eine reifere Angelegenheit ist. Die Widget-Dinge sind dann vorwiegend eine Frage der Testung und unter Umständen der Anpassung.

Bin dabei die Erfahrungen in einem Buch zur DB-Programmierung mit Lazarus zusammen zu fassen. Wird aber wohl nicht vor Herbst in einem Zustand sein in dem man es veröffentlichen könnte.

Zusammenfassend: Lazarus für grösseres Projekt? -> Ja!!!

Gruss,
Tibor

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

Beitrag von mschnell »

Ich bin fest davon überzeugt, dass das Vorhaben mit Lazarus realisierbar ist.

Andererseits ist es bei den zu erwartenden Kosten ja auch kein Problem etwas Geld für "externe" auszugeben. Also z.B. Lazarus-erfahrene Consultants oder kommerzielle Software-Produkte.

Delphi scheidet wegen seine Windows-Bindung offensichtlich aus.

Ich würde auch "Oxygene" (früherer Name: "Chrome") von Remobjects in Erwägung ziehen Das ist ein kommerzielles Delphi-kompatibles System, das Programme für .Net-Platformen (Microsoft und Mono) erzeugt. Das System ist voll supported und scheint inzwischen sehr stabil zu sein Die neuste Version hat viele schöne neue Features (inklusive "Silverlight" / "Moonlight" Unterstützung für HTTP-Anbindung von Remote GUI clients, die im Browser laufen sollen) und scheint mir gut supported und im PC-Bereich (Windows, Linux, Mac) sehr zukunftsträchtig zu sein.

-Michael

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6857
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

piper62 hat geschrieben: Das gesamte Projekt ist derzeit auf FPC 2.0.4 und Lazarus 0.9.22 mit GTK1.2, bzw. bei Kompilierung auf MS-Win mit Win-GUI.

Ich möchte den Kunden erst einmal produktiv haben, solange wechsle ich nicht die Umgebung.
ACK.

Nur als Info - gerade im FPC 2.2.1 ist sehr viel bezüglich der Datenbankkomponenten geschehen. Die Komponenten sind insgesamt spürbar Stabiler und es wurde sehr viel gefixt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

petermännchen
Beiträge: 92
Registriert: So 26. Aug 2007, 20:35
OS, Lazarus, FPC: Win7, Laz 1.2.6, FPC 2.6.4, SVN 33306, ZEOS 7.1.4
CPU-Target: 32Bit
Wohnort: Helmstedt
Kontaktdaten:

Beitrag von petermännchen »

Vielen Dank für diese sehr interessanten Infos.

Ich war sehr überrascht, das mein erster Versuch unter der Kombination 0.9.24/2.2.0 nicht lief und der Quellcode in der Kombination 0.9.25/2.2.1 nicht kompatibel war.
Da scheint es mit jedem Update reiclich Arbeit zu geben.

@Tibor
Das hört sich sehr interessant an. Vielleicht können wir uns da mal austauschen. Dieser Kundenkreis gehört auch zu unseren Zielgruppen.

@Michael
Oxygene unterstützt auch Linux und MAC?

Ansonsten ist der Hinweis von Michael auch unser Gedankengang. In Zukunft könnten wir uns durchaus vorstellen, mit anderen Programmierern zusammen zu arbeiten. Allein werden wir das auch nicht schaffen.

Wie Ihr seht bin ich bis jetzt erst in der Planung. Die Entscheidung Delphi weiter zu nutzen oder plattformübergreifend zu handeln wird in den nächsten Wochen fallen.

Falls aber schon mal jemand Interesse bekunden möchte, so gern per PN oder Email.

Gruß

Peter
Zeiterfassung, einfach gerechter!

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

petermännchen: Noch etwas, was häufig gefragt wird.
Wenn man Delphi-Language gewohnt ist, empfiehlt sich der Delphi-Kompatibilitätsmodus, der mit

Code: Alles auswählen

{$mode delphi}
aktiviert werden kann.


Gruß, Euklid

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Naja ich würde den nicht empfehlen sondern eher gucklen was für fehler man macht die Delphi ignoriert.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

petermännchen
Beiträge: 92
Registriert: So 26. Aug 2007, 20:35
OS, Lazarus, FPC: Win7, Laz 1.2.6, FPC 2.6.4, SVN 33306, ZEOS 7.1.4
CPU-Target: 32Bit
Wohnort: Helmstedt
Kontaktdaten:

Beitrag von petermännchen »

Aha :shock:

Gruß

Peter
Zeiterfassung, einfach gerechter!

Antworten