Swift code, un langage à l’état de l’art


Technique

“Swift est un nouveau langage de programmation à la fois puissant et intuitif, créé par Apple pour l’élaboration d’apps iOS et Mac. Il est conçu pour offrir aux développeurs toute la liberté et les capacités nécessaires afin de produire la prochaine génération d’apps. Il ouvre à tous, développeurs ou non, tout un monde de possibilités. Swift est un langage facile à apprendre et à utiliser, même si vous n’avez jamais codé. Alors, si vous avez une idée d’app vraiment géniale, concrétisez-la avec Swift.” Apple

Au dernier trimestre 2014, le langage d’Apple conçu pour remplacer Objective-C pour les développements iOS passe de la 68e place du palmarès à la 22e. « Cette progression est sans précédent dans l’histoire de notre classement », constate Redmonk. Ce classement repose sur une analyse de positions sur GitHub et sur le site de questions-réponses Stack Overflow. developers large  Swift code, un langage à l’état de l’art

Le prototype d’une app de streaming photo par Getty Images, créée à l’aide de Swift. Conçue pour iOS, elle a ensuite été développée à 100 % en code Swift.

Un langage qui se veut à l’état de l’art

Il était temps ! L’Objective-C, lourd, confus et un peu dépassé, est compliqué à apprendre et plus vraiment adapté aux concepts modernes de la programmation, notamment dans la gestion de la mémoire. L’Objective-C ayant vu le jour il y a plus de 20 ans, Apple avait grand intérêt à moderniser son environnement de programmation, de le remettre au goût du jour afin d’attirer davantage de développeurs sur sa plateforme. Au niveau des performances, selon Apple, Swift peut être jusqu’à 220 fois plus rapide que Python. Dans les faits, les apps écrites on Objective-C ne seraient pour autant pas beaucoup moins performantes. Le nouveau langage de la marque à la pomme utilise le même compilateur que ce dernier (LLVM), il utilise les mêmes API Cocoa et Cocoa Touch, tout en étant statiquement typé. Les deux langages d’Apple, malgré ces similitudes, possèdent tout de même d’importantes différences. Swift est un langage multi-paradigmes. C’est à dire qu’il donne le choix entre plusieurs stratégies / architectures pour la programmation d’une app : la programmation orientée objets, la programmation structurée, le développement fonctionnel ou la programmation impérative. Objective-C permet uniquement de faire de la programmation orienté objet. Ce nouveau langage est compilé comme son ancêtre, mais il propose en plus des concepts pour une programmation à l’état de l’art : classes génériques, closures, namespaces, inférences de type, une manipulation beaucoup plus simple des chaines qu’en Objective-C, des valeurs de tuples de tous types…

 

« Un langage beaucoup plus ‘user friendly’ qu’Objective-C » (Philippe Charrière)

648x415 swift langage programmation devoile apple 2 juin 2014  Swift code, un langage à l’état de l’art Swift est un langage de programmation plus épuré que son ancêtre, moins verbeux. Plus concis et plus rapide aussi. Sa syntaxe est beaucoup plus claire et (presque) compréhensible par le commun des mortels. Il est aussi plus robuste en terme de sécurité.

L’accès aux pointeurs mémoire est limité et rend l’initialisation des variables obligatoire. “Plus proche du système, Objective-C pouvait engendrer des erreurs de compilation. Swift est moins permissif, le codage étant vérifié au moment de la compilation », souligne Vincent Saluzzo, développeur chez Itelios. Selon Apple il est assez aisé de se familiariser avec ce nouveau langage.

Inspiré d’Objectif-C, il l’est également de Ruby, C#, mais aussi Python. Le but est d’offrir un langage relativement accessible pour les développeurs professionnels comme pour les débutants. « Un langage productif », qui parle aux habitués des langages orientés objets comme C# ou même Java.

« Avec Objective-C, il fallait être un spécialiste, se plonger dans les notions de pointeurs et la gestion de mémoire… Swift est beaucoup plus ‘user friendly’ (…) Swift est très proche de Groovy. C’est un langage à la fois orienté objet, et fonctionnel, tout en étant typé. Ce n’est pas un langage dynamique. Il n’en reste pas moins élégant, et très facile d’apprentissage. Je pense qu’il est à la portée de presque tous les développeurs », déclare Philippe Charrière. « C’est effectivement plus simple pour les programmeurs C#, Ruby ou JavaScript, mais il faudra néanmoins maîtriser les concepts d’un langage moderne, qui n’existent pas en Objective-C. » ajoute Vincent Saluzzo.

XCode6, l’IDE Apple, permet d’exécuter le code que vous êtes en train d’écrire et d’en donner le résultat en temps réel. « Cela m’a permis de comprendre plus facilement mes erreurs de codage », remarque Philippe Charrière qui ajoute : « Le Playgrounds me paraît intéressant pour la conception, les Pooc ou la revue de code. »

Swift devrait être plus simple à apprendre pour les débutants, et les programmeurs devraient perdre moins de temps à débugger le code, alors que l’oubli d’un seul point virgule peut empêcher un programme de s’exécuter. Surtout, ils pourront voir en quasi-direct le résultat d’une modification sans devoir tout recompiler (l’étape de traduction du code). « Cette possibilité est néanmoins limitée sur le plan des interactions graphiques iOS, ce qui la rend plutôt adaptée pour tester des algorithmes, des librairies ou des Web Services par exemple. » ajoute Vincent Saluzzo.

 

Quelques apps développées avec Swift

Un nombre croissant de développeurs intègrent du code Swift à leurs apps. Et certains créent de toutes nouvelles apps entièrement en Swift.

Capture d’écran 2015 01 27 à 18.30.28  Swift code, un langage à l’état de l’art

En résumé

Laisser un commentaire