
# Eine App entwickeln

Entwickler können eigene Apps für SweetHive erstellen — eine kleine Datenansicht,
eingebettet in einen Kontext, oder ein vollständiges Produkt unter eigener URL. Sie
registrieren die App einmal, erhalten Client-Zugangsdaten und entwickeln gegen das
**App SDK**.

## Zwei Arten von Apps

| | **Eingebettet** | **Extern** |
|---|---|---|
| Wo sie läuft | innerhalb der SweetHive-Kontextoberfläche (ein sandboxed iframe) | eigene URL / Domain, gestartet aus SweetHive |
| Geeignet für | Datenansichten, Formulare, Dashboards mit Bezug auf einen Kontext | vollständige Produkte mit eigener Oberfläche |

Beide authentifizieren sich auf dieselbe Weise: mit einem **kurzlebigen,
bereichsgebundenen Token**, serverseitig begrenzt durch den Geltungsbereich der
Installation **und** die aktuelle Sichtbarkeit des Betrachters. Ihre App sieht nie
mehr, als die Person, die sie nutzt, sehen kann — und der Zugriff erlischt in dem
Moment, in dem diese Person ihn verliert.

## Registrieren und entwickeln

1. Öffnen Sie **Entwickler → Apps** über das Benutzermenü.
2. Wählen Sie **App registrieren**: Vergeben Sie einen Namen, wählen Sie
   *Eingebettet* oder *Extern* und legen Sie URL, Icon und Berechtigungsstufe fest.
3. Speichern Sie **Client-ID und Secret** (werden nur einmal angezeigt).
4. **Laden Sie den SDK-Entwicklerleitfaden (.md) herunter** — der vollständige
   Vertrag: der iframe-Handshake, die Authentifizierung, die bereichsgebundene
   Daten-API, Testen und Veröffentlichen. Legen Sie ihn in Ihr Repository und
   entwickeln Sie mit Ihrem KI-Coding-Assistenten.
   Auch hier verfügbar: [SWEETHIVE_APP_SDK.md](/downloads/SWEETHIVE_APP_SDK.md).
5. Setzen Sie die App auf **Aktiv**, damit Hive-Administratoren sie über
   *Kontext → Apps → App hinzufügen* installieren können.

## So funktioniert der Standard

- **Eingebettete Apps** laufen in einem sandboxed iframe und erhalten ein
  kurzlebiges, bereichsgebundenes Token über einen `postMessage`-Handshake — niemals
  ein Cookie, daher funktioniert dies auch in den mobilen Apps. Ihre App muss
  zulassen, dass SweetHive sie einbettet (eine `frame-ancestors`-CSP, die die
  Origins der mobilen Apps einschließt — der SDK-Leitfaden nennt den genauen Header).
- **Externe Apps** öffnen sich unter ihrer eigenen URL mit einem signierten Start;
  auf Mobilgeräten öffnen sie sich im nativen In-App-Browser.
- Jeder Datenzugriff wird serverseitig durch den Geltungsbereich der Installation im
  Schnitt mit der aktuellen Sichtbarkeit des Betrachters begrenzt — dasselbe Gesetz,
  dieselbe Prüfung wie bei jedem anderen SweetHive-Akteur.

## Externe Apps und Hubs

Eine externe App ist ein vollständiges Produkt unter eigener URL. SweetHive
zeigt eine Start-Kachel; beim Klick öffnet sich die App mit einem **signierten
Start** und beginnt ihre eigene Sitzung — auf Mobilgeräten im nativen
In-App-Browser.

Externe Apps auf einer freigegebenen Origin können Nutzer auch direkt mit ihrem
SweetHive-Konto anmelden (**SSO**): Bei einer aktiven SweetHive-Sitzung wird
kein Passwort abgefragt; andernfalls meldet sich der Nutzer auf der
SweetHive-Anmeldeseite an und wird direkt in die App zurückgeleitet. Beantragen
Sie die Freigabe der Origin bei der Registrierung der App.

### Multi-Hive-Hubs: eine Shell, viele Apps

Ein Produkt, das mehrere Hives aus einer Oberfläche verwaltet, folgt dem
**Hub-Shell-Standard** — eine wiederverwendbare Shell, geformt durch ein
Manifest:

- Die **Shell** stellt einmalig für jede App bereit: SSO-Anmeldung, den
  Hive-Selektor oben rechts, Team- und Einladungsverwaltung, helles/dunkles
  Design und die einklappbare Seitenleiste.
- Das **Manifest** (mit der App-Registrierung gespeichert) deklariert die Marke
  und die Einträge des linken Panels. Jeder Eintrag öffnet eine in die Shell
  integrierte Ansicht oder — der entscheidende Teil — **eine beliebige
  eingebettete SweetHive-App, unverändert in einem Frame dargestellt**: ein
  Build bedient die Kontext-Oberfläche und den Hub.
- Der Hive-Wechsel setzt den Geltungsbereich neu: Die Shell löst die
  Installation der App im gewählten Hive auf und lädt die aktive Ansicht neu,
  sodass jeder Bildschirm dem Hive folgt — einschließlich leerer Zustände für
  Hives, in denen die App nicht installiert ist.

Der SDK-Leitfaden enthält den vollständigen Vertrag: das Manifest-Schema, den
Ansichten-Handshake und die Fallstricke.

## Testen und veröffentlichen

Registrieren Sie Ihre App mit einer localhost-URL und installieren Sie sie in einem
Testkontext — der Handshake liefert dann ein echtes bereichsgebundenes Token gegen
Ihre Daten. Wenn die App fertig ist, setzen Sie sie auf **Aktiv** — und deaktivieren
Sie sie jederzeit wieder; Installationen stoppen sofort.
