![]() |
Bestehende Software modernisieren / Umstieg
Hallo liebe Forumsmitglieder.
Ich arbeite in einer Firma, welche ein ERP-System mit Delphi entwickelt hat. Das Ganze ist sehr umfangreich, 13 Jahre alt und basiert auf PostgreSQL, sowie Delphi 10.2. Es kommen mittlerweile immer häufiger Anforderungen von Kunden, die Software im Web/in der Cloud nutzen zu können. Nun gibt es noch weitere interne Anforderungen, die sich über die Jahre entwickelt haben und ebenfalls für eine Web-Anwendung sprechen. Also wurde nun entschieden, für dieses Jahr einen kompletten Neuanfang zu machen. Von Seiten des Managements, sollte mit einem Umstieg die Produktivität deutlich steigen und stärker der Inhalt des Produkts im Vordergrund stehen. Ich hatte mich deshalb mal mit Low-Code-Plattformen beschäftigt: u.a. Mendix, OutSystems und diese vorgeschalgen. Nun hat sich jedoch herausgestellt, dass die Kosten hierfür deutlich zu hoch lägen. Es ist nicht vergleichbar mit einer Delphi-Subscription. Auch scheint die Abhängigkeit an den Hersteller deutlich stärker zu sein. Könnt Ihr mir vielleicht Empfehlungen oder Anregungen geben, womit man sich mal beschäftigen sollte? Gibt es vielleicht ebenbürtige Open Source Low-Code-Plattformen? Welchen Weg würdet Ihr einschlagen, wenn das Know-How der letzten 15 Jahre Delphi ist (einige Entwickler beherrschen auch .NET und JAVA aber kein Web) und nun eine Web-Anwendung von Grund auf neu geschrieben werden soll mit Fokus auf Produktivität? Der Neuanfang ist mit Sicherheit notwendig, da auch Architekturgrenzen erreicht wurden. Was sind Eure Erfahrungen und Tipps? |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
ich verstehe nicht ganz wie Du 15 Jahre Codebase mit LowCode zusammenbringen willst. Ich denke (ok, schlagt mich), das VCL/FMX eigentlich ideal sein sollte, mann kan alte Teile VCL mit neuen Teilen FMX gut koppeln. Dann kannst Du deinen existierenden VCL Business Code weiternutzen, oder zumindest einfach prtieren. Wenn es mehr in Richtung Web gehen sollte, dann kämme wohl auch TMS WebCore in Frage. Ich würde jedenfalls nicht 15 Jahre einfach über Bord werfen, es sei denn das Ihr vollkommen unzufrieden damit seid. |
AW: Bestehende Software modernisieren / Umstieg
Als erstes würde ich klären wo die Manpower herkommen soll das bestehende Produkt weiterhin zu supporten, Bugs zu beheben und kurzfristigen Kundenanforderungen zu entsprechen (wie heute auch) und parallel dazu jetzt noch ein völlig neues Produkt von Null an hochzuziehen.
Wenn auch in einem etwas anderen Kontext, aber Uwe Raabe kann ich da nur zustimmen: Zitat:
![]() Hatten wir hier genauso. Man war der Meinung mit einem sauberen Cut noch einmal von vorne anfangen würden sich viele Anforderungen viel besser oder überhaupt erst umsetzen lassen. In der Theorie richtig, aber gescheitert sind wir vor allem auch wirklich an der fehlenden Dokumentation was die Software eigentlich kann, und warum man manche Dinge so und nicht so lösen muss. In den ersten Monaten hätten viele Dinge gefehlt die Kunden über die Jahre ans Herz gewachsen waren, aber man im ersten Wurf für nicht notwendig erachtet hatte. Im Endeffekt war es gut dass wir lieber die Arschbacken zusammengekniffen haben und das Produkt durch und durch aufgearbeitet haben. Und: So billig es klingt, aber lass dich doch auch mal direkt von Embarcadero beraten. Was man da mit DataSnap und EMS alles machen kann können die einem sicher am besten erklären. |
AW: Bestehende Software modernisieren / Umstieg
Gerade was die Web Entwicklung betrifft und Multiplattform hat sich sehr viel getan in den letzten Jahren.
Bzgl. Web Oberfläche werfe ich da gerne mal UniGui in den Raum, wie ich finde ein sehr gutes Framework und die Entwicklung findet wie gewohnt in Delphi statt |
AW: Bestehende Software modernisieren / Umstieg
Hallo Rollo62,
vielen Dank für Deinen Beitrag. Das finanzielle mit den LowCode-Herstellern wird aktuell geklärt, aber die initialen Aussagen waren preislich wohl eher etwas für große Firmen. Also ich habe mir bereits mal angeschaut, wie schnell man mit Low-Code entwickeln kann und das beeindruckt, wenngleich man auch im Hinterkopf hat, dass es auch genug Probleme oder Schwachstellen geben wird. 13 Jahre Entwicklungszeit sind mit Delphi dahingehend recht viel, wenn man jedoch produktiver entwickeln kann (generiert Code etc), dann kann man es mit Sicherheit nicht vergleichen. Mit FMX habe ich mich noch nicht beschäftigt. Primär soll eine Web-Anwendung entstehen, wenn das mit FMX geht und man Code behalten kann, wäre das gut. Wir haben allerdings auch Schwachstellen in der Architektur, weshalb ein Neuanfang Vorteile bieten würde. Hast Du Erfahrung mit TMS WebCode? Ich werde mich gleich hierzu belesen. Das mit den über Bord werfen ist richtig, allerdings gab es schon zwei Re-Designs. Abgesehen von der Kundenanforderung, es soll Web-tauglich sein, stört mich der Verwaltungsaufwand und auch einige Schwächen wie UI-State-Handling (viel Code) oder das Erstellen neuer Forms/Frames, das geht mit Low-Code weit besser. Laut Kunden und Sales muss die Anwendung vom Desktop weg. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Ich würde erstmal Grundsätzliche Entscheidungen klären:
- Welche Frontend-Bibliothek soll es sein? Es mit "Dephi-Background" oder lieber doch gleich 100% Cut und auf Bibliotheken wie Angular oder React setzen? - Welche Backend soll es werden? Weiter mit Delphi und "nur" eine passende API gegen die Front-End-Bibliothek? Oder gleich alles "wegschmeißen" und auch am Server sowas wie Node.js einsetzen? Ein wichtiger Punkt wenn man jetzt auf Web umbaut ist das dies gleich auf allen Geräten nutzbar ist. Und nicht sagen das ein ERP nur am PC benutzt wird. Teilinformationen will man auch gerne unterwegs am Smartphone haben. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
Hallo Bernhard, vielen Dank für die Gliederung und Erklärung. Ich denke, es wäre besser einen kompletten Neuanfang zu machen, da es auch intern technische Anforderungen gibt, neue Technologien zu nutzen (z.B. Hibernate). Die Anforderung Web-Frontend vom Kunden ist essentiell. Ich sehe es auch, dass die Nutzung am Smartphone gewünscht ist (gab es Anfragen) doch womit könnte man das technisch realisieren? Stichwort wäre hier Layout-Manager. Wofür wäre node.js nutzbar, kannst Du dazu noch etwas schreiben? Für Input bin ich dankbar auch besten Dank an die Vorposter, belese mich hierzu auch gerade. |
AW: Bestehende Software modernisieren / Umstieg
Ich würde mir mal TMS-Webcore sowie die TMS-Business Tools ansehen. Damit kann man viel machen und den Delphi-Quellcode zum großen Teil weiterverwenden.
Alles neu machen für ein 13 Jahre gewachsenes Produkt ist gefährlich und teuer. Würde mal sagen mit gleicher Manpower braucht man dann mindestens 5 Jahre um den alten Stand wieder zu erreichen. Solange müsste man auch das alte Produkt noch parallel weiter supporten. Den Kunden ist es in der Regel egal ob der Quellcode schöner ist und womit programmiert wurde, Hauptsache das Programm macht was es soll. |
AW: Bestehende Software modernisieren / Umstieg
Wir selbst hatten mal bissl mit FMX für Android rumgespielt und auch mit anderen Dingen rumgespielt, aber mangels Zeit/Ressourcen wurde nichts draus.
Den Grundkern unseres Proguckts konnten wir auch schon teilweise relativ leicht so umstellen, dass er auch im Android kompiliert und für eine neue Testanwendung genutzt werden konnte. Aktuell lassen wir von einer in der nähe lebenden Fremdfirma ein Webfrontend für gewisse Module entwickeln, die dann im Webbrowser und auch via Browser auf einem Smartphone mit Barcodescanner laufen sollen. Da wir viel Logik in der Datenbank (Trigger und Funktionen) haben, gehen sie direkt auf die Datenbank, bzw. Teilweise auf Funktionen in einer eigenen Serveranwendung (z.B. Dateizugriff auf unser DMS). Das große Projekt bleibt aber weiterhin erstmal Delphi. Mal für zwei/drei Jahre die Enwicklung des Projektes fast zu stoppen und alle Ressourcen in eine komplette Neuentwicklung zu stecken, mit Techniken, die auch noch niemand umfänglich beherrscht, war nicht so wirklich schön anzusehn. FMX ist Multi-Plattform, aber Web gibt es nicht als Plattform. (die GUI nur für Windows, Apple und Android ... Linux und Web nur von Fremdfirmen) Es gibt noch den HTML5 Builder, früher war's mal Delphi4PHP, dann RadPHP und vorher VCL for PHP oder wie es noch hieß, beim Originalentwickler. ![]() ![]() Das ist/war quasi eine "Kopie" der RTL/VCL nach PHP. (komplett neu, und komplett in PHP/JavaScript geschrieben) Der Grundcode ist in PHP auf dem Webserver und es können Events zurück ins PHP oder auch lokal als JavaScript laufen. Dann gibt es mehrere Frameworks, auch Eines von Borland/Embarcadero selbst, deren Namen ich immer vergesser (das alte langsame QC war damit geschrieben), wo im Hintergrund Delphi-Code als Serveranwendung läuft und die HTML-Code generieren und rausgeben. Es gibt auch ein Projekt, wo eine VCL-Anwendung auf dem Server ausgeführt wird, deren Oberfläche abgefangen und via Webbrowser anderswo angezeigt wird. Kannst'e quasi grob mit RDP bzw. TeamViewer vergleichen, aber für einen großen produktiven Einsatz würde ich das nicht empfehlen. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
TMS WebCore kann auch PWA, und wird das sicherlich weiter ausbauen, das kann Web und Mobile sehr elegant zusammenbringen. Genau deswegen würde ich bei Delphi bleiben, wo Server/Client/Web/Mobile einigermassen aus einer Hand sind, und man Alle Möglichkeiten hat. Mit TMS WebCore habe ich jetzt noch keine konkreten Projekte, nur mal ein paar Tests gemacht, aber das wird wohl im Moment stark gepuscht, und es macht ja auch viel Sinn. Wenn man nicht zu hohe Erwartungen an Web/Mobile stellt geht es recht stabil, Sever/Desktop sind ja sowieso Delphis Stärken, also warum nicht Alles nutzen ? Die Probleme liegen z.B. bei Mobile im Detail, wenn es um Hardware/Permissons und sonstige Besonderheiten geht, das Gleiche hat man dann aber auch bei Xamarin, Unity und dergleichen. Nur wird das gerne Übersehen. Wer glaubt auf irgendwas Anderes umzusteigen (Low, Simple and Easy), und dann mit drei Zeilen Code komplexe Projekte zu schaffen, der wird meiner Meinung nach wohl harsch entäuscht werden. Ich denke die mesiten LowCode Systeme sind für schnelle Prototypen gedacht, und wenn man dann konkret ins Detail gehen muss fährt man vor die Wand. (Ok, FmX geht auch ein bischen in diese Richtung, aber mittlerweile ziemlich stabil geworden) Ich versuche eigentlich immer mit bestehenden, bekannten System weiterzuarbeiten, da ist 80% der Lernkurve schon erledigt. Überall anders fängt man bei 0 an, naja wenn man das unbedingt will :stupid: EDIT: Und schau auch mal was da Neues von Atozed Intraweb kommen wird ... |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
![]() |
AW: Bestehende Software modernisieren / Umstieg
Hallo nochmal,
Also ich gehe mal nicht davon aus, dass Low-Code alles abdecken wird und kann, doch ich denke mal, es ist der nächste Schritt. Was ich hier bemängeln würde, ist die starke Abhängigkeit vom Hersteller und seinem jeweiligen Preismodell... Ich werde mich nun mal weiter belesen mit dem was hier genannt wurde. Grundsätzlich haben wir schon mehrere Redesigns hinter uns und ich werde die Möglichkeiten mal gegenüber stellen, so dass man grob weiß, was es gibt und welche Vor- und Nachteile die jeweilige Lösung hat. Aktuell gefällt mir Angular ganz gut, was das Frontend angeht. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Zitat:
Evtl. hilft hier am meisten einfach einer der nächsten Webkonferenzen zu besuchen und dort mal einerseits über die Vorträge viel neuen Input zu bekommen, Andererseits über Gespräche in den Pausen die Erfahrungen auch zu bekommen. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
Zitat:
Aber immer nur "dranschustern" versperrt öfter auch mal den Blick darüber das die Welt um einen herum sich komplett gedreht hat und jetzt in die andere Richtung fährt. Zitat:
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Ich verstehe diese „alles auf den Schrott“ Ansätze meist nicht (es gibt Ausnahmen), auch wenn es spätestens seit VW Dieselskandal trendet- erst recht unverständlich.
Delphi ist ein leistungsfähiges System und Postgres ebenfalls. Das geht auch „in der Cloud“. Ich sehe hier eher den Ansatzpunkt für ein Hybridsystem (oder meinetwegen auch Brückentechnologien). Es wird „einfach“ ein Zusatzprodukt mit Webtechnologien aufgezogen. Eine klassische SQL Datenbank bietet die idealen Voraussetzungen, so etwas wasserdicht hinzubekommen. Also verschiedene Clients zu bedienen und dabei eben dafür zu sorgen, dass alle Spielregeln eingehalten werden. Datenpflege über REST Interfaces gegen Postgres, Oberfläche mit ein modernen JS Tool und man ist schon ziemlich schnell, ziemlich weit. Wenn gewollt sogar per Wepapp auf verschiedenen Plattformen (devices wie smartphone, tablet, ...). Für Flexibilität in der Ausrichtung statt kompletter Neuanfang sprechen m.E. zwei Punkte, - jahrelang „erarbeiteter Knowhow Mangel“ zu Alternativen (der auch nicht durch eine Rundfrage hier oder einen Konferenzbesuch ausgebügelt ist) - was mit sich bringt, die Gefahr von Fehlentscheidungen, Vendor lock-in, Kostenfallen, falsche Aufwandseinschätzung usw. Die Schwierigkeiten, die sich mit einer Neuentwicklung, Migration usw. den Kunden (und dem Hersteller) in den Weg stellen, können dann am Ende auch leicht zu einem Anbieterwechsel des Kunden führen (Es muss ja eh migriert werden). Welcher Anbieter will das? Was außerdem gegen eine Abschaffung klassischer Fatclients bzw. eines leistungsfähigen Bestandssystem spricht, ist m.E. die Power, die man bei der Datenbearbeitung erreicht, flexible Hotkeys, komplexe und hochspezialisierte Masken sind nicht so schnell aus dem Webhut gezaubert. Ich habe eigentlich noch nie eine wirklich gute Webmaske zur Dateneingabe gesehen, die mit einem lange gepflegten und verbesserten System mithalten kann. Wenn ich manchen Umsteiger auf das neue Webtool die Maus über die Tischplatte schieben sehe, dann der Doppelklick auf die Buttons und Links…. denke ich „Produktivität im Keller“ Also ehrlich, man wirft doch nicht ohne Not 15 Jahre Arbeit weg?! Ach und der Vollständigkeit halber: Ich habe keine Ahnung, was low code sein soll- gerade erst gelesen. Ein Blick auf Wikipedia und ich lande z.B. bei Simplifyer, die stolz schreiben, dass sie SAP Silverpartner sind. Na schönen Dank! Aber es ist ja auch kein Hexenwerk, generischer Code mit deklarativen Ansätzen lässt sich prima zu Fuß umsetzen, mit Delphi oder Webtools, als Weiterentwicklung des Bestandssystem. Und noch mal andersrum: Was ist für Dich Cloud, low code usw. Kunde will Web, Kunde will „Hibernate“ (Das ist kein Selbstzweck -er wird es nie merken, ob es da ist oder nicht), … Dem Kunden kann es egal sein, welche Technologie ihr einsetzt, wenn er davon Ahnung hätte, würde er es selber machen, oder? Skalierende DB Systeme in der Cloud, überall auf der Welt, ..? Ja, kann man machen und trotzdem die alte Software einsetzen. Und noch was: Ein paar tolle Zahlen und Grafen auf dem Smartphone, das ist der absolute Renner, ohne Ironie. Damit können sich wichtige Leute noch wichtiger fühlen. Die Sexyness des Produkts steigt ungemein. Und das ist vielleicht eines der Probleme, die Altsoftware gerne hat. Angestaubte Masken, statischer Aufbau, grau in grau… da lohnt frische Farbe schon sehr. Die Leute mögen das und es ist den meisten offenbar viel wichtiger als Funktion. Aber dafür braucht man weder eine solide Bestandssoftware wegzuwerfen noch teure low code tools anzuschaffen. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
![]() Also im Grunde genau das hier :zwinker: ![]() oder unser LiveBindings-Designer im Delphi. Und dass ein Code schön sein kann, zeigt dieser Quellcode in der Programmmiersprache Brainfuck, welcher ein Sierpinski-Dreieck generiert.
Code:
(die böse DP macht immernoch paar Leerzeichen kaputt ... Details im [Zitat] zu sehen)
>
+ + + + [ < + + + + + + + + > - ] > + + + + + + + + [ > + + + + < - ] > > + + > > > + > > > + < < < < < < < < < < [ - [ - > + < ] > [ - < + > > > . < < ] > > > [ [ - > + + + + + + + + [ > + + + + < - ] > . < < [ - > + < ] + > [ - > + + + + + + + + + + < < + > ] > . [ - ] > ] ] + < < < [ - [ - > + < ] + > [ - < + > > > - [ - > + < ] + + > [ - < - > ] < < < ] < < < < ] + + + + + + + + + + . + + + . [ - ] < ] + + + + + * * * * * M a d e * B y : * N Y Y R I K K I * 2 0 0 2 * * * * * ![]() |
AW: Bestehende Software modernisieren / Umstieg
Du solltest dir unbedingt mal das anschauen:
![]() Das ist im Moment glaube ich das Beste, was es am Markt gibt und benötigt keine andere IDE. Eine Delph installation wird also dafür nicht benötigt. Du schreibst deinen Code wie bisher in einer sehr nah an Delphi (Object Pascal) angelehnten Syntax, die dann kompiliert und JS produziert. Das Ganze ist auch leicht erweieterbar mit eigenen Komponenten etc. halt wie man es auch von Delphi gewohnt ist. Die ganzen Delphi-basierten Lösung wie TMS WebCore, sind hier viel unhandlicher zu nutzen und benötigen viel JS-Wissen. Im EWB kann man alles in Object Pascal programmieren. Das Produkt ist übrigens zu 100% in Delphi geschrieben. Ich nutze seit Jahren deren DB-Systeme DBISAM und ElevateDB, das ich dir eventuell als Ersatz für PostgresSQL an Herz legen kann. |
AW: Bestehende Software modernisieren / Umstieg
Hallo zusammen,
und erst einmal jedem einzelnen hier vielen Dank für seine Ausführungen. Ich würde gern noch einmal etwas mehr Input geben, was vielleicht die Situation noch etwas besser darlegt und dann auch noch mal erwähnen, dass noch nichts festgelegt ist oder ich genau weil es ein schwieriges und aufwendiges Thema ist, mich hier erkundige. Was wollen die Kunden? - Web-Anwendung, weil sie international viel unterwegs sind und von dort arbeiten müssen; hier ist es teilweise schon schwer, in Asien in manchen Ländern einen Laptop einzuführen - bessere Entwicklungsgeschwindigkeit - UI-Skalierungsmöglichkeiten (in Windows sind diese sehr beschränkt, Alphaskins hat hier jedoch für uns schon etwas gebaut, funktioniert jedoch nur 80%) Der Punkt Web-Anwendung ist also essentiell. Was haben wir als Produkt? - Windows Desktop Anwendung - Client-/Server - Business Tier Layer mit Code Generator - DB Layer - PostgreSQL - es werden diverse Komponenten verwendet, von DevExpress über DevArt, FastReports, Alphaskins, etc... - es gibt kein Data Binding, wir füllen Daten per Code in die UI Was wollen wir? - bessere Produktivität und statt Programmierung mehr Fokus auf den Inhalt im Bereich UI legen können (wir haben hohe Hürden, UIs zu bauen, z.B. das Füllen von Daten muss programmiert werden/kein Data Binding, ebenso UI-State-Handling, etc) - Redesign der Oberflächen (cirka 1200 Forms und Frames, ist eher eine Anforderung kundenseitig, hier spielt auch das Thema Skalierung mit rein) - Dependency Injection und bessere Testmöglichkeiten, was teilweise ein Code-Redesign erfordern würde, weil Methoden teils zu komplex sind Die Web-Anwendung ist von uns aus keine Anforderung, da sie es jedoch von den Kunden her ist, ist es unumstößlich diese Möglichkeit zu verweigern. Die Desktop-Anwendung ist von keinem Kunden mehr gewünscht. Der Aufwand einer Neuentwicklung ist recht hoch, da wir aber die Software inhaltlich zu 80% so übernehmen können, wie sie jetzt ist, ist im Prinzip die Konzeptphase viel geringer, man weiß genau, wo man hin möchte. Um diesen Aufwand technisch zu verringern, sah ich als Ansatz Low-Code. Hier ist die enge Bindung an den Hersteller jedoch sehr negativ zu bewerten. Also was nun? Mein Ansatz wäre nun aufgrund der Komplexität der Anforderungen ein Neuanfang. Grundsätzlich bin ich auch gegen sowas, allerdings wenn man - wie Bernhard glaube ich meinte - feststellt, dass sich die Welt draußen vollständig geändert hat, muss man sich die Frage stellen, ob ich den Golf nun in ein Amphibienfahrzeug für eine andere Umgebung umbaue, gleichzeitig noch meine eigenen umfangreichen Baustellen irgendwie abschaffe oder einen Cut mache. Der Support der Bestandsanwendung ist nicht sehr hoch, da wir alle Module soweit entwickelt haben, dass wir immer nur Fehlerkorrekturen machen müssten. Ich freue mich auf Eure Meinungen. |
AW: Bestehende Software modernisieren / Umstieg
Hallo zusammen,
ich würde von einer kompletten Neuentwicklung abraten! Stattdessen würde ich folgendes empfehlen: - Bestehende Desktop Applikation(Delphi) dahingehend erweitern, das jegliche Logik ohne GUI funktioniert(am besten sauber in einzelnen Units gekapselt) - Eine neue Mittelschicht(Web-Server mit Delphi realisiert) einführen, die jegliche Business-Logik enthält und entsprechende Calls zur Verfügung stellen, das diverse "Clients" Daten abrufen, schreiben, auswerten etc. können WENN die Zwischenschicht auch mit Delphi entwickelt wird können, die schon vorhandenen Delphi-Klassen 1:1 weiter genutzt werden ! - Als Online/Web-Client würde ich eine ![]() Hiermit können Browser, aber auch alle mobilen Geräte "bedient" werden, sogar ein Einsatz auf dem Destop PC als WPA wäre möglich Die WPA kommuniziert via HTTPS mit der Zwischenschicht, als Datenaustausch-Format empfehle ich JSON. - Falls für mobile Endgeräte "echte" native Clients/Anwendungen benötigt werden, so können diese auch ohne weiteres durch die Verwendung der Mittelschicht umgesetzt werden. Jegliche Logik befindet sich in der Zwischenschicht und wird auch nur dort gewartet..... Alles an einer Stelle !! Jegliche "Clients" sind einfach nur "dumme" Anzeige-Tools, die keinerlei Logik enthalten. Jede "Entscheidung", Berechnung, Verdichtung, .... wird in der Zwischenschicht umgesetzt. Ich setzte die gleiche Technik genauso schon in einem ERP ähnlichem Projekt ein, mit über 200 Standorten in Europa verteilt + diverse mobile Mitarbeiter. Gretes DataCool |
AW: Bestehende Software modernisieren / Umstieg
Ich kann dem Beitrag von Datacool 100% zustimmen.
So werde ich es auch machen. |
AW: Bestehende Software modernisieren / Umstieg
Hallo noch mal zusammen,
da ich Diskussionen ohne Rückmeldung der Lösung selbst nicht mag, möchte ich für den einen oder anderen, den das Thema auch beschäftigt mal meinen aktuellen letzten Stand wissen lassen. Ich hatte von den Low-Code-Produkten Outsystems am besten gefunden, gerade von der Produktivität her. Aktuell beschäftigen wir uns mit den Lösungen Sencha ExtJS/ExtAngular und IONIC. Das ganze im Backend mit PostgreSQL, Hibernate und REST. Bei Sencha scheint man von der Produktivität her viele Vorteile zu haben, auch wenn es proprietär ist. Die Kundenliste spricht allerdings wieder dafür und auch der Preis. Vielen Dank noch mal an alle, die hier geantwortet haben. |
AW: Bestehende Software modernisieren / Umstieg
Ich freunde mich immer mehr mit C# an. Es ist vielseitig - Web, WebAPI, Handy etc.
Was wir mit großen Delphi Projekten machen: Neuentwicklungen werden wenn möglich immer nur noch mit C# gemacht. Wenn eine Delphi Anwendung erweitert werden soll, wird das mit C# gemacht. Es wird dann via COM und SideBySide-Registration eine DLL erzeugt, welche in Delphi mit ImportTLB eingelesen und genutzt wird. Geht es um neue UI, dann werden die für die VCL Anwendung in WPF gemacht und ebenfalls über COM eingebunden. Sollen Webservices gebaut werden, wird das mit C# gemacht und via COM die Delphi Geschäftslogik in C# eingebunden. Teilweise erzeugen wir VUE.js Oberflächen und Backends in C#, welche dann via "Browser" in die Delphi-Anwendung integriert werden. So kann sehr viel wiederverwendet werden. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
Der Trend für Android geht auch immer mehr Richtung JavaScript und andere Frameworks. Der Delphi-way hat kaum begonnen und ist schon quasi weg vom Fenster. Seien wir mal ehrlich. Delphi hinkt immer hinterher. Erst kürzlich kamen Variablen, die man überall deklarieren konnte. Aber seit jeher schlagen wir uns mit hässlichen Code InSight-Fehlern rum. Entweder bringt man beides aktualisiert raus oder gar nichts. Updates müssten viel schneller kommen. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Oder das kostenlose Android-Studio, welches Google ja für Android als Hauptentwicklungsplattform präferiert. :stupid:
Kleines Problemchen bei Delphi ist, dass so Einiges integriert ist, wo andere IDEs die Abhängigkeiten zeitnah einzeln direkt von Google (dem OS-Hersteller) updaten können, wenn der was geändert hat. Die Original-Header/Sourcen in C++ kann man drüben ja direkt einbinden. (Delphi/Pascal kann man zwar in den C++Builder einbinden, aber andersrum mit C++ ins Delphi, da hängt es etwas) |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Für mobile Anwendungen bin ich schon vor einiger Zeit auch auf Ionic umgestiegen, liebäugele aber gerade sehr mit Flutter. FMX ist für mich persönlich jedenfalls definitiv gestorben.
|
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Wo soll ich anfangen? Beim Styling über Stylebooks statt mal schnell eine CSS-Eigenschaft zu ändern? Oder die vielen fehlenden Komponenten, die man aus tausenden anderen Apps kennt und die in den von mir genannten Frameworks enthalten sind (SideMenu z.B.)? Oder der fehlende Support für Nullables und (noch wichtiger: Async/Await)? Genügt das, oder soll ich noch mehr auflisten?
|
AW: Bestehende Software modernisieren / Umstieg
Nein, reicht schon.
Bei Styling stimme ich Dir zu, ich habe mir da was drumrumgebaut um wenigstens die Basics einfärben zu können. Wenn man aber mit einen CustomStyle arbeitet muss man den i.d.R. einmal für einen Kunden anpassen, und kann den dann lange nutzen. Habe ich auch gemacht, und meine Lösuing ist so 50/50 zwischen den Beiden o.g. Extremen. Nullables : Nice to have, hilft mir aber aktuell auch nicht immer weiter AsyncAwait: Da nutze ich eigene Lösungen, vermisse ich jetzt nicht unbedingt (es gäbe Wichtigeres) Ich baue mir halt viel selbst, und versuche möglichst wenig komplexeres FMX zu nutzen, damit komme ich ganz gut klar. Interessant finde ich das Du nicht mangelnde Stabilität, o.ä. (die üblichen Mängel) aufzählst, das gibt mir Hoffnung :thumb: |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
Sherlock |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Oooch, das war mal soo schön für 270 Minuten nichts über instabiles FMX zu lesen :lol:
Und jetzt das :cry: |
AW: Bestehende Software modernisieren / Umstieg
FMX wird, genau wie PHP von Delphi und alle anderen längst vergangenen Borland/Codegear/Wasauchimmer-Technologien, schnell wieder von den Bildschirmen verschwinden.
Grund dafür werden die anderen Frameworks sein, die wesentlich angenehmer zu benutzen sind. |
AW: Bestehende Software modernisieren / Umstieg
Ich finde das interessant das jemand im Delphi Forum fragt wie man am besten von Delphi wegkommt und auch noch Tipps bekommt.
|
AW: Bestehende Software modernisieren / Umstieg
Für mich ist es angenehm genug.
Ich nutze RAD für die visuellen Designs, und versuche das Coding mit so wenig wie möglich Drag-und-Click Events zu bauen wie möglich. Sondern schon mehr in die Richtung wo andere Frameworks schon sind. MVVM und DI sind schwerer umzusetzen, aber diese sinngemäß einzubauen geht schon (DI sowieso). Die Funktionalität verteile ich in kleine Units in meinem Framework, die gut wartbar und testbar sind, und bei Bedarf leicht austauschbar oder ergänzbar. Die variablen Features versuche ich auszuklammern, so das neue Apps quasi "konfiguriert" werden können (ala braucht Location, braucht AudioOut, braucht WakeLock, etc.). Die Basiscontrols Edit, Button, ListBox, ListView versuche ich über interposer Klassen zu Erweitern, und damit Bug-frei zu halten. Auch gebe ich den Komponenten die manchmal fehlenden Basisfunktionen, die ich schon immer vermisst habe bei Delphi. Die komplexeren Controls lasse ich links liegen, und baue mir bei Bedarf komplexeres aus TFrame zusammen. Das Ganze wird von Version zu Version besser, und die Instabilitäten kommen zu 90% von den Platformen selbst, die eben auch extrem instabil sind (siehe iOS13 Einführung, schaut mal in die Apple-Foren). Ich denke Flutter oder andere werden das grundsätzliche Problem mit den Platformen auch nicht beheben, aber womöglich schneller fixen. Ich gebe zu das ist nicht ganz der native RAD Ansatz mit FMX, aber mit etwas Umstellung geht das sehr gut um bei FMX sein eigenes Framework herumzubauen. |
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
AW: Bestehende Software modernisieren / Umstieg
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz