Pour l'instant, il ne semble pas y avoir de paquetage pour lier Cocoa à Go. Cocoa est écrit en Objective-C, qui est un sur-ensemble du C. Les messages Objective-C sont (ou du moins l'étaient, je ne suis pas sûr des compilateurs modernes) traduits en appels de fonctions C par le compilateur, comme ceci :
objc_msgSend(object, sel_getUid("foo:bar:err:"), var, var2, errVar);
Il est donc tout à fait possible d'utiliser Cocoa à partir de Go.
Si vous vous trouvez face à un problème où vous souhaitez utiliser Cocoa dans une application Go, prenez du recul et réfléchissez au problème que vous essayez de résoudre. Cocoa fait un usage intensif de paramètres nommés et les méthodes peuvent avoir des signatures assez longues. Cela fonctionne bien en Objective-C mais je doute que le code soit aussi beau en Go. D'un autre côté, le Go résout une autre série de problèmes. Peut-être qu'écrire une bibliothèque (logique d'application) en Go et du code d'interface graphique en Objective-C/Cocoa ferait l'affaire ?
TL;DR : Que diriez-vous d'écrire le modèle en Go et le code de l'interface graphique en Objective-C ?
0 votes
Hahaha... Le plus gros point faible de Go... l'interopérabilité.
0 votes
? C'est le cacao qui est natif du Mac, pas le Go.
4 votes
"Hahaha" quoi ? Le commentaire sur le "plus gros point faible" n'a pas de sens. Et même si c'était le cas, il n'y aurait pas de "hahaha" à ce sujet. Go a une excellente FFI C et il est très facile d'ajouter des liens Go à quelque chose (plus facile que beaucoup d'autres langages, comme Java ou même Python).
15 votes
"C'est cacao qui est mac-natif, pas Go", en fait Go est également mac-natif. Le compilateur Go est un exécutable OS X natif qui produit des exécutables OS X natifs. Quelqu'un dans ce fil de discussion sait-il de quoi il parle ?
0 votes
@porneL a-t-on eu de la chance sur ce sujet au cours de l'année écoulée en ce qui concerne l'intégration ? Il semble qu'en utilisant CGo, on pourrait construire un paquet assez attrayant.