Swift From Scratch Introduction


En 2014, Apple a surpris la communauté des développeurs en introduisant Swift, un tout nouveau langage de programmation. Swift a parcouru un long chemin et il est difficile de croire que cette langue fête son troisième anniversaire cette année. Il y a quelques mois, Apple a publié Swift 3, une étape majeure pour la langue. Dans cette série, je vais vous apprendre les bases de Swift 3.

Swift se sent familier si vous avez utilisé Objective-C pour développer des applications iOS ou macOS, mais il existe un certain nombre de différences importantes. Je commencerai cette série en vous montrant en quoi Swift diffère d'Objective-C et pourquoi ces différences sont une bonne chose. Commençons.

1. Prérequis

La programmation

Tout au long de cette série, je fais référence à Objective-C et compare le langage de programmation Swift à Objective-C. Cependant, pour suivre, il y a pas besoin d'être familiarisé avec Objective-C.

Cela dit, il est important que vous ayez de l'expérience avec une langage de programmation. Bien que cette série se concentre sur Swift, elle ne couvre pas les bases de la programmation. Je m'attends à ce que vous connaissiez les variables, les constantes, les fonctions, le flux de contrôle et la programmation orientée objet.

Si vous connaissez Objective-C, Java, Ruby, PHP ou JavaScript, vous n'aurez aucun mal à comprendre les concepts expliqués dans cette série. En fait, vous remarquerez que Swift partage des similitudes avec un certain nombre de langages de programmation populaires, y compris Objective-C..

Xcode

Swift 3 est uniquement pris en charge par Xcode 8 et vous devez installer la dernière version de l'environnement de développement intégré (IDE) d'Apple pour suivre. Vous pouvez télécharger Xcode à partir de l'App Store ou du centre de développement Apple..

2. Swift

Comparé à Objective-C ou à Java, Swift est un langage expressif et succinct qui me rappelle souvent Ruby et JavaScript. Même si le créateur de Swift, Chris Lattner, s’est inspiré d’autres langues, Swift est vraiment une langue qui se tient debout toute seule..

Comme vous le savez peut-être, Objective-C est un sur-ensemble strict de C. Swift, cependant. Bien que Swift utilise des accolades et partage plusieurs mots-clés avec le langage de programmation C, il n’est pas compatible avec C.

Swift est un langage de programmation moderne et intuitif, en particulier si vous êtes habitué aux langages de programmation Java ou basés sur C tels que Objective-C. Au cours du développement et de la conception de Swift, Chris Lattner s'est concentré sur un certain nombre de caractéristiques clés qui ont fini par définir le langage..

sécurité

La sécurité est l'un des fondements de Swift. Dans cette série, vous apprenez rapidement que Swift est très différent d’Objective-C en termes de sécurité et que cela affecte directement le code que vous écrivez. Si vous avez travaillé avec Objective-C, il faut s’habituer à.

LLVM

Chris Lattner a également conçu le compilateur LLVM (machine virtuelle à bas niveau) et il ne devrait pas être surprenant que Swift soit construit avec le compilateur LLVM. Le résultat est vitesse, puissance et fiabilité. Swift est nettement plus rapide qu'Objective-C dans la plupart des scénarios. Lisez cet article de Jesse Squires si vous êtes intéressé par les détails essentiels..

Inférence de type

La sécurité des types est l’une des principales caractéristiques de Swift. Swift inspecte votre code au moment de la compilation et vous avertit des incohérences de types. Cela signifie que vous pouvez détecter les erreurs rapidement, en évitant les erreurs les plus courantes..

Heureusement, Swift vous aide à cela. Swift est souvent assez intelligent pour déduire le type de variables et de constantes, ce qui signifie que vous n'avez pas à déclarer explicitement le type de chaque variable ou constante. Dans l'extrait de code suivant, nous déclarons une variable une et lui attribuer la valeur "c'est une chaîne". Swift est assez intelligent pour déduire que une est de type Chaîne.

var a = "c'est une chaîne"

Ceci est un exemple trivial, mais vous découvrirez que Swift peut également gérer des scénarios plus complexes..

Variables et Constantes

Les constantes sont utiles en C et Objective-C, mais la plupart des développeurs les utilisent avec parcimonie. Dans Swift, les constantes sont tout aussi importantes et communes que les variables. Si la valeur d'une variable ne change pas, cette variable doit être une constante. Les variables sont déclarées à l'aide du var mot-clé. Les constantes sont déclarées à l'aide du laisser mot-clé.

var a = 1 // variable let b = 1 // constante

Cela améliore non seulement l'intention, mais améliore également la sécurité en garantissant que la valeur de la variable ne soit pas modifiée accidentellement. Nous examinons de plus près les variables et les constantes plus loin dans ce tutoriel..

Points-virgules

Dans Swift, les points-virgules ne sont pas nécessaires. Vous pouvez utiliser des points-virgules, par exemple, pour écrire plusieurs instructions sur la même ligne, mais elles sont facultatives. Jetez un coup d’œil à l’exemple suivant pour mieux comprendre l’utilisation des points-virgules dans Swift.

var a = 1 var b = 2 var c = 1; var d = 2;

