Apple a profité d’une conférence dédiée à Swift qui se déroule en ce moment même à Tokyo pour présenter son dernier projet open-source, SwiftNIO. Il s’agit d’un framework de bas niveau, évidemment écrit en Swift et destiné aux serveurs. Il ne servira pas à écrire un site ou même un service web, mais plutôt une base que les frameworks de haut niveau en Swift, comme Perfect ou Vapor, peuvent utiliser.
SwiftNIO est présenté par son concepteur comme l’équivalent de Netty, mais développé en Swift plutôt qu’en Java. Pour faire simple, cet outil sert de base pour développer des applications dédiées aux serveurs dans le nouveau langage d’Apple. Il prend en charge les connexions, les « entrées et sorties » (IO) qui sont indispensables sur un serveur, et il le fait sans attendre une réponse. C’est un point important pour améliorer les performances dans ce domaine : si le serveur doit attendre une réponse pendant plusieurs secondes, il bloque toute l’application et il fonctionne au ralenti.
Le nouvel outil d’Apple envoie ses requêtes et continue de travailler sans attendre la réponse, c’est le noyau du système d’exploitation qui l’informera quand une réponse a été obtenue, pour qu’il puisse agir derrière. Ce fonctionnement promet de bien meilleures performances et puisque cette brique est fournie par Apple, on imagine qu’elle deviendra vite très populaire. Ajoutons que le constructeur avait promis courant 2016 de s’impliquer directement dans le domaine, c’est l’une des concrétisations de cette promesse, mais sans doute pas la dernière.
Si vous développez sur le serveur en Swift, vous trouverez les explications complètes et le code source sur GitHub. SwiftNIO est compatible au minimum avec macOS 10.12 et surtout Ubuntu 14.04, distribution Linux très utilisée sur les serveurs.