SWIFT Code » Chapitre 1 : Bienvenue à Swift http://www.swiftcode.fr Apprendre le langage Apple SWIFT pour Mac et iOS Thu, 05 Jun 2014 19:43:37 +0000 fr-FR hourly 1 http://wordpress.org/?v=3.9.1 L’avènement de Swift http://www.swiftcode.fr/avenement-swift/ http://www.swiftcode.fr/avenement-swift/#comments Mon, 02 Jun 2014 20:36:32 +0000 http://www.swiftcode.fr/?p=305 Le 2 juin 2014 à 19h, heure française, démarrait comme chaque année à la même période, une nouvelle édition de la WWDC. Prévu à l’attention des développeurs, cette conférence estivale allait bouleverser complètement les habitudes des développeurs iOS. À l’annonce de la sortie d’iOS 8, le PDG d’Apple en profite pour présenter la langage Swift, […]

The post L’avènement de Swift appeared first on SWIFT Code.

]]>
Le 2 juin 2014 à 19h, heure française, démarrait comme chaque année à la même période, une nouvelle édition de la WWDC. Prévu à l’attention des développeurs, cette conférence estivale allait bouleverser complètement les habitudes des développeurs iOS.

À l’annonce de la sortie d’iOS 8, le PDG d’Apple en profite pour présenter la langage Swift, un tout nouveau langage de programmation conçu pour remplacer le vieillissant Objective-C. Annoncé comme 3,5x plus rapide que l’Objective-C, Swift présente en plus l’avantage d’être plus léger, plus moderne et beaucoup plus accessible.

Cette nouvelle apporte son lot de réjouissances et de technologies mais présente tout de même un gros défaut, il va falloir tout réapprendre ! Pas tant que ça au final puisque le langage Swift semble s’inspirer de son prédécesseur mais de nouvelles choses ont été introduite, il va quand même falloir se replonger dans la documentation histoire d’être à jour. Un coût de formation que les entreprises vont devoir prendre en compte mais qui servira sans doute asseoir la suprématie d’Apple dans la bataille des applications en proposant une vitesse d’exécution jusqu’ici inégalée.

Outre ce petit détail, il y a fort à parier qu’Apple souhaite recréer un engouement autour du développement iOS en incitant de nouveaux développeurs encore jeune et inexpérimentés à tenter l’expérience Swift et à passer sur côté de la pomme.

Quoi-qu’il en soit, bienvenue à tous mes visiteurs sur ce site ! Il est là pour vous accompagner tout en douceur et vous aider à créer votre première application avec Swift et à appréhender ce nouveau langage. Si vous n’avez aucune expérience en programmation, pas d’inquiétude, nous partirons de zéro pour avancer progressivement au fil des différents chapitres qui composent ce cours.

The post L’avènement de Swift appeared first on SWIFT Code.

]]>
http://www.swiftcode.fr/avenement-swift/feed/ 1
À propos de Swift http://www.swiftcode.fr/propos-swift/ http://www.swiftcode.fr/propos-swift/#comments Mon, 02 Jun 2014 19:19:13 +0000 http://www.swiftcode.fr/?p=309 Swift est un nouveau langage de programmation pour iOS et les applications Mac OS X, conçu à partir du meilleur de C et d’Objective-C sans les contraintes de compatibilités associées. Swift adopte des modèles de programmation sécurisé et rajoute des fonctionnalités modernes pour faciliter la programmation. Plus de plaisir, plus de souplesse, plus de fun […]

The post À propos de Swift appeared first on SWIFT Code.

]]>
Swift est un nouveau langage de programmation pour iOS et les applications Mac OS X, conçu à partir du meilleur de C et d’Objective-C sans les contraintes de compatibilités associées. Swift adopte des modèles de programmation sécurisé et rajoute des fonctionnalités modernes pour faciliter la programmation. Plus de plaisir, plus de souplesse, plus de fun !

Swift fait table rase du passé, inspiré par le tant aimé Cocoa et son framework Cocoa Touch, il est une opportunité de réimaginer le travail d’un développeur de logiciel.

