Kontakt →

Open Source · Audio · 2024

FLACidal Mobile

FLAC auf Android & iOS

Mobile Version von FLACidal. FLAC direkt von Tidal & Qobuz auf das Smartphone herunterladen. Gleicher Go-Core via FFI, natives Flutter-Interface.

Kontext

Als FLACidal Desktop funktionierte, stellte sich die Frage: Wie den gleichen Go-Backend teilen, ohne alles neu zu schreiben? Antwort: den Core als Shared Library kompilieren und via FFI aus Flutter aufrufen.

Mein Beitrag

  • FLAC-Download von Tidal und Qobuz
  • Natives Flutter-Interface für Android & iOS
  • Geteilter Go-Core via FFI — keine Logik-Duplizierung
  • Go ↔ Flutter-Kommunikation via JSON-RPC
  • Gleiche Download-Engine wie die Desktop-Version

// technische Herausforderung

Die FFI-Schicht zwischen Go und Flutter ist das kniffligste: JSON-RPC-Serialisierung, Thread-Verwaltung und Cross-Platform-Kompilierung einer Go-Lib als .so (Android) und .a (iOS).