Wiederverwendung mit System

Geschäftslogik, die mit deinem Projekt mitwächst.

Baue eine Funktion einmal, prüfe sie mit dem Compiler und setze sie in der nächsten Anwendung wieder ein. Zelyra-Pakete halten Schnittstellen typisiert, Effekte sichtbar und Projektstände reproduzierbar.

Quellstand: 1.2.41 Zuletzt veröffentlicht stabil: v1.2.40 Lokal zuerst · Offline-Prüfung

Drei Wege zum Zusammensetzen

Beginne dort, wo dein Projekt steht.

Eine gemeinsame Datei, ein lokales Paket oder ein signiertes Quellartefakt: Wähle die Wiederverwendung, die zu Team und Bereitstellung passt.

01

Projektimporte

Teile eine wachsende Anwendung in gut lesbare Quelldateien. Importpfade werden innerhalb des Projekts aufgelöst und gemeinsam mit der Anwendung geprüft. import "./billing.zyl" as billing

02

Lokale Pakete

Gib einer wiederverwendbaren Fähigkeit ein eigenes Manifest, eine Version, öffentliche Exporte und eine Effektobergrenze. Sperre den Quellstand und importiere den Paketnamensraum. import "pkg:money" as money

03

Signierte Quellpakete

Veröffentliche ein Quellartefakt und einen deterministischen Index für kontrollierte Verteilung. Hinzufügen und Aktualisieren geschehen ausdrücklich; Prüfen und Ausführen eines gesperrten Projekts funktionieren offline. Paket-Handbuch

Ein greifbares Geschäftsbeispiel

Eine Steuerregel. Ein Ergebnis, das man nachvollziehen kann.

Das Paket enthält die Berechnung; die Rechnungsanwendung verantwortet Beleg und Kundenablauf. Die Verbindung ist eine typisierte Funktion. So kann sich jede Seite weiterentwickeln, ohne die Berechnung zu kopieren.

Paket: money_rules

Die Berechnung bleibt wiederverwendbar.

Die Funktion verwendet exakte Decimal-Werte, beschreibt ihre Eingabebedingungen und liefert den berechneten Bruttobetrag. Zelyra prüft Paket und Aufrufer als gemeinsamen Abhängigkeitsgraphen.

Rechnungs-AppNetto + Satz
money_rulestypisierte Berechnung
RechnungsbetragBruttobetrag

Die wiederverwendbare Paketfunktion

Compilergeprüftes Beispiel
pub fn calculate_gross(net: Decimal, rate: Decimal) -> Decimal
    requires { net >= decimal("0.00") && rate >= decimal("0.00") }
    ensures { result >= net }
{
    tax = (net * rate) / decimal("100.00")
    return net + tax
}
GeprüftDiese Funktion wurde als Teil eines lokalen Pakets mit `zelyra check` geprüft; die Beispielanwendung gab 1487.5 aus. Decimal-Werte entstehen mit `decimal("…")`, Zuweisungen verwenden die normale Zelyra-Syntax.

Die Anwendung ruft das Paket auf

main.zyl
import "pkg:money" as money

fn main() {
    gross = money::calculate_gross(decimal("1250.00"), decimal("19.00"))
    print(gross)
}

Vom Quelltext zur gemeinsamen Fähigkeit

Ein kurzer, wiederholbarer Ablauf.

Starte mit einem lokalen Paket. Das Paketmanifest nennt das Paket; das Anwendungsmanifest deklariert Pfad und passende Version.

Paket anlegen

Erzeuge ein kleines Startmodul, ohne bestehende Dateien zu überschreiben.

zelyra module init packages/money --name money --version 0.1.0

Abhängigkeit eintragen

Trage lokalen Pfad und Versionsbereich im Projektmanifest ein.

[dependencies.money]
path = "packages/money"

Quellstand sperren

Halte den aufgelösten Paketquellstand fest, damit das Team denselben Abhängigkeitsstand reproduziert.

zelyra package lock .

Prüfen und überblicken

Prüfe die Anwendung auf Typen, sieh Exporte ein und analysiere den Modulplan.

zelyra check main.zyl
zelyra module list main.zyl

Teil des Arbeitsablaufs

Behalte den Überblick über das Zusammengesetzte.

Die Paketwerkzeuge zeigen Quellcode, Exporte, Effekte, Einstellungen und Verteilung, bevor ein Modul Teil einer Anwendung wird.

↗

Modulübersicht und Plan

`module list` und `module plan` zeigen Aliase, öffentliche Exporte, Quellprüfsummen und den gewählten Abhängigkeitsgraphen als stabile Text- oder JSON-Ausgabe.

✓

Compilergeprüfte Schnittstellen

Nur ausdrücklich öffentliche Symbole überschreiten die Paketgrenze. Typen, Importe, Contracts und deklarierte Capabilities prüft Zelyra.

⚙

Typisierte Paketeinstellungen

Beschreibe unterstützte Einstellungen im Manifest und konfiguriere sie je Anwendung. Geheimnisse werden über Umgebungsvariablen referenziert.

⬇

Bundle-Analyse

Prüfe Quellumfang und offene Referenzen vor dem Bündeln. Ergänze und validiere damit die deploymentspezifische Konfiguration.

Vertrauen, das du prüfen kannst

Eine Signatur weist einen Herausgeberschlüssel nach. Ob du ihm vertraust, entscheidest du.

Eine Prüfsumme im Lockfile macht Quelländerungen sichtbar. Ein vertrauenswürdiger Signaturschlüssel bestätigt die Signatur des Artefakts. Beides ersetzt weder die Codeprüfung noch bewusst erteilte Anwendungscapabilities oder Tests im eigenen Projekt.

Details zur Paketsicherheit lesen
01Prüfe Paketquellcode und Manifest vor einer Lockfile-Aktualisierung.
02Vertraue Herausgeberschlüsseln ausdrücklich; die Signaturprüfung führt keinen Paketcode aus.
03Anwendungscapabilities und Datenbankrechte bleiben unter der Kontrolle der Anwendungsverantwortlichen.
04Nutze einen statischen Paketindex auf der eigenen Infrastruktur, wenn du kontrolliert verteilen möchtest.

Ein wachsendes Modulumfeld

Packe die Arbeit, die dein Team wiederholt.

Ein Modul kann eine Geschäftsregel, einen Datenadapter oder einen wiederverwendbaren Ablauf kapseln. Halte Pakete fokussiert, gib ihnen eine typisierte öffentliche Schnittstelle und setze größere Anwendungen daraus zusammen.

Geschäftslogik

Geld, Abrechnung und Validierung

Bündle Berechnungen und Regeln, die in Rechnungen, Angeboten und Auswertungen einheitlich gelten sollen.

Datenaustausch

CSV, ODBC und externe Systeme

Halte Parsing, Zuordnung und Validierung an einer typisierten Schnittstelle; die Anwendung legt fest, wie sie Aufrufe autorisiert und ausführt.

Dokumente und Versand

PDF, E-Mail und Exporte

Setze Dokumenterzeugung und Versand mit den Berechtigungen, der Outbox und der Deployment-Konfiguration der Anwendung zusammen.

Mach aus einer nützlichen Regel einen gemeinsamen Baustein.

Beginne mit dem geprüften Steuerbeispiel und sieh dir danach das Paket-Handbuch und ein echtes Projekt mit mehreren Paketen an.

Beispielprojekt öffnen