Le langage Swift a été imaginé il y a déjà quelques années. Son fondement est forgé autour des avancés du compilateur existant, du debugger et de l’infrastructure de certains frameworks. La gestion de la mémoire est simplifiée grâce au comptage automatique de références (CAR). Les outils, construits en s’inspirant des solides bases que sont Foundation et Cocoa, ont été modernisés et standardisés. L’objective-C lui-même a su évoluer sans interruption pour supporter les blocs, les collections littérales et les modules au fur et à mesure de l’évolution des frameworks. Merci à ce travail de fond, qui permet maintenant d’introduire un nouveau venu dans les langage de programmation et pour le futur du développement logiciel chez Apple.

Swift apparaitra familier aux développeurs Objective-C. Il adopte la lisibilité de l’Objective-C et la puissance de ses objets dynamiques. Il s’adapte de façon transparente aux frameworks Cocoa existants et son code est interprétable avec de l’Objective-C. Fabriqué de sources communes, Swift introduit de nouvelles fonctionnalités et unifie les portions procédurales et orientée objet de ces langages.

Swift est également facile d’accès pour les nouveaux programmeurs. Il est le premier langage de programmation système aussi intuitif et accessible qu’un langage de script. Il apporte d’innovantes fonctionnalités comme par l’exemple la possibilité de prévisualiser immédiatement, sans la contrainte de la compilation, son application en cours de développement.

Swift combine le meilleur de la programmation moderne et de la culture Apple. Le compilateur est optimisé pour la performance et le langage est optimisé pour le développement, sans compromis chez l’un ou l’autre. Il a été conçu pour passer d’un simple « Hello World » a un système d’exploitation complet. Quoiqu’il en soit Swift sera et restera un investissement aussi bien pour les développeurs que pour Apple.

Swift est une façon fantastique de développer une application iOS ou OS X, et il continuera d’évoluer au fil du temps avec de nouvelles fonctionnalités et capacités. Le but de Swift est ambitieux, alors allez y créer autant que vous le voulez et réaliser vos ambitions sans limites !

The post À propos de Swift appeared first on SWIFT Code.

]]>
http://www.swiftcode.fr/propos-swift/feed/ 2
Un petit tour de Swift http://www.swiftcode.fr/petit-tour-swift/ http://www.swiftcode.fr/petit-tour-swift/#comments Mon, 02 Jun 2014 19:04:30 +0000 http://www.swiftcode.fr/?p=314 La tradition veut que lorsque l’on démarre l’apprentissage d’un nouveau langage l’on commence par le fameux « Hello, World ». Avec Swift, vous pouvez vous en sortir en seulement une seule ligne : println("Hello, world") Si vous avez déjà écrit quelques lignes de codes en C ou en Objective-C, cette syntaxe devrait vous sembler familière. Dans Swift, […]

The post Un petit tour de Swift appeared first on SWIFT Code.

]]>
La tradition veut que lorsque l’on démarre l’apprentissage d’un nouveau langage l’on commence par le fameux « Hello, World ». Avec Swift, vous pouvez vous en sortir en seulement une seule ligne :

println("Hello, world")

Si vous avez déjà écrit quelques lignes de codes en C ou en Objective-C, cette syntaxe devrait vous sembler familière. Dans Swift, cette seule ligne de code est un programme complet. Vous n’avez pas besoin d’importer une librairie additionnelle pour des fonctionnalités comme Input/Output ou la gestion des chaînes de caractères. Le code est écrit de façon globale pour tout le programme et est utilisé comme point d’entrée pour le programme, du coup vous n’avez plus besoin de la fonction main. Vous n’avez également plus besoin d’ajouter une virgule ou un point-virgule à la fin d’une déclaration.

Ce petit tour vous donne assez d’information pour démarrer l’écriture du code avec Swift en présentant les différentes façons d’accomplir une très grande variété de tâches dans vos programmes. Pas d’inquiétude si vous ne comprenez pas tout dans ce chapitre, chaque élément sera expliqué en détail dans le reste de ce tutoriel.

Pour une meilleure expérience, parcourez ce chapitre en exécutant Xcode en tâche de fond. Il vous permettra de tester les bouts de codes et d’apprécier leurs résultats immédiatement.

Valeurs simples

