Un formato abierto y un motor embebible para la generación de informes relacionales: cada informe es un grafo de consultas portátil, una tabla SQLite materializada y un diseño paramétrico.
MAD es una plataforma embebida de generación de informes relacionales para consultas ad hoc, informes y diseño: las aplicaciones MAD Designer y MAD Viewer para iOS y macOS nativo (AppKit), el motor sin interfaz gráfica (headless) que las ejecuta en Linux y macOS, y el formato de documento abierto .mad. Un archivo .mad contiene la definición completa de un informe —la instantánea del esquema de la base de datos, el grafo de consultas (tablas, joins, predicados, agrupaciones) y el diseño por bandas de sus elementos— en menos de 100 KB, separado limpiamente de la tabla SQLite materializada (.maddb + .mdcache) que produce al actualizarse.
El código está en github.com/mthomason/MAD, con licencia MIT; los nombres y el arte de las aplicaciones no están cubiertos por esa licencia (consulte NOTICE).
Pruebe MAD Designer en macOS (macOS 12.0+, Apple Silicon):
- Homebrew:
brew install --cask mthomason/tap/mad-designer
Descarga directa: MAD-Designer-macOS.dmg MAD-Designer-macOS.zip (en las descargas directas, ejecute xattr -cr "/Applications/MAD Designer.app"una vez después de copiar la aplicación a/Applications)
MAD Designer para macOS — aplicación de escritorio nativa de AppKit (NSDocument, lienzo visual de consultas de tablas y joins, minimapa interactivo de secciones y diseñador de informes por bandas, y visor de informes paginado en PDF/HTML/CSV/JSON):


MAD Designer para iOS, desde la elección de una fuente de datos hasta la lectura del informe terminado en MAD Viewer:
El mismo motor, sin interfaz gráfica, en Linux: inspect, schema, query, refresh y
export a través de la CLI mad, sin servidor de base de datos y sin credenciales:

El informe exportado de la grabación es HTML simple, y se abre en cualquier navegador.
.mad empaqueta el contrato del esquema, el AST de la consulta y el
diseño de presentación en un único artefacto inspeccionable y comparable con diff que
produce SQL y exportaciones idénticos byte a byte en Apple y Linux.libpq, SQLite— más
libarchive/bzip2 y zint para códigos de barras. No se revende ningún SDK
de generación de informes.MADDataTableFast) y
calcula desde allí las agrupaciones y los agregados en dos pasadas, de modo que
el renderizado paginado se mantiene rápido dentro de la memoria de un teléfono..mad es un archivo tar comprimido con bzip2 que aloja un almacén
SQLite portátil; no se necesita ningún framework de Apple para abrirlo..madLa especificación abierta, un capítulo por archivo:
Qué es un documento ·
El contenedor ·
El almacén ·
Lectura y escritura ·
Archivos complementarios ·
Riesgos ·
v1 normativa ·
Preguntas abiertas ·
Verificación
AppKit:
lienzo visual de consultas, diseñador de informes por bandas con minimapa e
inspector, visor paginado, y cómo compilarla o empaquetarla desde el código fuente.mad — inspeccione,
actualice y exporte un .mad desde Docker en una sola línea..mad versionado en GitHub Actions y cargue su exportación; mthomason/mad-action@v1.MADDatabase, registre el
driver y devuelva filas.Visión — los informes como tablas de base de datos componibles, consultas
de varias fuentes en un solo informe, vistas de datos nativas de UIKit más allá del
paradigma del papel, y la conversión de informes heredados de Crystal Reports (.rpt)
en archivos .mad abiertos.
La aplicación MAD Designer —el diseñador de informes construido sobre este motor— tiene su propio sitio en mad.everydayapps.com.
Esta página es una traducción al español del original en inglés; en caso de discrepancia, prevalece la versión original en inglés.