Développez autrement avec Swift

  • Auteur de la discussion Auteur de la discussion delete221380
  • Créé le Créé le
Statut
N'est pas ouverte pour d'autres réponses.
Un sujet maitrisé de A à Z :membre:

Une présentation digne d'un journaliste, bluffé, tout simplement.
 
Dernière édition:
Best rédaction de :RG: : )
 
Nouveau langage veut dire nouveau jailbreak.
 
GG ma bibiche très instructif :nerd:
 
Énorme rédaction, franchement bravo à toi !
 
Je vais vous préparé un épisode 2 plus complet avec des choses plus concrètes, il fallait bien commencer par les bases :) Vu les retour que j'ai ça fait plaisir de passer du temps à vous partager des choses :)
 
Nan pèche quand j'y pense ton topic est drôlement propre :o , on dirait le site Apple, sa fait stylez :hug:
 



1426195380-1426182709-triple-icones-dev.png



Développement iOS et OSX.
Développez autrement avec Swift sous Xcode


Swift, nouveau langage de programmation crée par Apple, introduit il y a peu de temps
il va petit à petit remplacé l'Objective-C dans la création d'applications sur les différents OS de
la firme à la pomme. Nous allons voir ensemble les rudiments de ce langage ainsi que des exemples
concrets d'applications fonctionnelles.


1425763289-statsdev.png



Vous devez être inscrit pour voir les médias





appstore_icon_large.png


L'architecture.
Une étape simple mais primordiale


Beaucoup de personnes l'oublient mais l'architecture, le plan et l'organisation de votre
application joue un grand rôle dans le développement. On ne peux pas partir comme ça avec une
simple idée en tête, il faut réfléchir avant. Surtout que ce soit sur les OS d'Apple ou de Microsoft on
nous propose des outils toujours plus performant et puissant, ça serait dommage de s'en priver.

Il n'y a pas grand chose à dire à propos de l'architecture, nous allons voir le reste dans la création
du projet Xcode, ce sont uniquement des choix stratégiques au final.





tools_xcode_large.png


Le code, tout un art.
Rentrons dans le vif du sujet


Déjà je pense que vous avez tous déjà entendu parler d'applications Cocoa, c'est un pré-requis pour
comprendre ce qui va suivre. Dans tout les cas pour commencer vous allez devoir installer Xcode,
il est disponible sur le Mac App Store gratuitement.
Je vais revenir un peu sur le choix stratégique que j'avais évoqué plus haut, que ce soit avec Swift
ou en Objective-C c'est les mêmes choix, vous allez devoir choisir la cible visée (version) que ce soit
pour iOS comme pour OSX, donc choisissez bien, généralement la majorité des utilisateurs sont en
dernières versions de leurs OS donc c'est pas trop un problème.


________________________________________________________________________________________________

I : Les rudiments du langage Swift : Viariables, constantes....

Bon c'est un passage lourd mais obligatoire, comme pour tout langage il y a forcément des bases et notions
à apprendre. On va commencer doucement avec les constantes et les variables
Que ce soit une constante ou bien une variable vous devez dans tout les cas les déclarées au préalable.
let = Constante (ne peut pas bouger); var = Variable (peut être modifiée)

1425900162-constante.png


Après chaque constante ou variable vous lui assignez une valeur, dans le cas de la variable on indique une
valeur de départ puisque ce ne sera pas constant.

Vous pouvez déclarer plusieurs variables en une seule ligne comme ceci


1425900272-varinline.png


Pour le moment on a simplement déclarer des variables et modifier leurs valeurs par rapport à celle de départ
il est également possible d'annoter un type de variable bien définit pour éviter les confusions.
Annoter une variable ou une constance se passe dès sa déclaration et c'est pas quelque chose de bien
compliqué.

1425900426-annotationstring.png


On est pas obligé d'annoter la variable puisque le compilateur sera capable de détecter lui même une
chaine de caractères et d’annoter : String derrière la chaine. Rien ne vous interdit de le faire. À l'issue d'une
fonction il vous est toujours possible de modifier la valeur d'une variable, il suffit d'indiquer la variable et de lui
fournir une nouvelle valeur tant qu'elle soit du même type, String/String, Integer/Integer etc...

Vous pouvez également utiliser le nom que vous voulez pour vos variables, même les caractères spéciaux
sont autorisés, je vous laisse mettre ce que vous voulez mais pourquoi pas.

1425900726-specialcaracter.png


Bon c'est bien de pouvoir nommer, assigner une valeur et annoter une variable mais il faudrait tout de
même la récupérer pour l'afficher dans une zone de texte ou une boite de dialogue.


1425900805-printvar.png


