/

Terug

Strapi Swift

Een open-source Swift package die communicatie met Strapi REST API’s vereenvoudigt, gebruikt in echte iOS-apps zoals Wishflow.

Periode

feb 2025 - mrt 2025

Strapi Swift

Overview

StrapiSwift is een open-source Swift package die gestructureerde en type-veilige communicatie met Strapi REST API’s mogelijk maakt. Het is gebouwd bovenop URLRequest en Codable, en sluit volledig aan bij de native Swift-architectuur.

De package ondersteunt de standaard Strapi REST API plugin en legt de focus op eenvoud, flexibiliteit en sterke typing. Strapi Swift wordt verspreid via Swift Package Manager en is publiek beschikbaar op GitHub onder de Apache 2.0 licentie.

Strapi Swift wordt actief gebruikt in de open-source iOS-app Wishflow, waar het de volledige communicatie met de Strapi-backend verzorgt, inclusief authenticatie, contentbeheer en media uploads. Wishflow dient als een concrete referentie-implementatie van de package in een echte applicatie.

Challenge

Communicatie tussen een native iOS-app en een Strapi-backend vereist doorgaans veel repetitieve netwerkcode, manuele tokenverwerking en custom parsing van responses. Ontwikkelaars moeten request-configuratie, JWT-authenticatie en JSON-mapping zelf implementeren.

Zonder een gestandaardiseerde oplossing leidt dit tot dubbele logica, inconsistente implementaties en een hogere onderhoudslast. Functionaliteiten zoals authenticatie, media uploads en dynamische query parameters maken de netwerklayer bovendien complexer.

Solution

StrapiSwift abstraheert deze complexiteit door een duidelijke en modulaire API-laag aan te bieden:

  • Configuratie Centrale configuratie van base URL en tokenbeheer, inclusief ondersteuning voor tijdelijke tokens.

  • Content Manager Volledige CRUD-functionaliteit voor collecties en individuele documenten, met ondersteuning voor filtering, sortering, populate, veldselectie, paginatie, locale en status.

  • Authenticatie (Local Provider) Ondersteuning voor registratie, login, profielupdates, wachtwoordwijzigingen en het ophalen van de huidige gebruiker. Custom endpoints kunnen uitgebreid worden ondersteund.

  • Media Library Ophalen van bestanden, ophalen van individuele media, uploaden van afbeeldingen (via UIImage of URL) en verwijderen van media.

Alle requests maken gebruik van Swift’s async/await systeem, wat zorgt voor moderne concurrency, leesbare code en sterke typeveiligheid.

De Wishflow app gebruikt Strapi Swift als centrale netwerklayer en toont hoe authenticatie, contentbeheer en mediafunctionaliteit op een schaalbare en onderhoudbare manier geïntegreerd kunnen worden.

Results

Strapi Swift biedt:

  • Een herbruikbare en modulaire netwerklayer voor Strapi-gebaseerde iOS-apps
  • Minder boilerplate code door type-veilige request- en responseverwerking
  • Een duidelijke scheiding tussen frontend en backend communicatie
  • Volledige open-source beschikbaarheid en uitbreidbaarheid
  • Een praktijkvoorbeeld via de open-source Wishflow app

Hierdoor vormt Strapi Swift een schaalbare en betrouwbare basis voor iOS-applicaties die gebruikmaken van een Strapi-backend.