I. Installation de Swift sur Linux▲
Si vous avez déjà Ubuntu 14.04 LTS ou Ubuntu 15.10, en machine physique ou virtuelle, vous pouvez simplement suivre les instructions sur le site swift.org pour télécharger et installer Swift pour Linux.
Vous pouvez alors vous rendre directement à la section suivantePremier programme.
La suite vous décrit les étapes pour installer simplement une machine virtuelle Ubuntu dotée du nouveau langage Swift.
I-A. Installation de VirtualBox▲
VirtualBox est un logiciel gratuit vous permettant de configurer et faire tourner des machines virtuelles.
Si ce n'est déjà fait, installez-le en vous rendant à la page de téléchargement du site.
I-B. Installation de Vagrant▲
Vagrant est un logiciel en ligne de commande qui permet d'installer et de configurer des machines virtuelles à l'aide de scripts.
Rendez-vous à la page de téléchargement du site, téléchargez et lancez l'installeur de l'OS de votre machine hôte.
À l'aide du script suivant, vous allez pouvoir télécharger et configurer votre machine virtuelle en une ligne de commande !
Créez un dossier vagrant-swift, puis créez dans ce dossier un fichier nommé Vagrantfile contenant le code suivant :
2.
3.
4.
5.
6.
7.
8.
9.
10.
Vagrant.configure
(
2
) do
|
config|
config.vm.box =
"ubuntu/trusty64"
config.vm.provision "shell"
, inline: <<
-SHELL
sudo apt-get --assume-yes install clang
curl -O https://swift.org/builds/ubuntu1404/swift-2
.2
-SNAPSHOT-2015
-12
-01
-b/swift-2
.2
-SNAPSHOT-2015
-12
-01
-b-ubuntu14.04
.tar.gz
tar zxf swift-2
.2
-SNAPSHOT-2015
-12
-01
-b-ubuntu14.04
.tar.gz
echo "export PATH=/home/vagrant/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04/usr/bin:\"
${PATH}
\""
>>
.profile
echo "Swift has successfully installed on Linux"
SHELL
end
Pour les utilisateurs Windows, il vous faudra un terminal qui permet d'exécuter des commandes Unix.
Je vous recommande Git Bash de la suite Git for Windows, téléchargez-la ici.
Durant l'installation, vous pouvez laisser toutes les options de configuration par défaut.
Une fois installée, vous devez lancer Git Bash.
Ouvrez un terminal si ce n'est déjà fait (Git Bash si vous êtes sous Windows).
Placez-vous dans le dossier vagrant-swift et lancez la commande suivante :
$
vagrant up
Allez boire une bière le temps que Vagrant procède aux étapes suivantes :
- téléchargement d'Ubuntu 14.04 LTS ;
- lancement de la machine virtuelle ;
- installation du compilateur clang ;
- téléchargement et décompression de Swift ;
- configuration de la variable PATH de l'utilisateur.
Vous aurez peut-être des messages affichés en rouge, vous pouvez les ignorer.
Si tout s'est déroulé correctement, le dernier message indique :
==> default: Swift has successfully installed on Linux
La machine virtuelle est prête, connectez-vous en ssh en lançant cette commande :
$
vagrant ssh
La connexion établie, vous obtenez un prompt de ligne de commande :
vagrant@vagrant-ubuntu-trusty-64
~$
Vérifiez que Swift est bien installé en tapant :
2.
3.
vagrant@vagrant-ubuntu-trusty-64
:~$
swift --version
Swift version 2
.2
-dev (
LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c)
Target: x86_64-unknown-linux-gnu
II. Premier programme▲
II-A. Live▲
Les développeurs iOS ou OSX le savent déjà grâce au playground d'Xcode, Swift est un langage pouvant être exécuté en live grâce au REPL (Read-Eval-Print-Loop).
Lancez la commande swift, un prompt apparaît, entrez alors votre première ligne de code Swift sur Linux !
2.
3.
4.
5.
vagrant@vagrant-ubuntu-trusty-64
:~$
swift
Welcome to Swift version 2
.2
-dev (
LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c). Type :help for
assistance.
1
>
print
(
"Hello, Swift!"
)
Hello, Swift!
2
>
Pour quitter votre session Swift REPL, entrez la commande :q.
II-B. Compiler un programme▲
Pour compiler un programme écrit en Swift, créez un fichier source, par exemple de la manière suivante :
$
cat >
helloworld.swift
Puis rentrez cette unique ligne de code :
print
(
"Hello World !"
)
Appuyez une fois sur Entrée suivi de CTRL-D pour créer le fichier.
Listez le répertoire courant pour vous assurer de la présence du fichier fraîchement créé en tapant la commande ls.
Compilez maintenant votre programme en tapant :
$
swiftc helloworld.swift
Si vous listez le répertoire courant, vous verrez qu'un nouveau fichier exécutable nommé helloworld a été créé.
Votre programme est prêt à être lancé, tapez :
$
./helloworld
Vous devriez voir en sortie :
Hello World !
III. Ce qu'Apple a rendu open source▲
- Compilateur Swift, sources et exécutables, débogueur, REPL
C'est le cœur du langage lui-même. Apple a rendu open les sources du programme swiftc, le même compilateur utilisé pour compiler les applications iOS et OSX. - Bibliothèque standard Swift
Presque la même bibliothèque standard utilisée depuis la sortie de Swift, elle comprendla définition des collections, protocoles et autres fondamentaux.
Si par curiosité vous voulez voir comment est définie la classe (plus précisément la structure) String, rendez-vous sur le github ici. - Bibliothèques Swift core
Elles font peau neuve aux bibliothèques existantes d'Apple écrites en Objective-C. Elles fournissent des fonctionnalités et des outils de haut niveau tels que ceux pour la communication web, l'interaction avec le système de fichiers, les calculs de date et d'heure. - Swift Package Manager
C'est le maître de cérémonie de l'assemblage de chaque brique qui forme une application.
Il va télécharger les dépendances, les compiler et les lier entre elles pour créer des bibliothèques ou des exécutables. - Mais encore…
Si vous parcourez la page Github d'Apple, vous trouverez d'autres composants tels qu'une encapsulation de libdispatch (Grand Central Dispatch), des informations sur Swift 3.0, ou même un parseur du langage Markdown…
IV. Ce qui n'est pas [encore] disponible▲
Il manque à l'appel la plupart des frameworks qui rendent les applications iOS et OSX aussi belles.
Pour n'en citer que quelques-uns : AppKit, UIKit, Core Graphics, Core Animation, AVFoundation…
Vous ne trouverez pas non plus l'environnement de développement intégré Xcode.
Mais ce qu'Apple a rendu open source est plutôt significatif. En effet, le fait que les bibliothèques Swift Core ne reposent plus sur l'environnement d'exécution Objective-C montre qu'Apple est en train de créer les fondements de Swift pour, à long terme, remplacer Objective-C.
Et le fait que Swift soit cross-platform suggère qu'Apple espère voir les développeurs l'utiliser pour le développement d'applications Linux. Si ce n'est pour des applications GUI, au moins pour des applications serveur.
V. Swift Package Manager▲
Voyons en pratique l'utilisation du package manager sur un exemple simple, un petit jeu de «pierre, feuille, ciseaux».
Créez un dossier helloswift, puis un dossier source à l'intérieur du premier en exécutant les commandes suivantes :
2.
3.
4.
$
mkdir helloswift
$
cd helloswift
$
mkdir sources
$
cd sources
Créez ensuite un fichier nommé main.swift, (le nom main est important pour la suite), dans le répertoire source en exécutant :
$
cat >
main.swift
Copiez le programme suivant :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
import Foundation
import Glibc
let player =
["pierre"
, "feuille"
, "ciseaux"
]
srandom
(
UInt32
(
NSDate
(
).timeIntervalSince1970))
for
count in
1
...3
{
print
(
count)
sleep
(
1
)
}
print
(
player[random
(
) %
player.count]);
Tapez Entrée puis CTRL-D.
Vous pouvez d'ores et déjà exécuter votre programme avec la commande :
$
swift main.swift
Génial ! Il faut que j'en parle aux copains !
Arf… ils n'auront pas la commande swift…
C'est ici que le Swift Package Manager entre en jeu !
Grâce à lui, vous allez pouvoir distribuer un exécutable de ce formidable programme.
Créez un fichier Package.swift dans le dossier parent (helloswift) :
2.
$
cd ..
$
cat >
Package.swift
Copiez ceci dedans, puis tapez Entrée et enfin CTRL-D :
2.
3.
4.
5.
import PackageDescription
let package =
Package
(
name: "Chifoumi"
)
Lancez la commande de build :
$
swift build
Swift détecte automatiquement le point d'entrée du programme, car nous avons nommé notre fichier main.swift.
Si vous renommez ce fichier, vous aurez des erreurs de compilation.
En revanche le changement de nom du dossier source n'affecte pas la compilation, mais l'exécutable créé portera le nom du dossier et non le nom donné dans le fichier Package.swift.
Si la compilation réussit, le package manager crée un dossier .build contenant un dossier debug dans lequel se trouve l'exécutable Chifoumi.
Vous pouvez alors le distribuer et quiconque ayant une machine Linux pourra l'exécuter en tapant la commande suivante dans le répertoire où se trouve l'exécutable :
2.
$
cd .build/debug/
$
./Chifoumi
Le Swift package manager possède évidemment beaucoup de fonctionnalités que nous n'avons pas explorées.
Un guide d'utilisation plus avancée fera peut-être l'objet d'un nouvel article, qui sait ?
Stay tuned !
VI. Références/Sources▲
VII. Remerciements▲
Ce tutoriel a été publié avec l'aimable autorisation de la société Itelios. Nous remercions Malick Nseck pour la mise au gabarit et Claude Leloup pour la correction orthographique.