Pourquoi Swift n'est pas seulement pour le développement mobile ?
Quand on entend « Swift », la première association est les applications iOS. Mais ces dernières années, Swift s'impose avec confiance du côté serveur. Et ce n'est pas juste un effet de mode : Apple développe activement l'écosystème, et la communauté crée des frameworks puissants. Si vous écrivez déjà en Swift pour iOS et souhaitez élargir vos horizons — les microservices en Swift seront votre prochaine étape logique.
Pourquoi les microservices ? Parce que c'est le standard moderne de construction de backend : de petits services indépendants, faciles à mettre à l'échelle et à mettre à jour. Et Swift, avec ses performances, sa sécurité de typage et sa syntaxe concise, est parfaitement adapté. Dans cet article, nous allons voir par où commencer pour créer des microservices en Swift, écrire du code réel et lancer notre premier service.
Que faut-il savoir avant de commencer ?
Pour une lecture confortable, vous aurez besoin de :
- Connaissances de base en Swift (variables, fonctions, structures)
- Compréhension de HTTP et REST (au moins au niveau « il y a une requête — il y a une réponse »)
brewinstallé (pour macOS) ou Docker (pour Linux)
Si quelque chose vous manque — pas de panique, nous verrons cela en cours de route.
Choisir l'outil : Vapor — le roi du Swift serveur
Sur le marché des frameworks serveur pour Swift, il y a deux acteurs principaux : Vapor et Kitura (d'IBM). Mais Kitura, hélas, est presque figé. Alors que Vapor est activement développé, possède une immense communauté et une documentation complète. Donc notre choix est Vapor.
Vapor fournit tout ce dont vous avez besoin : routage, middleware, gestion des bases de données, WebSocket, asynchrone via async/await. Idéal pour construire une architecture microservices en Swift.
Installation de Vapor Toolbox
Ouvrez le terminal et exécutez :
brew install vaporAprès l'installation, vérifiez :
vapor --helpSi vous voyez la liste des commandes — tout va bien, vous pouvez créer votre premier projet.
Créer notre premier microservice : Hello, World!
Notre premier microservice sera simple : il acceptera une requête GET et retournera du JSON. Mais nous allons le faire correctement — avec une architecture prête à être étendue.
Étape 1. Créer le projet
vapor new HelloMicroservice --template=authcd HelloMicroserviceLe flag --template=auth ajoutera une structure de base avec authentification. Pour un microservice, c'est une bonne pratique — intégrer la sécurité dès le départ.
Étape 2. Structure du projet
Après la création, vous verrez cette structure :
HelloMicroservice/├── Sources/│ ├── App/│ │ ├── Controllers/│ │ ├── Models/│ │ └── configure.swift│ └── Run/│ └── main.swift├── Tests/├── Dockerfile└── Package.swiftNotez le Dockerfile — c'est déjà un modèle prêt pour la conteneurisation. Les microservices sans Docker, c'est comme une pizza sans fromage.
Étape 3. Écrire notre premier endpoint
Ouvrons Sources/App/Controllers/UserController.swift (s'il n'existe pas, créons-le). Ajoutons une méthode simple :
import Vapor
struct HealthController: RouteCollection { func boot(routes: RoutesBuilder) throws { let health = routes.grouped("api", "health") health.get(use: checkHealth) } @Sendable func checkHealth(req: Request) async throws -> HTTPStatus { return .ok }}C'est un health-check classique — la base de tout microservice. Maintenant, enregistrons-le dans configure.swift :
// à la fin de la fonction configuretry app.register(collection: HealthController())Étape 4. Lancer et tester
vapor runOuvrez le navigateur ou le terminal :
curl http://localhost:8080/api/health# Réponse : 200 OKFélicitations ! Vous v