Nous ne faisons que gratter la surface. Vous découvrirez de nombreuses autres fonctionnalités et concepts tout au long de cette série. Au lieu de vous surcharger de théorie, je vous suggère de vous mouiller les pieds en écrivant du code. Cela nous amène à l'une des meilleures fonctionnalités de Swift et Xcode: les terrains de jeu.

3. Aires de jeux

Apple a introduit les terrains de jeu dans Xcode 6. Les terrains de jeu sont l'outil idéal pour apprendre Swift. Un terrain de jeu est un environnement interactif dans lequel vous pouvez écrire Swift et voir immédiatement le résultat. L’apprentissage de Swift est non seulement plus amusant, mais il est beaucoup plus rapide et intuitif que la configuration d’un projet dans Xcode..

En fait, il est si facile de vous lancer et de créer votre premier terrain de jeu. Ouvrez Xcode 8 et sélectionnez Nouveau> Terrain de jeu…  du Fichier menu. Nommez le terrain de jeu et placez Plate-forme à iOS.

Indiquez à Xcode où vous souhaitez enregistrer le terrain de jeu et cliquez sur Créer. Au lieu de créer un projet avec un tas de fichiers et de dossiers, un terrain de jeu n’est rien de plus qu’un fichier avec un .Cour de récréation extension. Un terrain de jeu est plus qu'un dossier sous le capot, mais nous ne devons pas nous en inquiéter pour l'instant..

L'interface utilisateur qui vous est présentée ne pourrait être plus simple. Sur la gauche, vous voyez un éditeur de code avec un commentaire en haut, une instruction d'importation pour importer le framework UIKit et une ligne de code qui ne devrait pas être trop difficile à comprendre. À droite, vous voyez la sortie ou les résultats générés par le code à gauche..

Prenons un moment pour comprendre le code dans votre nouveau terrain de jeu. La première ligne devrait vous paraître familière si vous avez déjà utilisé Objective-C, PHP ou JavaScript. Les commentaires dans Swift commencent par deux barres obliques ou, dans le cas de commentaires multilignes, par / * et se termine par * /.

Parce que nous avons sélectionné iOS En tant que plate-forme lors de la création du terrain de jeu, Xcode a ajouté une instruction d'importation pour le framework UIKit. Cela nous donne accès à tous les symboles définis dans le framework UIKit.

La troisième ligne semble familière, mais quelques détails doivent être clarifiés. Nous déclarons une variable str et lui assigner une chaîne. Cette ligne de code est facile à comprendre, mais notez que le nom de la variable est précédé du var mot-clé au lieu du type de variable, comme vous le souhaiteriez dans Objective-C. La même déclaration en Objective-C ressemblerait à ceci.

NSString * str = @ "Hello, playground";

En Objective-C, nous remplacerions le var mot-clé avec le type de la variable, préfixez la chaîne avec un @ symbole et terminez la déclaration par un point-virgule. Il est important de comprendre que le var le mot clé ne remplacer le spécificateur de type dans Objective-C. Ce n’est rien de plus qu’un mot-clé pour indiquer que str est une variable, pas une constante. 

Laissez-moi vous expliquer cela plus en détail. Ajoutez la ligne de code suivante au terrain de jeu.

let hello = "Hello, playground"

le laisser mot-clé dit au compilateur que Bonjour est une constante, pas une variable. Tous les deux str et Bonjour sont de type Chaîne, mais str est une variable et Bonjour est une constante. La différence est simple à comprendre si on ajoute deux lignes de code supplémentaires.

str = "Ceci est une variable." Bonjour = "Ceci est une constante."

Assigner une nouvelle valeur à str ne pose pas de problème. Assigner une nouvelle valeur à Bonjour, cependant, entraîne une erreur. Xcode nous dit qu'il ne peut pas assigner un Nouveau valeur à Bonjour, parce que Bonjour est une constante, pas une variable. Ceci est une autre caractéristique clé de Swift, qui prendra un certain temps pour s’habituer à.

L'idée est simple. Si la valeur d'une variable ne va pas changer, il devrait alors s'agir d'une constante plutôt que d'une variable. Bien que cela puisse paraître comme un détail sémantique, je vous garantis que cela rend votre code plus sûr et moins sujet aux erreurs. Soyez prêt, car vous allez voir le laisser mot-clé beaucoup dans cette série.

Nous utilisons beaucoup les terrains de jeu tout au long de cette série, car c’est un excellent moyen d’apprendre la langue. Il y a quelques autres fonctionnalités puissantes que nous n'avons pas encore décrites, mais nous devons d'abord comprendre les bases de la langue Swift avant de pouvoir en tirer profit..

Conclusion

Je dois encore rencontrer un développeur qui n'aime pas Swift, ce qui en dit long. Swift propose un certain nombre de concepts auxquels il est nécessaire de s'habituer, mais je suis convaincu que vous finirez également par l'apprécier et apprécier son pouvoir, son élégance et sa concision. Dans le prochain épisode de cette série, nous commencerons à explorer les bases de Swift.

Apprendre Swift

Nous avons créé un guide complet pour vous aider à apprendre Swift, que vous commenciez juste à vous familiariser avec les bases ou que vous souhaitiez explorer des sujets plus avancés..

Si vous souhaitez utiliser rapidement la langue Swift, consultez notre cours sur la création d'applications iOS avec Swift..

Ou consultez nos autres tutoriels et cours sur le développement Swift et iOS!