MAD Designer iconMAD

Symbol von MAD Designer für macOSMAD Designer für macOS

MAD Designer für macOS ist eine native AppKit-Desktopanwendung (SDK macosx, MACOSX_DEPLOYMENT_TARGET = 12.0) zum Erstellen, Abfragen, Layouten, Aktualisieren, Drucken und Exportieren von Mobile Analytics Documents (.mad). Sie bindet dieselben eigenentwickelten Objective-C-Frameworks und universellen statischen C-Bibliotheken (Compressor) ein, auf denen die iOS-Apps und die headless Engine basieren.

Jede unter macOS erstellte oder bearbeitete .mad-Datei ist byte-kompatibel mit den iPad-/iPhone-Apps, der mad-CLI unter Linux und der GitHub Action mad-action.

Herunterladen & installieren


Arbeitsbereiche

Jedes geöffnete .mad-Dokument läuft in einem nativen NSDocument-Fenster (MADMacDocument / MADMacWindowController) mit einem zentrierten segmentierten Steuerelement Workspace in der Fenstersymbolleiste (Cmd+1, Cmd+2, Cmd+3), das zwischen den drei Berichtsphasen wechselt:

1. MAD Query (Cmd+1)

Arbeitsbereich MAD Query unter macOS mit der Liste Database Tables, den visuellen Tabellenkarten und LEFT-OUTER-Join-Verbindungen

Der Arbeitsbereich MAD Query (MADMacQueryViewController) baut den relationalen Abfragegraphen, der in RptqQuery gespeichert wird. Ein Umschalter in der Arbeitsbereichsleiste wechselt zwischen zwei sich gegenseitig ausschließenden Ansichten der Abfrage:


2. MAD Designer (Cmd+2)

Arbeitsbereich MAD Designer unter macOS mit der Minimap für Seite & Bereiche, den Berichtsbändern, den Abfragefeldern, der bandbasierten Design-Leinwand und dem Inspector

Der Arbeitsbereich MAD Designer (MADMacDesignerViewController) legt die parametrischen Bänder und Elemente des Berichts in einer vom Benutzer in der Größe veränderbaren dreigeteilten Ansicht aus:


3. MAD Viewer (Cmd+3)

Der Arbeitsbereich MAD Viewer (MADMacViewerViewController) aktualisiert die Abfrage gegen ihre Live-Datenquelle, materialisiert die Ergebnismenge in den lokalen SQLite-Tabellen-Cache (MADDataTableFast) und rendert die Seiten:


Dokumente öffnen und erstellen


Architektur: natives AppKit auf multiplattformfähigen Frameworks

Statt die iOS-Oberfläche in Mac Catalyst zu verpacken, kompiliert MAD zwölf seiner vierzehn Frameworks nativ für macosx (SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx", MACOSX_DEPLOYMENT_TARGET = 12.0) und legt eine eigens dafür gebaute AppKit-Dokumentarchitektur (Mac/Source/) darüber:

Schicht Komponenten Rolle unter macOS
Statische C-Bibliotheken (Compressor) sqlite3, zlib, openssl, bzip2, libpng, libarchive, freetds, mariadb, postgres, zint Universelle (arm64 + x86_64) macosx-Slices in .xcframework-Bundles, geprüft durch ./Compressor/build.sh --verify --all --platforms ios,simulator,macosx.
Kern- und Treiber-Frameworks MADFoundation, MADDataStructures, MADCocoaExtensions, MADFileManager, MADAPI, MADSqlite3, MADTds, MADTdsClient, MADMySQL, MADPostgres, MADBarcodes, MAD Gemeinsames Objective-C-Modell, portabler SQLite-Speicher (Rptq*), SQL-Parser/-Compiler, Wire-Datenbanktreiber, zint-Barcode-Renderer, MADDesignerLayout-Rückgängig/Wiederholen-Engine und MADPrintPageRenderer / MADReportExporterPDF.
Nativer AppKit-Frontend (Mac/) MADMacAppDelegate, MADMacAboutWindowController, MADMacDocumentController, MADMacDocument, MADMacWindowController, MADMacConnectionWindowController, MADMacQueryViewController, MADMacDesignerViewController, MADMacDesignerCanvasView, MADMacViewerViewController Nativer NSDocument-Lebenszyklus, About- / Overview- / Acknowledgements-Fenster, Symbol- und Menüleiste, visuelle Abfrageleinwand, dreigeteilter Berichtsdesigner mit Minimap und Inspector sowie PDFView-Berichtsanzeige.

Der vollständige Architektur-Audit und das Fehlerprotokoll aus dem Multiplattform-Port sind in docs/project/MAD_MACOS.md festgehalten.


Bauen, testen und paketieren

In Xcode

Öffnen Sie Reports.xcworkspace, wählen Sie das gemeinsame Scheme MAD Designer Mac mit dem Ziel My Mac und drücken Sie Run (Cmd+R), um die native macOS-App interaktiv zu bauen und zu debuggen.

Um die Unit-Test-Suite eines beliebigen Frameworks nativ unter macOS auszuführen:

xcodebuild test -workspace Reports.xcworkspace -scheme MAD \
	-destination 'platform=macOS,arch=arm64' \
	-derivedDataPath ~/Library/Developer/Xcode/DerivedData/Reports-cozeiyczmvgrbeapplwfuygymqci

Build über die Kommandozeile, Smoke-Suite & Release-Paketierung

Das eigenständige Skript Mac/build.sh kompiliert alle zwölf macOS-Frameworks, setzt Mac/build/MAD Designer.app zusammen und signiert es, führt die End-to-End-Smoke-Test-Suite für Headless und AppKit (Mac/Tests/MADMacSmokeTest.m) aus und paketiert verteilbare .zip- und .dmg-Archive:

./Mac/build.sh                     # build 12 macOS frameworks + MAD Designer.app
./Mac/build.sh --no-frameworks     # rebuild only MAD Designer.app (fast iteration)
./Mac/build.sh --smoke-test        # build and run the end-to-end macOS smoke suite
./Mac/build.sh --package           # package MAD-Designer-macOS.zip and MAD-Designer-macOS.dmg

Diese Seite ist eine deutsche Übersetzung des englischen Originals; bei Abweichungen ist der englische Originaltext maßgeblich.