ich hatte die (Sisyphos-)Aufgabe vor einigen Jahren unsere Anwendung auch unter LINUX bereitzustellen. Ca. 1 Mio Zeilen Quellcode alles mit
VCL programmiert und keine TestCases.
Die Strategie für Cross-Plattform bei uns:
- GUI Code von BL-Logik Trennen ....
- Code Refaktoring nch MVVM (https://de.wikipedia.org/wiki/Model_View_ViewModel) oder vergleichbaren Ansatz
- beide Plattformen unterstützen über compiler switches ( dann kann man immer auf die lauffähige VCL Version zugreifen)
- testcase einführen wann immer es geht
- zu allen Überfluss haben wir auch 2 DB Interface in der Compiler Switch Option {$IFDEF Framework_ADO }
und {$IFDEF Framework_Firedax }
Delphi-Quellcode:
uses
types,
classes,
SysUtils,
{$IFDEF FrameWork_VCL}
vcl.Graphics,
.....
{$ENDIF}
{$IFDEF FrameWork_FMX}
FMX.Graphics,
.....
{$ENDIF}
....