En début de semaine dernière, Apple a annoncé un nouveau langage lors de sa WWDC : le Swift.
Curieux, je suis allé jeter un oeil en réalisant un HelloWorld tout ce qu'il y a de plus banal. Je n'avais jamais touché serieusement au developpement sur plateforme mobile (:trollon: l'avenir c'est le web en même temps...:trolloff:), et bizarrement ça m'a donné envie (Apple est fort dans ce domaine).
Du coup, je partage mon experience à travers cet article en te présentant mon Hello world.

Requis

Alors pour faire cette excellente application, tu auras besoin de :

  • D'un Mac (non négociable)
  • De la version bêta d'XCode (présente au fond de la baie)
  • de 10 minutes

Création du projet

On va commencer par créer un nouveau projet vide (File -> New -> Project) de type Single View Application.

Puis remplir le formulaire avec les informations que tu veux en selectionnant bien Swift comme langage et valider.

Paf ! Ton projet est créé et tu as devant toi, ta superbe application iOS.

XCode crée seul les éléments principaux à savoir :

  • AppDelegate.swift : Une sorte de super-contrôleur (un contrôleur avec une cape quoi...). Il va gérer les évenements de l'application du type lancement de l'app, mise en arrière-plan, etc.
  • ViewController.swift : Le contrôleur qui va lui, gérer les évenements liés à la vue auquel il est rattaché
  • Main.storyboard : La vue qui va placer les différents éléments graphiques les uns par rapport aux autres

A partir de là, on va pouvoir faire un Hello World dans un terminal (C-Style). On pourrait aussi le faire en mode graphique, mais ça sera sûrement pour un autre article

Hello World terminalesque

Petite question : Te souviens-tu du fichier dans lequel on gère l'évenement "Lancement de l'application"?
Bon, on va faire comme si tu savais donc tu vas aller dans ton fichier AppDelegate.swift et lire un peu les commentaires histoire de trouver où mettre ton bout de code. Ca y'ai tu as trouvé?
Pour afficher du texte dans le console en Swift, c'est simple, il faut utiliser print(text: String) ou println(text: String) pour avoir un saut de ligne après ton texte (comme en Java ouais).
Du coup, pour afficher "Hello world" au lancement de ton application, tu n'as qu'à éditer la fonction application de ton AppDelegate.swift comme ça :

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {  
                println("Hello world !")
                return true
            }
        

Lance ton application et... Boum ! Tu as ton Hello World terminalesque !
(Si jamais tu vois pas le terminal, affiche le avec le bouton en bas à gauche de ta fenêtre (celui avec le carré avec dedans, un triangle pointant vers le bas).

Bon, maintenant si on explique un peu le prototype de la fonction, ça donne :

La fonction se nomme application:didFinishLaunchingWithOptions (ça fait un peut trop Objective-C à mon goût m'enfin bon...) et prend en paramètre 2 arguments à savoir : application de type UIApplication et launchOptions de type NSDictionary d'élements et est optionnel (indiqué par le ?). Pour finir, la fonction retourne un Boolean (true dans notre cas).

Conclusion

Alors j'ai terminé mon article, du coup j'espère que ça t'as appris quelque chose. Je verrais si je continue à faire des articles sur Swift mais rien de sûr. C'est pas mon domaine de prédilection et même si c'est cool, je pense que je vais retourner sagement sur les technos web sortie avant-hier.