nicogala a dit:
Pour réagir là-dessus, j'ai lu les réactions aux 10 ans d'OpenStep (dis Manu, c'est quoi OpenStep par rapport à MacOsX ?) sur
Linuxfr.org et force est de constater que le tendance semble être au désintérêt de l'objective-c de la part des dévelopeurs du monde libre...non ?
NeXT la Société créée par Steve Jobs avait développé un OS NeXTSTEP et un environnement de développement sous la forme de frameworks NeXTSTEP.
Par la suite quand NeXT a abandonné la fabrication des machines pour se consacrer au développement pour promouvoir leur OS et son environnement de développement objet qui à cette époque était largement en avance de tout ce qui existait, Ils on appelé OpenSTEP l'ensemble OS+ Environnement de développement.
Open parce qu'il était porté sur plusieurs plateformes. L'OS OpenSTEP était porté sur X86 tandis que l'environnement de développement OpenSTEP était porté sur Solaris, Hp-UX, Windows avec comme langage de développement Objective-C.
Quelque temps après, Apple a racheté NeXT. L'OS openSTEP rebaptisé Rhapsody a donc été porté sur Mac PowerPC.
Lorsque Steve Jobs a repris les rennes d'Apple, il a réorganisé les équipes de développement et revu la startégie OS d'Apple. Le successeur de Mac OS 9 fut alors appelé Mac OS X et l'environnement de développement autrefois OpenSTEP fut alors rebaptisé Cocoa ( cacao) pour faire un pied de nez à Sun qui a appelé son framework de développement orienté objet Java qui comme on le sait veut dire café.
On a souvent parlé de l'abandon d'objective-C. Mais pour Apple c'est un bon environnement de développement objet qui rivalise largement avec java et même possède un certain avantage sur ce dernier.
Personnellement, j'ai abordé plus facilement la programmation orienté objet avec cocoa qu'avec java. En effet cocoa combine les avantages de Smalltalk qui est la référence des langages orientés objets et celui du langage C. Toute personne connaissant le C peut faire de l'objective-C.
Cocoa sur Mac OS X est hyper solide car les apis qui datent des années 80 donc bien avant Java, sont plus matures et plus solides. D'ailleurs sous mac OS X, certaines apis Java (notamment celles traitant des éléments de l'interface graphiques), sont en fait encapsulées par des apis cocoa qui sont plus mûres et surtout tirent profit de manière native des technologies quartz.
C'est la raison pour laquelle toute appli java ayant une interface graphique est flamboyante sur Mac os X que sur n'importe quell autre OS. Même celui de Sun.