En faisant un appel à la fonction println vous pouvez retourner le contenu d'une variable, dans mon cas
je demande ma variable testMessage, le résultat m'affichera "SwiftTest". Comme tout les autres langages vous
pouvez demander d'afficher plusieurs choses, comme "Voici le résultat : + result"

1425900948-chaine-var.png


Pour la syntaxe, techniquement une instruction de fin de commande ";" serait attendu, pour une action
simple qui est contenu sur une seule ligne de code il n'y a pas besoin, mais par exemple
vous déclarez une variable et juste après sur la même ligne vous demandez sa valeur il faudra donc dans ce
cas séparer les deux actions par un ";"

1425901139-pointvirugle.png


Là nous avons vu les nombre entier et les chaines de caractères mais c'est encore un peu différent pour les
nombres à virgule flottantes. Forcément les nombres fractionnés ont une porté bien plus large comparé

aux entiers. Là il peut être utile de préciser le type de variable avec Float ou Double


Float : représente un nombre à virgule en 32 bits. (Plage : -3.4*10^-38 à 3.4*10^38) Octets : 4
Double : représente un nombre à virgule en 64 bits (Plage : -1.7*10^-308 à 1.7*10^308) Octets : 8
Long Double : Plus grande plage (Plage : -3.4*10^-4932 à 3.4*10^4932) Octets : 10


Je vais tout de même vous faire un rappel des types pour les nombres entiers


Uint : Entier non signé 32 bits
Uint64 : Entier non signé 64 bits
Int32 : Entier signé 32 bits
Int64 : Entier signé 64 bits
Long Int : Entier long (Plage : -3.4*10^-4932 à 3.4*^104932) Octets : 4


Si votre projet est un partage, n'hésitez pas a décrire vos actions ou a les commenter directement dans
le code source avec un simple commentaire, il existe 2 façons de mettre un commentaire dans votre code
soit un commentaire fait sur une seule ligne de cette façon :

1425901378-onelinecomment.png


Soit si vous pensez occuper plusieurs lignes vous pouvez faire comme ça

1425901469-multilinecomment.png


(NB : Il est possible de commenter un commentaire, CommentaryCeption :espion: )

Bon on en a enfin fini avec les contantes et variables, sachez que si vous devez additionner 2 variables
qui ne sont pas du même type, le compilateur déduira de lui même le type, Int + Int = Int
si vous ajoutez un entier à un nombre à virgule flottantes le résultat sera quasiment toujours
de type Double pour avoir la plus grande portée et plus grande précision puisque le Double
est représenté sur 64 bits.


____________________________________________________________________________________________________

II : Les rudiments du langage Swift : Les conditions, assertions...

Un programme est une suite d'instructions simple, on utilise très souvent les conditions pour faire
des sommes qui dépendent de la présence ou non de certaines variables ou de certains types en
particulier, Le compilateur peut facilement déduire quels type sont dans la condition, c'est l'étape de la
déduction mais la on va se focaliser sur ce qui nous sert le plus souvent (peu importe le langage) c'est-à-dire
les conditions, les opérateurs et autres fonctions simple comme des conversions de type

1425905925-varconditions.png


Pour savoir de quel type elle sera il nous suffit de faire une condition simple,

1425906072-conditions1.png


Une condition renvoie une valeur boolèene, c'est à dire 2 options possible soit la valeur renvoyé est
bonne donc la condition renvoie le résultat "True" soit ce n'est pas une bonne valeur et la conversation
ne peut être faite et la condition renvoie la résultat "False"


Vous pouvez également faire une condition pour voir si un texte choisit ou une constante
est égale ou non à une variable ou un autre texte choisit. Par exemple :

1425906210-conditions2.png


Ou encore comme ceci, on veut savoir si un texte est égale à une constante déclaré au début,
si le résultat est bon on renvoie un message en disant que la valeur est égale à celle déclarée.

1425906527-conditions3.png


Bon maintenant il est temps de parler un peu des assertions, à quoi ça sert ? c'est quoi ? etc..
Nous avons vu les conditions pour savoir si quelques choses sont vraies ou fausses, l'assertion intervient
quand une conditions doit forcément être vrai ou potentiellement fausse. Par exemple vous demandez
à des gens de remplir un formulaire via votre application et votre application est destinée aux personnes
ayant 16 ans ou plus, l'assertion sera utile dans ce cas, exemple :

1425909773-assertions.png


Vous n'êtes pas obligé de retourner un message, vous retirez ce qu'il y a après la virgule pour
poser uniquement une restriction. L'assertion peut être utilisée comme des bornes, c'est en
quelques sorte une exclusion.


_________________________________________________________________________________________________

III : Les rudiments du langage Swift : Les conversions de types


Pour additionner, fractionner ou tout simplement faire un calcul entre variables ou
constances il faut que le type soit converti. Exemple : vous voulez additionner
un nombre entier à un nombre à virgule flottantes, vous allez devoir convertir
votre entier en nombre à virgule pour que le résultat soit au bon format et ne génère
pas d'erreur.

1426195319-conversion.png


Par contre évitez au maximum de devoir convertir un nombre à virgule en nombre entier, il sera arrondit
et le résultat n'est pas très satisfaisant quant vous devez être précis. Exemple ; 5,25 sera arrondis à 5
c'est utile dans le cas d'une liste de personne ou autres puisque vous ne pouvez pas avoir de demi personne
(sauf à Fort Boyard :troll: )


Si vous voulez afficher une variable de type Int dans un champ de texte ou dans un label, vous
devez également convertir votre variable dans un type String, c'est pas très compliqué à réaliser.

Par exemple :

1426254473-convertstring.png


En savoir plus sur Cocoa >





icon_swift_hero_large.png


I - Exemples concrets
Mise en pratique de la théorie


Bon forcément vous allez devoir mettre la main à la patte dans cette partie, on va déjà commencer
par lancer Xcode et commencer un nouveau projet, la création du projet sera une synthèse de mon
anciennes rédactions sur Xcode, j'ai pas trop envie de me répéter :membre:

Pour utiliser la dernière version d'Xcode il vous faudra une machine sous OSX 10.9.4 ou supérieur.





Faites un nouveau projet, sauf si vous en avez déjà un ou une source vous pouvez l'ouvrir, mais autant
tout reprendre depuis le début.


Choisissez de faire un nouveau projet, vous allez atteindre l'éditeur directement vous
demandant de choisir entre une application iOS ou une application OSX, pour ma part
je vais choisir OSX, sachez que le développement sous iOS n'est pas plus compliqué
puisqu'il s'agit du même langage ;)


1426195319-choseproject.png



Ensuite l'éditeur vous propose de choisir un nom de produit, le nom de l'entreprise qui
sera décliné en copyright dans les informations de l'application, vous devez également choisir
le langage que vous voulez et également si vous voulez utiliser la "StoryBoard" etc....
On ne va pas trop s'attarder sur ces choses la, ce qui importe c'est juste de choisir Swift


1426195319-name-langage.png



Une fois ceci fait, choisissez un répertoire ou créer le dossier de l’application, ce dossier
contiendra les sources, le debug etc... je ne mets pas de screen pour cette étape vous êtes assez
grand pour choisir vous même :membre:


Bon c'est ici que les choses se compliquent un peu, vous allez devoir utilisé 15% de votre cerveau
pour choisir quel "deployment target" choisir, soit vous visez des ancienne versions d'OSX soit
vous visez la version 10.10 c'est à dire OSX Yosemite.

Après vous avez la possibilité d'ajouter une icône d'application, de choisir le numéro de version
de votre application, etc....


1427126014-accueil.png



Maintenant vous pouvez regarder sur la barre latérale à gauche, vous regardez dans
l’arborescence et cliquez sur "MainMenu.xib", si tout va bien vous allez voir une fenêtre
qui s'ouvre mais qui n'indique uniquement qu'une MenuBar (comme sur le Finder) mais
avec le nom de votre application. Vous allez devoir créer une fenêtre, ça sera la fenêtre
principale de votre application. Pour ce faire vous regardez sur votre gauche
et vous cliquez sur la dernière icône tout en bas de la barre latéral (elle devrait avoir le nom
de votre projet)


1427125986-viewform.png

Long Int : Entier long (Plage : -3.4*10^-4932 à 3.4*^104932) Octets : 4

4 octets = 4294967295 ( non signé ) et -2147483648; +2147483647 ( signé ), donc ton Entier Long n'est pas sur 4 octets
 
Pardon mais comment demander à l'utilisateur de saisir un chiffre et le mettre dans une variable
 
Franchement, Beau boulot ;)
 
Très très beau topic (y)
 
Bonjour à tous.
Merci pour le topic, ça m’a vraiment beaucoup aidé pour mon projet.
Depuis quelques années, j’ai réfléchi à réaliser un projet d’application que je pense réaliser. Un projet purement privé pour débuter! Mais en étant un nul en informatique je ne cesse de chercher les bons tuto sur le net. Mais ce n’est pas chose facile avec tous ces fake sur le web comme vous le savez très bien.
En lisant ton topic du début à la fin, j’ai une petite remarque pour une amélioration à l’avenir. La rédaction est bonne, tout est complet mais si j’étais un débutant comme quand je l’étais il y a quelques années je n’aurai pas tout compris. Donc c’est sur les détails le point que je voudrais te proposer d’améliorer. Par exemple sur les langages, détaille un peu sur les écritures et les programmations. Prends des exemples sur ce site du tutoriel en programmation Swift:

Sinon, super Topic Devro.
 
Merci a toi
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut