MAD Designer iconMAD

MAD Designer for macOS アイコンMAD Designer for macOS

MAD Designer for macOSは、Mobile Analytics Document(.mad)の作成、クエリ設計、レイアウト編集、データ更新、印刷、およびエクスポートを行うネイティブAppKitデスクトップアプリケーション(macosx SDK、MACOSX_DEPLOYMENT_TARGET = 12.0)です。iOSアプリやヘッドレスエンジンを支えているものと同じファーストパーティのObjective-Cフレームワーク群およびユニバーサル静的Cライブラリ(Compressor)をリンクしています。

macOS上で作成または編集されたすべての.madファイルは、iPad/iPhoneアプリ、Linux上のmad CLI、およびmad-action GitHub Actionとバイト単位で互換性があります。

ダウンロードとインストール


ワークスペース

開かれた各.madドキュメントはネイティブのNSDocumentウィンドウ(MADMacDocument / MADMacWindowController)で動作し、ウィンドウツールバー中央のWorkspaceセグメントコントロール(Cmd+1、Cmd+2、Cmd+3)によって3つのレポーティングステージを切り替えます:

1. MAD Query (Cmd+1)

Database Tablesリスト、視覚的なテーブルカード、およびLEFT OUTER結合コネクタを表示するmacOS上のMAD Queryワークスペース

MAD Queryワークスペース(MADMacQueryViewController)は、RptqQueryに保存されるリレーショナルクエリグラフを構築します。ワークスペースバーのトグルで、クエリの2つの排他的なビューを切り替えることができます:


2. MAD Designer (Cmd+2)

Page & Section Minimap、Report Bands、Query Fields、バンド型デザインキャンバス、およびInspectorを表示するmacOS上のMAD Designerワークスペース

MAD Designerワークスペース(MADMacDesignerViewController)は、ユーザーがリサイズ可能な3ペイン分割ビュー内でレポートのパラメトリックなバンドと要素をレイアウトします:


3. MAD Viewer (Cmd+3)

MAD Viewerワークスペース(MADMacViewerViewController)は、ライブデータソースに対してクエリを実行して更新し、結果セットをローカルのSQLiteテーブルキャッシュ(MADDataTableFast)にマテリアライズ(実体化)して、ページ分割されたレポートを描画します:


ドキュメントのオープンと新規作成


アーキテクチャ:マルチプラットフォームフレームワーク上のネイティブAppKit

iOSのUIをMac Catalystでラップするのではなく、MADは14個のフレームワークのうち12個をmacosx向けにネイティブコンパイルし(SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"、MACOSX_DEPLOYMENT_TARGET = 12.0)、その上に専用設計のAppKitドキュメントアーキテクチャ(Mac/Source/)を構築しています:

レイヤー コンポーネント macOSでの役割
静的Cライブラリ(Compressor) sqlite3, zlib, openssl, bzip2, libpng, libarchive, freetds, mariadb, postgres, zint .xcframeworkバンドル内のユニバーサル(arm64 + x86_64)macosxスライス。./Compressor/build.sh --verify --all --platforms ios,simulator,macosxで検証。
コア&ドライバフレームワーク MADFoundation, MADDataStructures, MADCocoaExtensions, MADFileManager, MADAPI, MADSqlite3, MADTds, MADTdsClient, MADMySQL, MADPostgres, MADBarcodes, MAD 共有Objective-Cモデル、ポータブルSQLiteストア(Rptq*)、SQLパーサー/コンパイラ、ワイヤデータベースドライバ、zintバーコードレンダラー、MADDesignerLayout Undo/Redoエンジン、およびMADPrintPageRenderer / MADReportExporterPDF。
ネイティブAppKitフロントエンド(Mac/) MADMacAppDelegate, MADMacAboutWindowController, MADMacDocumentController, MADMacDocument, MADMacWindowController, MADMacConnectionWindowController, MADMacQueryViewController, MADMacDesignerViewController, MADMacDesignerCanvasView, MADMacViewerViewController ネイティブNSDocumentライフサイクル、About / Overview / Acknowledgementsウィンドウ、ツールバー&メニューバー、ビジュアルクエリキャンバス、ミニマップ&インスペクタ付き3ペインレポートデザイナー、およびPDFViewレポートビューア。

マルチプラットフォーム移植におけるアーキテクチャ監査および不具合修正ログの詳細は、docs/project/MAD_MACOS.mdに記録されています。


ビルド、テスト、パッケージ化

Xcodeでのビルド

Reports.xcworkspaceを開き、共有スキームMAD Designer MacとデスティネーションMy Macを選択してRun (Cmd+R)を押すと、ネイティブmacOSアプリをインタラクティブにビルドしてデバッグできます。

任意のフレームワークのユニットテストスイートをmacOS上でネイティブ実行するには、以下を実行します:

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

コマンドラインビルド、スモークテストスイート、リリースパッケージ作成

スタンドアロンスクリプトMac/build.shは、macOS向け全12フレームワークのコンパイル、Mac/build/MAD Designer.appのアセンブルと署名、エンドツーエンドのヘッドレス+AppKitスモークテストスイート(Mac/Tests/MADMacSmokeTest.m)の実行、および配布用.zip/.dmgアーカイブのパッケージ化を行います:

./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

このページは英語原文の日本語翻訳です。内容に相違がある場合は、英語原文が優先されます。