Moderne
Swift est le résultat des dernières recherches sur les langages de programmation, combiné à des décennies dexpérience dans la création de plates-formes Apple. Les paramètres nommés sont exprimés dans une syntaxe propre qui rend les API de Swift encore plus faciles à lire et à maintenir. Mieux encore, vous n’avez même pas besoin de taper des points-virgules. Les types inférés rendent le code plus propre et moins sujet aux erreurs, tandis que les modules éliminent les en-têtes et fournissent des espaces de noms. Pour mieux prendre en charge les langues internationales et les emojis, les chaînes sont correctes Unicode et utilisent un codage basé sur UTF-8 pour optimiser les performances pour une grande variété de cas dutilisation. La mémoire est gérée automatiquement en utilisant un comptage de références strict et déterministe, en gardant lutilisation de la mémoire au minimum sans la surcharge du garbage collection.
Déclarez de nouveaux types avec des méthodes modernes et simples syntaxe. Fournissez des valeurs par défaut pour les propriétés doccurrence et définissez des initialiseurs personnalisés.
Ajoutez des fonctionnalités aux types existants à laide dextensions et réduisez le nombre standard dinterpolations de chaînes personnalisées.
Étendez rapidement vos types personnalisés à prendre avantage de fonctionnalités de langage puissantes, telles que le codage et le décodage JSON automatiques.
Effectuez de puissantes transformations personnalisées à laide de fermetures simplifiées.
Ces concepts avant-gardistes donnent un langage amusant et facile à utiliser.
Swift possède de nombreuses autres fonctionnalités pour rendre votre code plus expressif:
- Des génériques puissants et simples à utiliser
- Extensions de protocole qui rendre lécriture de code générique encore plus facile
- Fonctions de première classe et syntaxe de fermeture légère
- Itération rapide et concise sur une plage ou une collection
- Tuples et plusieurs valeurs de retour
- Les structures qui prennent en charge les méthodes, les extensions et les protocoles
- Les énumérations peuvent avoir des charges utiles et prendre en charge la correspondance de modèles
- Modèles de programmation fonctionnels, par exemple, mapper et filtrer
- Gestion des erreurs native à laide de try / catch / throw
Conçu pour la sécurité
Swift élimine des classes entières de code non sécurisé. Les variables sont toujours initialisées avant utilisation, les tableaux et les entiers sont vérifiés pour le débordement, la mémoire est gérée automatiquement et lapplication de laccès exclusif à la mémoire protège contre de nombreuses erreurs de programmation. La syntaxe est réglée pour faciliter la définition de votre intention – par exemple, de simples mots-clés à trois caractères définissent une variable (var) ou une constante (let). Et Swift exploite fortement les types de valeur, en particulier pour les types couramment utilisés tels que les tableaux et les dictionnaires. Cela signifie que lorsque vous faites une copie d’un élément de ce type, vous savez qu’il ne sera pas modifié ailleurs.
Une autre caractéristique de sécurité est que, par défaut, les objets Swift ne peuvent jamais être nuls. En fait, le compilateur Swift vous empêchera dessayer de créer ou dutiliser un objet nil avec une erreur de compilation. Cela rend lécriture de code beaucoup plus propre et plus sûre et empêche une énorme catégorie de plantages dexécution dans vos applications. Cependant, il existe des cas où zéro est valide et approprié. Pour ces situations, Swift dispose dune fonction innovante appelée option. Un optionnel peut contenir nil, mais la syntaxe Swift vous oblige à le gérer en toute sécurité en utilisant le? syntaxe pour indiquer au compilateur que vous comprenez le comportement et que vous le gérerez en toute sécurité.
Utilisez des options lorsque vous pourriez avoir une instance à renvoyer à partir dune fonction, ou pas.
Fonctionnalités comme la liaison facultative, le chaînage facultatif et la fusion nil vous permettent de travailler en toute sécurité et efficacement avec des valeurs optionnelles.
Rapide et puissant
Dès sa conception la plus ancienne, Swift a été conçu pour être rapide. En utilisant la technologie de compilateur LLVM incroyablement haute performance, le code Swift est transformé en code natif optimisé qui tire le meilleur parti du matériel moderne. La syntaxe et la bibliothèque standard ont également été ajustées pour que la manière la plus évidente décrire votre code fonctionne également au mieux, quelle sexécute dans la montre sur votre poignet ou sur un cluster de serveurs.
Swift est un successeur aux langages C et Objective-C. Il inclut des primitives de bas niveau telles que les types, le contrôle de flux et les opérateurs. Il fournit également des fonctionnalités orientées objet telles que des classes, des protocoles et des génériques, donnant aux développeurs Cocoa et Cocoa Touch les performances et la puissance dont ils ont besoin.
Great First Language
Swift peut ouvrir des portes dans le monde du codage. En fait, il a été conçu pour être le premier langage de programmation de nimporte qui, que vous soyez encore à lécole ou que vous exploriez de nouveaux cheminements de carrière. Pour les enseignants, Apple a créé un programme gratuit pour enseigner Swift à la fois dans et hors de la salle de classe. Les nouveaux codeurs peuvent télécharger Swift Playgrounds, une application pour iPad qui rend la prise en main du code Swift interactive et amusante.
Les développeurs dapplications en herbe peuvent accéder à des cours gratuits pour apprendre à créer leurs premières applications dans Xcode.Et les Apple Stores du monde entier hébergent Today at Apple Coding & des sessions Apps où vous pouvez acquérir une expérience pratique avec le code Swift.
En savoir plus sur les ressources éducatives Swift dApple
Compatibilité source et binaire
Avec Swift 5, vous navez pas à modifier votre code Swift 4 pour utiliser la nouvelle version du compilateur. Au lieu de cela, vous pouvez commencer à utiliser le nouveau compilateur et migrer à votre rythme, en profitant des nouvelles fonctionnalités de Swift 5, un module à la fois. Et Swift 5 introduit désormais la compatibilité binaire pour les applications. Cela signifie que vous navez plus besoin dinclure les bibliothèques Swift dans les applications qui ciblent les versions actuelles et futures du système dexploitation, car les bibliothèques Swift seront incluses dans chaque version du système dexploitation à lavenir. Vos applications exploiteront la dernière version de la bibliothèque dans le système dexploitation et votre code continuera à sexécuter sans recompilation. Cela simplifie non seulement le développement de votre application, mais réduit également la taille de votre application et son heure de lancement.
Open Source
Swift est développé en plein air chez Swift. org, avec le code source, un suivi des bogues, des forums et des versions de développement régulières disponibles pour tout le monde. Cette large communauté de développeurs, à la fois à lintérieur dApple et à des centaines de contributeurs externes, travaillent ensemble pour rendre Swift encore plus incroyable. Il existe un éventail encore plus large de blogs, de podcasts, de conférences et de rencontres où les développeurs de la communauté partagent leurs expériences sur la façon de réaliser le grand potentiel de Swift.
Cross Platform
Swift prend déjà en charge tous Plateformes Apple et Linux, avec des membres de la communauté qui travaillent activement pour porter sur encore plus de plates-formes. Avec SourceKit-LSP, la communauté travaille également à intégrer le support Swift dans une grande variété doutils de développement. Nous sommes ravis de voir de nouvelles façons dont Swift rend les logiciels plus sûrs et plus rapides, tout en rendant la programmation plus amusante.
Swift for Server
Alors que Swift alimente de nombreuses nouvelles applications sur les plates-formes Apple , il est également utilisé pour une nouvelle classe dapplications serveur modernes. Swift est parfait pour une utilisation dans les applications serveur nécessitant une sécurité dexécution, des performances compilées et une faible empreinte mémoire. Pour orienter Swift dans le développement et le déploiement des applications serveur, la communauté a formé le groupe de travail Swift Server. Le premier produit de cet effort a été SwiftNIO, une infrastructure dapplication réseau asynchrone multi-plateforme orientée événement pour les serveurs et clients de protocole haute performance. Il sert de base à la création doutils et de technologies supplémentaires orientés serveur, y compris la journalisation, les métriques et les pilotes de base de données qui sont tous en développement actif.
Pour en savoir plus sur la communauté open source Swift et le travail de Swift Server groupe, visitez Swift.org
Playgrounds et Read-Eval-Print-Loop (REPL)
Tout comme Swift Playgrounds pour iPad, les aires de jeux en Xcode permettent décrire du code Swift incroyablement simple et amusant. Tapez une ligne de code et le résultat apparaît immédiatement. Vous pouvez ensuite consulter le résultat du côté de votre code ou épingler ce résultat directement en dessous. La vue des résultats peut afficher des graphiques, des listes de résultats ou des graphiques dune valeur au fil du temps. Vous pouvez ouvrir lassistant de montage chronologique pour regarder une vue complexe évoluer et sanimer, idéal pour expérimenter avec un nouveau code dinterface utilisateur, ou pour lire une scène SpriteKit animée pendant que vous la codez. Lorsque vous avez perfectionné votre code dans la cour de récréation, déplacez simplement ce code dans votre projet. Swift est également interactif lorsque vous l’utilisez dans Terminal ou dans la console de débogage LLDB de Xcode. Utilisez la syntaxe Swift pour évaluer et interagir avec votre application en cours dexécution, ou écrivez un nouveau code pour voir comment cela fonctionne dans un environnement de type script.
Package Manager
Swift Package Manager est un seul outil multiplateforme pour créer, exécuter, tester et empaqueter vos bibliothèques et exécutables Swift. Les packages Swift sont le meilleur moyen de distribuer des bibliothèques et du code source à la communauté Swift. La configuration des packages est écrite dans Swift lui-même, ce qui facilite la configuration des cibles, la déclaration des produits et la gestion des dépendances des packages. Nouveauté de Swift 5, la commande swift run inclut désormais la possibilité dimporter des bibliothèques dans une REPL sans avoir besoin de créer un exécutable. Swift Package Manager lui-même est en fait construit avec Swift et inclus dans le projet open source Swift en tant que package.
Interopérabilité Objective-C
Vous pouvez créer une application entièrement nouvelle avec Swift aujourdhui, ou commencez à utiliser le code Swift pour implémenter de nouvelles fonctionnalités et fonctionnalités dans votre application. Le code Swift coexiste avec vos fichiers Objective-C existants dans le même projet, avec un accès complet à votre API Objective-C, ce qui facilite son adoption.