Cocotron : porter son application Cocoa sur Windows
par Christophe Laporte le 29.10.2008 à 12:08
Cela fait un certain temps déjà que nous voulions vous parler de Cocotron, mais, jusqu'à présent, l'occasion ne s'est jamais présentée. Initialement, la grande force de la Yellow Box (l'ancêtre de Cocoa), c'était sa portabilité. Elle permettait aux développeurs de faire fonctionner des logiciels aussi bien sous Windows, Sun Solaris, HP/Unix ainsi que sous Rhapsody (qui était le nom donné à Apple à son système en cours de développement et qui prit par la suite le nom de Mac OS X) sans devoir tout réécrire chaque fois.
En renommant son système Mac OS X, Apple changea également de stratégie. Il n'était plus question d'offrir aux développeurs la possibilité de compiler leurs projets sur n'importe quelle plate-forme. La firme de Steve Jobs devait à l'époque se recentrer sur le Macintosh.
De temps à autre, la rumeur voulant qu'Apple sorte à nouveau un runtime permettant d'exécuter des logiciels écrits en Cocoa sous Windows refait surface (lire par exemple : Le retour de la Yellow Box ?). En attendant, les développeurs Cocoa, lorsqu'ils désirent porter leurs applications sous Windows, sont souvent coincés et doivent revoir leur code de fond en comble.
Cocotron : une alternative à la Yellow Box ?
The Cocotron veut en quelque sorte reprendre le flambeau. Ce projet open source, initié fin 2006, a pour vocation de permettre aux développeurs depuis XCode de compiler leurs projets sur différents systèmes et notamment sur Windows, le tout en Objective-C.
Il prend en charge notamment AppKit, CoreGraphics et CoreFoundation. Malheureusement, toutes les API de Cocoa ne sont pas supportées par Cocotron. On pense notamment à CoreData.
Mais les responsables de ce projet sont très fiers des progrès accomplis et espèrent pouvoir offrir un support plus complet à l'avenir. En ce moment, ils travaillent activement sur Quartz 2D et à la prise en charge d'AppKit sous Linux.
FileMagnet Uploader : un exemple concret
FileMagnet Uploader est un logiciel pour Mac qui permet de transférer ses fichiers sur iPhone, et de les consulter grâce à une application vendue 3,99 € sur l'App Store.
Son éditeur explique sur son blog qu'il a porté ce logiciel sous Windows sans avoir à lancer Visual Studio. Pas véritablement emballés à l'idée d'avoir deux codes sources à entretenir dans des langages différents, les développeurs ont essayé Cocotron sans trop y croire, et ont fini par opter pour cette solution qui leur a permis de sortir la version Windows deux mois après la version Mac.
En renommant son système Mac OS X, Apple changea également de stratégie. Il n'était plus question d'offrir aux développeurs la possibilité de compiler leurs projets sur n'importe quelle plate-forme. La firme de Steve Jobs devait à l'époque se recentrer sur le Macintosh.
De temps à autre, la rumeur voulant qu'Apple sorte à nouveau un runtime permettant d'exécuter des logiciels écrits en Cocoa sous Windows refait surface (lire par exemple : Le retour de la Yellow Box ?). En attendant, les développeurs Cocoa, lorsqu'ils désirent porter leurs applications sous Windows, sont souvent coincés et doivent revoir leur code de fond en comble.
Cocotron : une alternative à la Yellow Box ?
The Cocotron veut en quelque sorte reprendre le flambeau. Ce projet open source, initié fin 2006, a pour vocation de permettre aux développeurs depuis XCode de compiler leurs projets sur différents systèmes et notamment sur Windows, le tout en Objective-C.
Il prend en charge notamment AppKit, CoreGraphics et CoreFoundation. Malheureusement, toutes les API de Cocoa ne sont pas supportées par Cocotron. On pense notamment à CoreData.
Mais les responsables de ce projet sont très fiers des progrès accomplis et espèrent pouvoir offrir un support plus complet à l'avenir. En ce moment, ils travaillent activement sur Quartz 2D et à la prise en charge d'AppKit sous Linux.
FileMagnet Uploader : un exemple concret
FileMagnet Uploader est un logiciel pour Mac qui permet de transférer ses fichiers sur iPhone, et de les consulter grâce à une application vendue 3,99 € sur l'App Store.
Son éditeur explique sur son blog qu'il a porté ce logiciel sous Windows sans avoir à lancer Visual Studio. Pas véritablement emballés à l'idée d'avoir deux codes sources à entretenir dans des langages différents, les développeurs ont essayé Cocotron sans trop y croire, et ont fini par opter pour cette solution qui leur a permis de sortir la version Windows deux mois après la version Mac.
| |
2
1
Vos réactions (24 réactions)
Ganzolo
[29/10/2008 12:31]
C'est le mono version Cocoa quoi...?
C'est le mono version Cocoa quoi...?
fred78
[29/10/2008 12:34]
A mon avis, il doit rester des composants multiplateforme jalousement gardés par Apple, et qu'elle utilise dans le cadre des portages Quicktime, iTunes, Safari et Apple Software Update. Mais bon, c'est juste un avis...
A mon avis, il doit rester des composants multiplateforme jalousement gardés par Apple, et qu'elle utilise dans le cadre des portages Quicktime, iTunes, Safari et Apple Software Update. Mais bon, c'est juste un avis...
pvmstg
[29/10/2008 12:34]
Bravo... ainsi de plus en plus de développeur pourront passer sous mac, optimiser pour celui-ci tout en gardant un clientèle autre sans trop de travail.... L'inverse d'actuellement où on programme et optimise win pour ensuite adapter plus ou moins mac...
Bravo... ainsi de plus en plus de développeur pourront passer sous mac, optimiser pour celui-ci tout en gardant un clientèle autre sans trop de travail.... L'inverse d'actuellement où on programme et optimise win pour ensuite adapter plus ou moins mac...
DrFatalis
[29/10/2008 12:48]
"Bravo... ainsi de plus en plus de développeur pourront passer sous mac"
Pas tout fait.
De nombreux softs spécifiques mac, qui en faisait la renommée et l'attrait, vont pouvoir se retrouver chez windows...
un exemple ? Osirix, le logiciel de traitement d'imagerie médicale, qui a lui seul justifiait l'achat de macs (imac et macpro) en milieu médical. Maintenant sur windows. Une raison de moins d'acheter du mac.
"Bravo... ainsi de plus en plus de développeur pourront passer sous mac"
Pas tout fait.
De nombreux softs spécifiques mac, qui en faisait la renommée et l'attrait, vont pouvoir se retrouver chez windows...
un exemple ? Osirix, le logiciel de traitement d'imagerie médicale, qui a lui seul justifiait l'achat de macs (imac et macpro) en milieu médical. Maintenant sur windows. Une raison de moins d'acheter du mac.
pvmstg
[29/10/2008 13:11]
@DrFatalis
Sans doute certains mais en se mettant dans la peau de développeurs... plus le marché est grand plus c'est intéressant... à l'usager de choisir son os...
Actuellement on a des portages plus ou moins réussi d'appli win et linux... j'aimerais mieux avoir des créations mac, plus ou moins adapté à win et linux que l'inverse.
L'ère du système fermé est révolu... un programme doit pouvoir marcher sur tout et l'usager faire son choix... si c'était ainsi... je n'aurais plus besoin de winmerde car, le marché mac étant relativement petit, certaines applis professionnelles ne sont pas sur mac.... Je rêve mais j'aimerais bien que cette toolbox existe et q'Esri développe dessus pour ensuite compiler pc... arcmap sous mac.... fini win et ses problèmes.
@DrFatalis
Sans doute certains mais en se mettant dans la peau de développeurs... plus le marché est grand plus c'est intéressant... à l'usager de choisir son os...
Actuellement on a des portages plus ou moins réussi d'appli win et linux... j'aimerais mieux avoir des créations mac, plus ou moins adapté à win et linux que l'inverse.
L'ère du système fermé est révolu... un programme doit pouvoir marcher sur tout et l'usager faire son choix... si c'était ainsi... je n'aurais plus besoin de winmerde car, le marché mac étant relativement petit, certaines applis professionnelles ne sont pas sur mac.... Je rêve mais j'aimerais bien que cette toolbox existe et q'Esri développe dessus pour ensuite compiler pc... arcmap sous mac.... fini win et ses problèmes.
oomu
[29/10/2008 13:24]
surtout, cocotron ou pas, Cocoa ne peut pas faire de windows un meilleur windows. C'est le travail sur xcode, interface builder, os X et le mac en général qui rend séduisant aussi cocoa.
Bref, tant qu'Apple travaille, je ne vois vraiment pas où serait le problème.
Les développeurs hésitants à se lancer dans les technologies apple et le développement sur mac seront rassurés en se disant qu'au pire, ils peuvent tenter le multiplateforme en sortant une recompilation pour windows.
-
dans la pratique, cocotron est encore très loin de permettre qu'omniplan, par exemple, tourne sur windows.
-
Même si cocotron était un tort fait au mac, il y en aurait pour des années avant que cocotron soit réellement utilisable pour de grands projets. Il faut porter (écrire de toute pièce, vu qu'ils n'ont aucun code de la part d'Apple, ils écrivent un "cocoa" imitant cocoa) l'ensemble des cadres de développements que propose apple : core data, core animation, tout Foundation, webkit/webcore, quicktimekit, et j'en passe.
Bref, tout ce qu'un développeur s'attend à trouver sur un mac os x standard. et faudrait il aussi fournier les frameworks non-apple populaire, tel que growl, sparkle etc ? ou s'assurer que cocotron permette leur bon fonctionnement
Gros travail. Projet très intéressant.
-
gnustep est un projet plus ancien que cocotron, consistant à porter "openstep" (le prédécesseur de cocoa) à Linux/BSD. Il y a eu des programmes qui compilait sur os X et linux grâce au travail de gnustep.
(et gnustep pouvait être installé sur windows)
Personne n'a vu un mac en mourir. Parce que la seule api ne fait pas tout.
-
Un exemple : l'une des grandes forces de mac os x est Quartz. Vous pourriez apporter l'api de cocoa à windows, vous n'aurez pas quartz pour autant.
surtout, cocotron ou pas, Cocoa ne peut pas faire de windows un meilleur windows. C'est le travail sur xcode, interface builder, os X et le mac en général qui rend séduisant aussi cocoa.
Bref, tant qu'Apple travaille, je ne vois vraiment pas où serait le problème.
Les développeurs hésitants à se lancer dans les technologies apple et le développement sur mac seront rassurés en se disant qu'au pire, ils peuvent tenter le multiplateforme en sortant une recompilation pour windows.
-
dans la pratique, cocotron est encore très loin de permettre qu'omniplan, par exemple, tourne sur windows.
-
Même si cocotron était un tort fait au mac, il y en aurait pour des années avant que cocotron soit réellement utilisable pour de grands projets. Il faut porter (écrire de toute pièce, vu qu'ils n'ont aucun code de la part d'Apple, ils écrivent un "cocoa" imitant cocoa) l'ensemble des cadres de développements que propose apple : core data, core animation, tout Foundation, webkit/webcore, quicktimekit, et j'en passe.
Bref, tout ce qu'un développeur s'attend à trouver sur un mac os x standard. et faudrait il aussi fournier les frameworks non-apple populaire, tel que growl, sparkle etc ? ou s'assurer que cocotron permette leur bon fonctionnement
Gros travail. Projet très intéressant.
-
gnustep est un projet plus ancien que cocotron, consistant à porter "openstep" (le prédécesseur de cocoa) à Linux/BSD. Il y a eu des programmes qui compilait sur os X et linux grâce au travail de gnustep.
(et gnustep pouvait être installé sur windows)
Personne n'a vu un mac en mourir. Parce que la seule api ne fait pas tout.
-
Un exemple : l'une des grandes forces de mac os x est Quartz. Vous pourriez apporter l'api de cocoa à windows, vous n'aurez pas quartz pour autant.
Aimzèd
[29/10/2008 13:25]
C'est un des avantages des applications web, surtout celles s'appuyant sur des standards ouverts. Fonctionner partout, indépendamment de l'OS et même, dans l'idéal, du navigateur utilisé. (mais perso je ne crois pas au "tout au web" et à la disparition des applications "lourdes", à installer sur son OS. Mais il faut avouer qu'il y a là un potentiel énorme).
L'ère du système fermé est révolu... un programme doit pouvoir marcher sur tout et l'usager faire son choix...
C'est un des avantages des applications web, surtout celles s'appuyant sur des standards ouverts. Fonctionner partout, indépendamment de l'OS et même, dans l'idéal, du navigateur utilisé. (mais perso je ne crois pas au "tout au web" et à la disparition des applications "lourdes", à installer sur son OS. Mais il faut avouer qu'il y a là un potentiel énorme).
davi18
[29/10/2008 13:35]
Dommage que Cocoa n'est pas open source sous licence [url=http://www.opensource.org/licenses/apsl-2.0.php]APSL 2.0[/url] ou [url=http://www.opensource.org/licenses/apache2.0.php]Apache[/url] !
Dommage que Cocoa n'est pas open source sous licence [url=http://www.opensource.org/licenses/apsl-2.0.php]APSL 2.0[/url] ou [url=http://www.opensource.org/licenses/apache2.0.php]Apache[/url] !
Michel Poulain
[29/10/2008 13:45]
J'avais acheté FileMagnet. Je l'ai laissé tomber pour [url=http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=289943355&mt=8]AirSharing[/url] qui permet de récupérer et envoyer les fichiers SANS application tierce. Ça marche sur Linux, Windows et Mac.
J'avais acheté FileMagnet. Je l'ai laissé tomber pour [url=http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=289943355&mt=8]AirSharing[/url] qui permet de récupérer et envoyer les fichiers SANS application tierce. Ça marche sur Linux, Windows et Mac.
biniou
[29/10/2008 14:48]
@Dr Fatalis : ayant discuté à plusieurs reprises avec un des fondateurs d'Osirix lors de congrès scientifiques. Il n'est pas envisagé de développer sous Windows Osirix.
Chaque fois qu'il présente Osirix, il fait de la pub pour Apple et ses machines. Donc pas de soucis pour Osirix. Même si dans le domaine médical, il y a de plus en plus de mac. Il y a très peu de PACS à travers le monde qui utilisent essentiellement Osirix. Son développement sous Windows permettrait peut-être un plus grand panel de cas d'utilisation.
@Dr Fatalis : ayant discuté à plusieurs reprises avec un des fondateurs d'Osirix lors de congrès scientifiques. Il n'est pas envisagé de développer sous Windows Osirix.
Chaque fois qu'il présente Osirix, il fait de la pub pour Apple et ses machines. Donc pas de soucis pour Osirix. Même si dans le domaine médical, il y a de plus en plus de mac. Il y a très peu de PACS à travers le monde qui utilisent essentiellement Osirix. Son développement sous Windows permettrait peut-être un plus grand panel de cas d'utilisation.
ericb2
[29/10/2008 15:22]
Est-ce qu'il y a encore ces merd... de .nibs avec Cocotron ?
Parce que c'est la raison qui me fait préférer GNUstep, et de loin : transparence.
Est-ce qu'il y a encore ces merd... de .nibs avec Cocotron ?
Parce que c'est la raison qui me fait préférer GNUstep, et de loin : transparence.
egw
[29/10/2008 16:08]
ericb2, je comprends pas très bien le sens de ton post. Quel rapport entre les nibs (xibs désormais) et la "transparence" ? De quelle transparence parles-tu ? Pourquoi détester les nibs (alors même qu'on peut s'en passer si vraiment on le veut, même si je trouve cela maso) ?
ericb2, je comprends pas très bien le sens de ton post. Quel rapport entre les nibs (xibs désormais) et la "transparence" ? De quelle transparence parles-tu ? Pourquoi détester les nibs (alors même qu'on peut s'en passer si vraiment on le veut, même si je trouve cela maso) ?
ericb2
[29/10/2008 16:18]
egw : qu'y a-t-il dans un .nib ? Tout n'est pas accessible, et donc dans un projet libre, ça le fait pas trop.
Alors je me demandais comment c'était géré sous Windows (don't les APIs semblent se rapprocher progressivement de Mac OS ), avec Cocotron.
egw : qu'y a-t-il dans un .nib ? Tout n'est pas accessible, et donc dans un projet libre, ça le fait pas trop.
Alors je me demandais comment c'était géré sous Windows (don't les APIs semblent se rapprocher progressivement de Mac OS ), avec Cocotron.
BeePotato
[29/10/2008 16:30]
« qu'y a-t-il dans un .nib ? Tout n'est pas accessible, et donc dans un projet libre, ça le fait pas trop. »
C'est accessible. Juste pas accessible avec un simple éditeur de texte, nuance. ;-)
Mais si c'est la seule chose qui te dérange dans les fichiers NIB, alors le format XIB doit te plaire, vu que là l'éditeur de texte le plus basique te permet de tout « voir ».
Bref, comme egw, je ne trouve pas que ce soit une raison suffisante pour détester ces fichiers (râler un peu, oui, mais les détester au point de ne pas vouloir les utiliser, ça me paraît exagéré). Enfin, bon, encore une fois, avec le format XIB ce problème est réglé.
« qu'y a-t-il dans un .nib ? Tout n'est pas accessible, et donc dans un projet libre, ça le fait pas trop. »
C'est accessible. Juste pas accessible avec un simple éditeur de texte, nuance. ;-)
Mais si c'est la seule chose qui te dérange dans les fichiers NIB, alors le format XIB doit te plaire, vu que là l'éditeur de texte le plus basique te permet de tout « voir ».
Bref, comme egw, je ne trouve pas que ce soit une raison suffisante pour détester ces fichiers (râler un peu, oui, mais les détester au point de ne pas vouloir les utiliser, ça me paraît exagéré). Enfin, bon, encore une fois, avec le format XIB ce problème est réglé.
Mr Deckard
[29/10/2008 16:46]
Mettre du Coca sur la fenêtre ? C'est ça le titre ? Bah pourquoi ?
Plus sérieusement et plus gravement, c'est à se demander si le père Jobs n'est pas en train de saborder sa compagnie avant de prendre la retraite...
Mettre du Coca sur la fenêtre ? C'est ça le titre ? Bah pourquoi ?
Plus sérieusement et plus gravement, c'est à se demander si le père Jobs n'est pas en train de saborder sa compagnie avant de prendre la retraite...
2
1
Réagir
Cinq consignes avant de réagir :
- Rester dans le cadre de la dépêche. Pour des discussions plus générales, vous pouvez utiliser nos forums.
- Développer son argumentation. Les messages dont le seul but est de mettre de l'huile sur le feu seront modifiés ou effacés sans préavis par la rédaction.
- Respecter les acteurs de l'informatique et les autres lecteurs. Les messages agressifs, vulgaires, haineux, etc. seront modifiés ou effacés sans préavis par la rédaction.
- Pour toute remarque concernant le contenu de l'article, pour nous signaler une erreur, une faute d'orthographe, une omission, merci de nous contacter exclusivement par e-mail.
- Relisez-vous, et pour les utilisateurs de Safari profitez de l'aide du navigateur : activez le menu édition > Orthographe > Vérifier l'orthographe lors de la frappe.





Mai 2012
