Ouvrir le menu principal

MacGeneration

Recherche

En dépit de Swift, "les développeurs iOS ont toujours besoin de connaître Objective-C"

Stéphane Moussie

jeudi 12 juin 2014 à 14:00 • 41

macOS

Swift a été très bien accueilli par les développeurs, mais ce nouveau langage signe-t-il pour autant la mort de l'Objective-C ? Les débutants qui veulent créer leur première app pour iOS peuvent-ils apprendre exclusivement Swift ? Pour Aaron Hillegass, la réponse est claire, c'est non. « Les développeurs iOS ont besoin de connaître Objective-C », estime cette pointure qui a écrit plusieurs livres de référence sur la programmation iOS et OS X.

Son argumentation, partagée par notre développeur Nyx0uf, tient en trois points :

  • si vous voulez devenir un développeur iOS, vous aurez toujours besoin de connaître Objective-C
  • Objective-C est plus facile à apprendre que Swift
  • une fois que vous connaissez Objective-C, il sera plus facile d'apprendre Swift

Aaron Hillegass considère Swift comme « un grand pas en avant » pour l'écosystème d'Apple (il dit notamment beaucoup apprécier sa syntaxe), mais à l'heure actuelle ce langage ne permet pas de tout faire. Il prend l'exemple de l'intégration d'une bibliothèque de Code C++ dans une application. Swift peut appeler des fonctions codées en C, mais il est plus naturel dans ce cas précis de le faire en Objective-C.

Autre exemple, celui des frameworks. Ces ensembles de bibliothèques sont toujours écrits en Objective-C. Mieux vaut donc comprendre ce langage pour ne pas se retrouver face à du chinois quand le débogueur souligne un problème.

De manière plus générale, c'est tout le patrimoine de l'Objective-C (blogs, documentation, extraits de code partagés...) accumulé au fil des ans qui fait que la compréhension de ce langage est encore importante aujourd'hui.

Le deuxième argument, peut-être plus discutable, c'est que l'Objective-C est plus facile à apprendre que Swift. Aaron Hillegass, qui enseigne le développement, estime que le temps d'apprentissage du nouveau langage sera plus long que celui de l'Objective-C, en raison notamment de règles supplémentaires.

Par ailleurs, pour une fonction équivalente, le code écrit en Swift est bien moins long que celui en Objective-C. D'un côté c'est bien car le développeur a moins de code à taper, de l'autre côté la compréhension d'une ligne de code demande plus de contexte.

Code Objective-C :

#import <stdio.h>
#import <Foundation/Foundation.h>
 
int main(void)
{
    NSLog(@"Hello, world!\n");
    return 0;
}
Code Swift équivalent :
println("Hello, world!")

Enfin, Aaron Hillegass explique que les deux langages partagent beaucoup de points communs. Autrement dit, si vous connaissez déjà Objective-C, l'apprentissage de Swift ne devrait pas trop poser de problème. La réciproque est également valable, mais au vu des deux autres arguments exposés par Aaron Hillegass, on a bien compris par lequel il fallait commencer encore aujourd'hui.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner