#Historique de Swift

Swift a été conçu pour remplacer Objective-C, le langage de programmation traditionnellement utilisé pour le développement d’applications iOS et macOS. L’objectif était de créer un langage plus moderne, sûr, rapide et convivial pour les développeurs.

💡 Le langage a été publié en tant que langage open source sous la licence Apache 2.0 en décembre 2015, ce qui a permis à la communauté des développeurs de contribuer à son développement et d’explorer ses fonctionnalités.

Swift a été annoncé par Apple le 2 juin 2014 lors de la WWDC.

#Evolution de Swift

Depuis son introduction, Swift a connu plusieurs versions majeures avec des améliorations significatives.

Ces mises à jour ont ajouté de nouvelles fonctionnalités, amélioré la performance du langage, et introduit des concepts de programmation modernes.

#Les paradigmes

Swift prend en charge plusieurs paradigmes de programmation, ce qui permet aux développeurs de choisir l’approche qui convient le mieux à leur application. Les principaux paradigmes pris en charge par Swift sont :

  • Programmation Orientée Objet (POO) : Swift utilise la programmation orientée objet pour organiser le code en utilisant des classes, des objets, et l’héritage. Cependant, il apporte des améliorations par rapport à Objective-C en introduisant des concepts plus modernes et en éliminant certaines des limitations de son prédécesseur.

  • Programmation Fonctionnelle : Swift encourage également la programmation fonctionnelle en offrant des fonctionnalités telles que les fonctions de première classe, les fonctions anonymes (closures), et le support pour les opérations sur les fonctions.

  • Programmation Protocole-Orientée (POP) : Swift introduit les protocoles, qui sont similaires aux interfaces dans d’autres langages, permettant la programmation par protocole et permettant une meilleure modularité et réutilisabilité du code.

On peut aussi parler d’autres paradigmes comme la programmation déclarative, la programmation générique, etc.

🤔 Plus de détails sur les paradigmes 6-Paradigmes en Swift

#Le typage fort

Swift est un langage à typage fort, ce qui signifie que le type d’une variable est connu à la compilation et ne peut pas être changé à l’exécution. Cela permet de détecter les erreurs de type à la compilation et d’améliorer la sécurité du langage.

#Comment ça compile tout ça ?

Swift utilise LLVM (Low-Level Virtual Machine) pour convertir le code source Swift en code machine exécutable. LLVM est un ensemble de technologies de compilation qui fournissent des optimisations de code, ce qui contribue à la performance du langage.

Just-In-Time (JIT) et Ahead-of-Time (AOT) Compilation : Swift prend en charge à la fois la compilation JIT et AOT. Le JIT est utilisé lors du développement pour fournir une rétroaction rapide, tandis que l’AOT est utilisé lors de la construction finale de l’application pour générer un code optimisé.

💡 Le compilateur Swift effectue des optimisations pour réduire la taille du code binaire et améliorer les performances de l’application, en utilisant des techniques telles que l’élimination des codes morts, l’inlining de fonctions, etc.

#Swift aujourd’hui

Swift est devenu le langage de programmation le plus populaire pour le développement d’applications iOS et macOS. Il est également utilisé pour le développement d’applications pour watchOS, tvOS, et Linux.

Swift fait parti des langages modernes comme Kotlin, Rust, Go, et Dart, qui sont de plus en plus populaires auprès des développeurs.

#Swift ServerSide

On peut utiliser Swift coté serveur, notamment avec des framework comme Vapor, ce qui permet d’exploiter les connaissances acquises sur iOS pour développer des applications web.

Mais franchement c’est pas non plus la meilleure idée du monde, vu la taille de la communauté limitée, il y a des langages bien plus adaptés pour le serveur comme Go, Rust, ou NodeJS.

#Quelques données