1.1 Présentation rapide d’Objective-C

gnu

Introduction
Objective-C est un langage libre de droit, proposé notamment par la communauté GNU. Il est donc disponible sur plusieurs plateformes, mais surtout connu comme étant le langage de référence d’Apple(tm). Il est notamment utilisé pour développer des applications sur iOS ou MAC OSX. C’est un langage qui évolue sous l’impulsion d’Apple et pour les développeurs d’applications utilisant l’IDE XCode, c’est le principal langage de développement.

COCOA(tm) est quant à elle la bibliothèque Apple pour créer des applications MAC, Cocoa Touch étant la version pour mobile.

Apple a fait évoluer en 2012 Objective-C en introduisant des mécanismes simplifiés : modern Objective-C. Il s’agissait de simplifier les syntaxes et les pratiques.

Historique
Objective-C est né en 1983 en même temps que le langage C++ plus connu. Le langage emprunte beaucoup de concepts objets à son précurseur Smalltalk-80 souvent cité en référence. C++ est né à la même époque mais utilise une syntaxe très différente. Java est quant à lui directement inspiré de la syntaxe C++.

Philosophie du langage
Objective-C c’est d’abord un compilateur C. Vous pouvez à tout moment appeler des méthodes C à partir des classes Objective-C. Bien sûr il ne faut pas s’en contenter et il vous faut entrer rapidement dans la conception de classes.

Objective-C est un langage dynamique, notamment concernant l’appel des méthodes, appelées ici messages, contrairement à C++ qui compile en dur l’appel à ces méthodes (sauf virtuelles). Pour être plus explicite, en Objective-C l’appel des messages [objet message]; est résolu dynamiquement.

Le langage bénéficie d’un mécanisme d’introspection pouvant vous amener à demander dynamiquement à un objet s’il répond à un message donné, à demander si une classe est d’un certain type ou hérite de tel ou tel type.

Conclusion
Pour les développeurs ayant une bonne habitude avec Java ou C++, Objective-C peut sembler dans un premier temps rebutant (notamment à cause de la syntaxe). Dans un second temps c’est un langage agréable, bénéficiant notamment d’un bon mécanisme de gestion mémoire (Garbage collector sous MAC et ARC sous iOS), de bonnes qualités concernant ses paradigmes objets.

 

Au sujet du formateur

bertrand

Bertrand Leclercq

Expert iOS et Android, aide votre entreprise à développer sur mobile, anime vos formations développeurs, conseille vos équipes

Contacter le formateur
Catégories
0 Comments
0 Pings & Trackbacks

Laisser un commentaire