Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Von Delphi auf Lazarus umsteigen. Geht das? (https://www.delphipraxis.net/186330-von-delphi-auf-lazarus-umsteigen-geht-das.html)

dummzeuch 24. Aug 2015 19:51

Von Delphi auf Lazarus umsteigen. Geht das?
 
Hi,

Ich habe letzes WE mein erstes halbwegs sinnvolles Programm mit Lazarus erstellt und bin inzwischen ganz angetan davon (Fruehere Versuche scheiterten in der Regel recht schnell an Unzulaenglichkeiten von Lazarus oder der RTL). Und da mir Delphi und Embarcadero in den letzten Inkarnationen immer mehr auf den Keks geht (zuletzt mit der Abschaffung der 30 Tage Karenzzeit bis zur Registrierung), ueberlege ich ernsthaft, ob ein Umstieg moeglich waere.

Hat jemand von Euch seine (berufliche) Softwareentwicklung komplett von Delphi auf Lazarus umgestellt? Und wie war die Erfahrung?

DeddyH 24. Aug 2015 20:08

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
AFAIK ist Holger (IBExpert) auf Lazarus umgestiegen. Falls er hier nicht zeitnah antworten sollte, kannst Du ihm ja mal eine PM schicken.

Sunec 24. Aug 2015 21:03

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Habe mich die letzten Wochen ebenfalls mit einem Umzug auf Larazus (CodeTyphon) beschäftigt.

Momentan stört mich noch, dass Namespaces (dotted unit names) nicht unterstüzt werden.
Dies ändert sich jedoch demnächst mit dem Release des FreePascalCompilers 3.+


Das aber auch riesige Projekte in Lazarus realisierbar sind sieht man bspw. an CheatEngine: https://github.com/cheat-engine/chea...Cheat%20Engine

Luckie 24. Aug 2015 21:36

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Dann kannst du mir eventuell helfen. CodeTyphoon will ich auch nutzen. Bekomme aber kein Android Projekt kompiliert, weil ihm irgendwelche Bibliotheken fehlen oder nicht finden kann.

Sunec 24. Aug 2015 21:41

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Sorry aber mit dem Cross-Compiling habe ich mich noch nicht auseinandergesetzt.
(Bin froh x64 und x86 ans laufen bekommen zu haben :) )

Ich bin selbst noch am "Erkunden" von CodeTyphon.

Allderdings ist es durchaus möglich:
http://www.pilotlogic.com/sitejoom/i...d-capabilities
http://www.pilotlogic.com/sitejoom/i...ld-for-android

Luckie 24. Aug 2015 22:03

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Das es möglich ist, weiß ich. Deswegen habe ich es ja installiert bzw. probiert. Danke für die Links, aber die kenne ich schon.

Perlsau 24. Aug 2015 22:15

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Zitat:

Zitat von dummzeuch (Beitrag 1313342)
... ueberlege ich ernsthaft, ob ein Umstieg moeglich waere.

Möglich ist das schon, aber du kannst deine mit D2007 erstellten Projekte nicht einfach 1:1 in Lazarus bzw. CodeTyphon (CTY) kopieren. Letzteres ist aus meiner Sicht dem reinen Lazarus vorzuziehen, da es bereits in der Grundinstallation ein Vielfaches an Komponenten mitbringt. Ich hatte vor einiger Zeit mal ein kleineres Projekt (Rechnungsverwaltung mit Firebird) auf CTY umgestellt, indem ich zuerst die GUI in CTY nachbaute und danach die meisten Methoden mit kleinen Änderungen übernehmen konnte (ebenfalls reinkopiert). Das Ganze war an einem Tag erledigt. Einzig die Reportgeschichte und die DB-Anbindung mußte ich anders aufbauen, dazu brauchte ich zwei weitere Tage.

IBExpert 24. Aug 2015 23:36

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Moin,

ja, wir haben alle neuen Projekte seit mittlerweile 4 Jahren nur noch auf lazarus begonnen. Da wir damals ein großes neues ERP Projekt begonnen haben, stand die Frage im Raum: Womit entwickeln wir auch noch in 10 Jahren das System weiter? Und wer bietet echte und native Multiplattform Entwicklung ohne fette Frameworks ...

Zu dem Zeitpunkt hat sich Delphi XE* nicht gerade mit Ruhm bekleckert und stand ziemlich schnell nicht mehr oben auf der Liste. Einige Versuche später war dann die Entscheidung für Lazarus klar und aufgrund der von mir geplanten Architektur (Front End interpretiert Datenbankinhalte, um Formulare zu erstellen und die Business Logik befindet sich eh in der Firebird DB) war eh klar, das ich nahezu alles zur Laufzeit erstelle und nur ganz wenig Sachen im klassischen Formularmodus entwickeln werde.

Erst haben wir Code Typhoon eingesetzt, dann sind wir aber wieder umgesteigen auf Lazarus ohne die doch manchmal voreiligen Schritte im CodeTyphoon mitgehen zu müssen, die nicht immer gut waren und in einigen Bereichen auch manchmal lizenztechnisch nicht ganz sauber sind. Wenn wir was brauchen, was im Lieferumfang von Lazarus nicht dabei ist, bei CodeTyphoon aber schon, übernehmen wir den entsprechenden Ordner aus dem CodeTyphoon System in das Lazarus System und wenn das läuft (war bisher immer so), dann nutzen wir genau den Stand der Komponente, ggf nach einem rebranding (pl_* wird brp_* )

In der Zwischenzeit sind wir diverse Male auf neuere Lazarus Versionen umgestiegen und es gab nie Probleme, auch weil alles portabel ist, also nicht jeden stuss in die Registry schreibt, sondern lokale Konfig Dateien in definierbaren Pfaden nutzt, so das man die IDE auch auf dem USB Stick oder externe Platte an einem völlig neuen Rechner starten kann, ohne tagelang irgendwelchen Kram nachinstallieren zu müssen.

Obwohl unser ERP Projekt zunächst nur für win32 entwickelt wurde, war die Portierung zuerst auf win64 mit der Lazarus IDE (eine Codezeile musste angepasst werden) sehr schnell erledigt, obwohl das Gesamtprojekt mittlerweile in Lazarus auch 200000 Zeilen selbstgeschrieben Pascal Code hat. Da der erste Port so einfach war, hab ich den nächsten gleich hinterhergeschoben. Der Port auf MacOSX dauerte ca eine Stunde, um das Projekt dann in der Lazarus IDE, die nativ auf Mac läuft, compilieren zu können und auch gleich dort laufen zu lassen. Es waren halt hier und da noch typische windows api sachen drin, die man halt so immer gemacht hat. Dafür passende Multiplattform Lazarusroutinen zu finden, war meist einfach, oft sogar war die Lazarus Implementation wesentlich leisungsfähiger (Beispiel shellexecute->TProcess). Eine halbe Stunde später lief der komplette Quellcode dann auch nativ auf Linux und kompiliert in der Linux Lazarus IDE, ohne weitere Änderungen am MaxOSX kompatiblen Source. Das nenn ich Multiplattform.

Für diverse kleinere Projekte haben wir auch kleine Programme auf dem Raspberry Pi mit Lazarus gemacht, auch dort läuft die Lazarus IDE. Auch kleine Tests mit Android und iOS waren ausgesprochen interessant, aber mangels dafür zahlender Projektkunden fhlt uns da im Moment der Bedarf.

Was ich selber nie getestet hab, ist der Umstieg von einem vorhandenen Delphi Code auf Lazarus. Damit kann man sicherlich viel Zeit vertrödeln, aber wenn man konsequent ist, nimmt man das gleich zum Anlass, der eigenen Quellcode mal aufzuräumen. Große Teile lassen sich oft direkt oder mit wenig Änderungen übernehmen, sofern das nicht endlose Events hinter exostischen GUI Komponenten sind. Diese Art der Programmierung empfehle ich aber nachweislich schon seit ca. 15 Jahren auch in Delphi nicht mehr. Langlebige Projekte brauchen Architekturen, die über das Formularzusammenklicken hinausgehen. Das geht sowohl in Delphi als auch mit lazarus.

Das beste an dem Umstieg war, das ich nahezu alle Objektpascal und API Kenntnisse von Delphi sofort in die neue IDE übertragen konnte und wenn mal was nicht so war wie gewohnt, war geade da ein guter Punkt, um noch mal nachzudenken. Suche ich tagelang eine Komponente, die das wieder kann oder realisiere den Teil, den ich wirklich haben will, selbst mit Ownerdraw oder anderen Techniken. Da die selbstgeschrieben eh zur Laufzeit erzeugt werden, ist mir der ganze Objektinspektor Overhead auch völlig egal, das spart sehr viel Zeit für wichtigere Dinge.

Ob der Umstieg von Delphi auf Lazarus für euch vorteilhaft ist, kann man ohne nähere Kenntnis eurer Herangehensweise nicht pauschal beantworten. Man kann in jeder Programmiersprache, auch in Delphi und Lazarus, totalen Schrott programmieren, aber mit entsprechender Architektur lassen sich in Lazarus und in Delphi sehr gute Grundlagen für langlebige Projekte legen, mit denen man noch Jahre später glücklich ist. Ob das was embarcadero da macht, wirklich multiplattform ist, muss jeder selbst beurteilen, da es keine Delphi IDE auf Mac OSX gibt und nicht mal eine native Win64 Version der IDE existiert, ist da Lazarus sicherlich deutlich überlegen, von den Linux varianten gar nicht erst zu sprechen. Mit persönlich gefällt der Firemonkey Ansatz nicht, aber ich muss den ja auch nicht benutzen.

Da ich mittlerweile sicherlich 3000-4000 Stunden mit der lazaus IDE programmiert habe und vorher seit Delphi 0.9 im Jahr 1994 bis 2011 nahezu alles in Delphi gemacht habe, glaub ich schon, mir ein Urteil darüber erlauben zu können. Lazarus ist definitiv reif für den Einsatz im kommerziellen Umfeld.

sh17 25. Aug 2015 06:39

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Macht Ihr Lazarus selbst portabel, oder welche Quelle nutzt ihr?

ThomasBab 25. Aug 2015 06:52

AW: Von Delphi auf Lazarus umsteigen. Geht das?
 
Zitat:

Zitat von sh17 (Beitrag 1313370)
Macht Ihr Lazarus selbst portabel, oder welche Quelle nutzt ihr?

Man kann Lazarus mit Parameter aufrufen, und damit mitteilen, wo die Konfigurationsdateien liegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 Uhr.
Seite 1 von 5  1 23     Letzte »    

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