Utilisez let pour initier une constante et var pour déclarer une variable. La valeur d’une constante n’a pas besoin d’être connue au moment de la compilation mais vous devez lui assigner une valeur exacte au départ. Ce qui signifie que vous pouvez utiliser les constantes pour nommer une valeur et l’utiliser ensuite à de nombreux endroits.

var maVariable = 42
maVariable = 50
let maConstante = 42

Une constante ou une variable doivent avoir le même type que la valeur que vous lui assignez. Cependant, vous n’aurez pas toujours besoin d’indiquer le type de façon explicite. Fournir une valeur lorsque vous créez une constante ou une variable permet au compilateur de déduire son type. Dans l’exemple ci-dessus, le compileur sait que maVariable est un intégral parce-que sa valeur est un intégral (un nombre entier).

Si la valeur initiale ne présente pas suffisamment d’information (ou bien qu’il n’y a pas de valeur initiale), vous devez spécifiez le type en l’indiquant après la variable, séparé par deux points.

let impliciteIntegral = 70
let impliciteDouble = 70.0
let expliciteDouble: Double = 70

Exercice : Créez une constante avec le type explicite Float et la valeur 4.

Les valeurs ne sont jamais implicitement converties dans un autre type. Si vous avez besoin de convertir une valeur dans un autre type, vous devez explicitement créer une instance du type désiré.

let label = "La largeur est "
let largeur = 94
let largeurTotale = label + String(largeur)

Exercice : Essayer de supprimer le paramètre de conversion String de la dernière ligne. Quelle erreur obtenez-vous ?

Il y a une façon beaucoup plus simple de transformer les valeurs en chaîne de caractères : Écrire la valeur entre parenthèses et précéder ces parenthèses d’un anti-slash. Par exemple :

let pommes = 3
let oranges = 5
let pommesTotal = "Je possède \(pommes) pommes."
let fruitsTotal = "Je possède \(pommes + oranges) fruits en tout."

Exercice : Utilisez () pour inclure une virgule flottante dans un calcul avec une chaîne de caractère.

On utilise les crochets ([ ]) pour créer des tableaux et des dictionnaires, et on accède à leurs éléments en indiquant la clé ou l’index entre crochets.

var shoppingList = ["poisson", "eau", "tulipes", "peinture bleue"]
shoppingList[0] = "Saumon"
shoppingList[1] = "bouteilles de Vittel"

var metiers = [
    "Alexandre": "Capitaine",
    "Kevin": "Mécano",
]

metiers["Jeanne"] = "Relations publiques"

Pour créer un tableau ou un dictionnaire vide, utilisez la syntaxe d’initialisation.

let nouveauTableau = String[]()
let nouveauDictionnaire = Dictionary<String, Float>()

Si le type de l’information peut être déduite par le compileur, vous pouvez initier un tableau vide avec [ ] et un dictionnaire vide avec [ : ]

shoppingList = []   // Je peux acheter n'importe quoi.

Contrôle des flux

La gestion des conditions s’effectue avec if et switch et les boucles avec for-in, for, while et do-while. Les parenthèses autour des conditions et des boucles sont optionnelles. En revanche, les accolades autour du corps de la boucle ou de la condition sont indispensables.

let individuelScore = [75, 43, 103, 87, 12]
var equipeScore = 0
for score in individuelScore {
    if score > 50 {
        equipeScore += 3
    } else {
        equipeScore += 1
    }
}
equipeScore

Dans le cas d’un if, la condition doit être une expression booléenne. Ce qui veut dire qu’un code du type if score {...} est une erreur, ce n’est pas une comparaison implicite à zéro.

Vous pouvez utiliser if et let ensemble pour pallier au problème. Ces valeurs sont présentés comme optionnelles. Une valeur optionnelle contient une valeur ou contient nil pour indiquer l’absence de valeur. Pour indiquer qu’une valeur est optionnelle, on utilise le point d’interrogation.

var optionalString: String? = "Hello"
optionalString == nil
 
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}

Exercice : Changez optionalName par nil. Quelle salutation recevez-vous ? Ajoutez une clause else pour configurer une salutation différente si optionalName vaut nil.

Si la valeur optionnelle est nil, la condition est false et le code entre les accolades est ignoré. Par ailleurs, la valeur optionnelle est extraite et assignée à la constante après let, ce qui fait que la valeur devient disponible à l’intérieur du bloc de code.

Les switches supportent n’importe quel type de données et une grande variété d’opérateur de comparaison, ils ne sont pas uniquement limités aux intégrales et aux tests d’égalités.

let vegetable = "poivre rouge"
switch vegetable {
case "céleri":
    let vegetableComment = "Ajouter quelques raisins."
case "concombre", "salade":
    let vegetableComment = "Ça devrait faire un bon sandwich."
case let x where x.hasSuffix("poivre"):
    let vegetableComment = "On sent les épices \(x)?"
default:
    let vegetableComment = "Tout a bon goût dans la soupe."
}

Exercice : Essayez d’enlever le case par défaut. Quelle erreur obtenez-vous ?

Après avoir exécuté le code dans le switch case qui a répondu, le programme sort de la boucle conditionnelle. L’exécution du programme ne continue pas avec le case suivant, il est donc inutile d’indiquer un break à la fin de chaque case.

The post Un petit tour de Swift appeared first on SWIFT Code.

]]>
http://www.swiftcode.fr/petit-tour-swift/feed/ 2
Introduction à Swift http://www.swiftcode.fr/introduction-swift/ http://www.swiftcode.fr/introduction-swift/#comments Mon, 02 Jun 2014 11:15:25 +0000 http://www.swiftcode.fr/?p=344 Swift est un nouveau langage de programmation pour le développement d’application iOS et Mac OS X. Néanmoins, certaines parties du langage Swift seront familière si vous avez déjà une expérience dans le développement C et Objective-C. Swift fourni tous ses propres versions des types fondamentaux du C et de l’Objective-C, incluant Int pour les intégrales, […]

The post Introduction à Swift appeared first on SWIFT Code.

]]>
Swift est un nouveau langage de programmation pour le développement d’application iOS et Mac OS X. Néanmoins, certaines parties du langage Swift seront familière si vous avez déjà une expérience dans le développement C et Objective-C.

Swift fourni tous ses propres versions des types fondamentaux du C et de l’Objective-C, incluant Int pour les intégrales, Double and Float pour les nombres à virgule flottante, Bool pour les valeurs booléennes et String pour les données textuelles. Swift fourni aussi une version puissante des deux principaux types de collection, Array et Dictionary pour les tableaux et les dictionnaires.

Comme le C, Swift utilise les variables pour stocker et se référer aux valeurs identifiées par leur nom. Swift permet aussi l’utilisation des variables dont les valeurs ne peuvent pas être changées. Aussi appelée constantes, elles sont plus puissantes que dans la langage C. Les constantes sont utilisées partout avec Swift pour obtenir un code clair et sans faille de sécurité dans la mesure où vous travaillez avec des valeurs qui n’ont pas besoin d’être modifiées.

En supplément des types familiers, Swift introduit d’autres types avancés que ne possède pas l’Objective-C. Il s’agit notamment de tuples (listes non-mutables), qui vous permettent de créer et de passer par des regroupements de valeurs. Les Tuples peuvent retourner de multiples valeurs depuis une fonction comme une valeur unique composée.

Swift introduit aussi les types optionnels, qui acceptent l’absence de valeur. Les types optionnels fonctionnent de la façon suivante : « Il y a une valeur et elle est égale à x (ou x est une inconnue) » ou « Il n’y a pas de valeur du tout ». Utiliser un type optionnel revient à utiliser nil avec des pointeurs en Objective-C, mais cette fois ils marchent avec n’importe quel type, pas juste les classes. Ils sont plus sécurisés et plus expressifs que les pointeurs nil en Objective-C et sont le coeur de nombreuses fonctionnalités plus puissantes les unes que les autres du langage Swift.

Les types optionnels sont un exemple qui définit Swift comme un langage aux types sécurisés. Swift vous aide à être clair dans le typage des valeurs qui sont attendue pour un code fonctionnel. Si une partie de votre code attend une chaine de caractère (String), le typage sécurisé vous prévient si par erreur vous avez typé votre variable comme un Int. Cela permet de déceler et de réparer les erreurs très rapidement dans votre processus de développement.

The post Introduction à Swift appeared first on SWIFT Code.

]]>
http://www.swiftcode.fr/introduction-swift/feed/ 0