12
votes

Pyobjc et cacao sur le léopard des neiges

Je suis sur le point de démarrer mon projet d'informatique de niveau A (niveau secondaire) qui, espérons-le, une application point de vente pour Mac OS. Malheureusement, l'objectif-c est un peu hors de ma ligue à l'heure actuelle et devrais-je rester coincé dans le projet que je n'ai personne pour aider, alors je voudrais échouer à la section du cours et que je n'entre pas dans l'université. Donc, c'est assez important pour moi.

Je veux utiliser Python pour développer une application de cacao. Je sais que j'ai besoin de pyobjc, mais tous les détails sur le net semblent supposer qu'il est préinstallé. Apparemment, c'est le cas avec le léopard et le léopard des neiges, mais je ne semble pas l'avoir sur le léopard des neiges et je ne l'ai jamais remarqué sur le léopard. En outre, j'ai essayé d'installer la dernière version bêta de Pyobjc en suivant les instructions de la page Sourceforge, mais sans chance.

J'apprécierais vraiment que quelqu'un puisse perdre une lumière sur ce qui doit être installé, comment et liens vers des ressources ou des tutoriels pouvant m'aider.

Merci d'avance pour l'aide!

mise à jour: Je vois qu'il s'agit d'une question populaire, je viens de recevoir le badge «question notable» pour cela, je pensais que je voudrais mettre à jour quelqu'un qui vient à cette page sur ce que j'ai fait après avoir obtenu le réponses.

Malheureusement, je n'ai pas pu utiliser Python pour créer une application MAC. C'était plutôt décevant à l'époque, mais probablement une bonne chose. J'ai fait une application Windows en C # pour mon projet, il s'agissait d'un outil de création et d'exécution d'applications d'assemblage dans un environnement simulé. Mon professeur de cours a maintenant commencé à utiliser mon outil pour enseigner le cours au lieu de sa propre! J'ai obtenu un score très élevé sur le projet informatique (plus de 90%) et cela m'a contribué à obtenir un * dans mon calcul à un niveau de calcul (la plus haute teneur disponible) et je suis par conséquent dans l'université de Southampton pour étudier l'informatique.

Cet été, j'ai décidé de faire une application iPad (bientôt être publiée) et je suis heureux de dire que je sais que je sais que je pourrais faire une demande de système d'exploitation Mac à Objective-C, comme je l'ai la peine d'avoir suffisamment appris. Je suis heureux d'avoir pris le temps de l'apprendre, c'est une grande langue et vraiment utile avec IOS de devenir si populaire.

Désolé pour tout le bovers, mais je suis vraiment heureux de ça. Ce que je veux vraiment dire, c'est que si vous arrivez à cette page dans l'espoir d'utiliser PyOBJC pour créer facilement des applications Mac, ne vous inquiétez pas. Il faut du temps et des efforts, mais une fois que vous avez appris Objective-C, il est vraiment satisfaisant de créer des applications avec elle. Bonne chance!


5 commentaires

Avez-vous essayé d'utiliser MacPorts pour installer PyOBJC?


Avez-vous installé la dernière version des outils de développeurs? Je n'ai jamais utilisé pyobjc, mais je ne pense pas que ce sera plus facile que d'utiliser l'objectif-c. C'est une langue facile à apprendre et puisque les API Mac OS X ont été conçues avec cela, ils fonctionnent très bien avec elle. Vous pouvez même utiliser la collecte des ordures si vous ne voulez pas vous inquiéter de la gestion de la mémoire, mais le comptage de référence intégré est suffisamment simple que je n'ai jamais eu l'impression d'utiliser une collection à la poubelle. C'est aussi quelque chose que vous devriez savoir si vous voulez continuer le développement de Mac.


Merci pour la réponse, j'essaierai d'utiliser Macports pour installer PyOBJC et j'ai les derniers Xcode 3.2, Dev Outils et SDKS. J'ai essayé Objective-C et j'ai un livre dessus, mais je ne faisais que la programmation de base dans le passé comme passe-temps et comme cours de lycée, j'ai lutté avec elle. Cela semble beaucoup plus difficile que c # .net que j'ai fait. De plus, si je ne reçois pas le logiciel qui fonctionne, il y a beaucoup en jeu et je ne connais personne qui peut m'aider si les choses vont mal. Au moins, j'ai un ami qui est un peu un gourou python si je choisis d'utiliser pyobjc.


C'est bon, mais python expertise ≠ PyObjc Expertise. J'ai un ami (maintenant à Amazon), c'est probablement le plus grand expert de Python que je connais, mais il a été complètement soulevé quand il est venu à Pyobjc et est venu à moi pour l'aide. Il pourrait peut-être vous aider à concevoir une fin de python, mais ne vous attendez pas à ce qu'il connaisse quoi que ce soit sur l'interface avec le cacao. Bonne chance!


Pyobjc est installé par défaut sur Snow Leopard, au moins dans le cadre des outils Xcode. Assurez-vous que vous avez fait cela. Aussi, méfiez-vous de sources tiers de python tels que Fink, Macports et la construire vous-même, car ces installations pas ont pyobjc-si vous installez un autre python, vous auriez effectivement besoin d'installer un autre pyobjc ainsi que.


6 Réponses :


7
votes

Vous voulez dire comme Checkout ? :-) Je ne le mentionne que parce que la caisse est magnifique et écrite avec pyobjc ...

Vos préoccupations sont valables, bien que probablement pas autant d'aspect potentiel que vous le pensez. L'utilisation de PYOBJC nécessite toujours d'apprendre de l'objectif-C et vous oblige à comprendre au moins certains des cadres de cacao, car vous devez appeler dans les cadres de cacao chaque fois que vous devez faire une sorte de tâche spécifique au cacao.

Je vous recommande de lire et de considérer la question de la question "Pourquoi la documentation PYOBJC est-elle si mauvaise?" et CYOBJC vs Rubycocoa pour le développement MAC: qui est plus mature? " Avant de vous convaincre complètement que" Just Pyobjc "fera beaucoup plus de choses. Je refuse de dénoncer Pyobjc car il est assez puissant et incroyablement utile, mais réalisez que rien n'est une balle d'argent, et aucune langue ni technologie n'est la meilleure pour tous les problèmes.

Le langage Objective-C est simple et assez simple. Les cadres de cacao dominent généralement la courbe d'apprentissage pour les nouveaux programmeurs de cacao. De plus, vous avez Stackoverflow et beaucoup d'autres ressources pour répondre à vos questions. (À en juger par l'activité du "PYOBJC" "" PYOBJC ", vous avez également une meilleure chance d'obtenir de bons Objective-c Aide sur SO.)


0 commentaires

3
votes

Je n'utilise pas moi-même Pyobjc moi-même, mais je pense que vous devez exécuter l'installateur Xcode sur le DVD de Snow Leopard afin d'utiliser PYOBJC.

En outre, comme dit Quinn, vous devrez comprendre au moins un objectif-C afin d'utiliser un pont de cacao comme Pyobjc sans vous déchirer vos cheveux. Cela ne vous isole tout simplement pas complètement.


0 commentaires

3
votes

Je vais d'accord avec Quinn ici. Même si vous maîtrisez déjà Python, apprenez à interfacer l'interface Python et le cacao ne sera pas plus facile que d'apprendre le cacao avec objectif-c.

Objective-C est un langage simple et propre assez facile à grok. Construire l'interface graphique et l'accrocher au fond sera plus difficile que d'apprendre l'objectif-c pour écrire le dos, et construire l'interface graphique et l'accrocher n'est pas si difficile.

Suivez Tutoriel de l'application COCOA (vous devriez être capable de passer à travers elle dans une journée, ou peut-être un week-end si vous allez lentement) et vous serez bien sur votre chemin.


0 commentaires

4
votes

et comme l'un des développeurs de paiement, je vais trop peser (salut quinn!). De ce que nous avons vu Pyobjc court assez bien sur le léopard des neiges. Nous avons construit l'une des dernières révisions SVN 2.2b avec certaines personnalisations sur Leopard et simplement déplacées sur le dossier Packages de site.

théoriquement, vous devriez pouvoir utiliser le Python / Pyobjc intégré (juste importer Objc, Foundation, APPKIT), mais aussi expédier / travailler avec des versions personnalisées de Python et Pyobjc, je ne suis pas sûr de ce que le statut est exactement . La liste de diffusion ne mentionne pas beaucoup de personnes ayant des problèmes (juste quelques-uns) afin que cela puisse être un bon signe.

Bonne chance avec le projet, et si vous avez des questions spécifiques positionnées, tournez-moi un email; -)


0 commentaires

18
votes

Permettez-moi d'echo ce qui a déjà été dit. Moi aussi, je suis un étudiant qui vient de commencer un projet de développement de cacao et, au début, j'ai pensé «Eh bien, je connais déjà Python, je vais simplement utiliser pyobjc et me sauver de devoir apprendre l'objectif-C, qui compte au-delà de ma saisie. " J'ai appris rapidement que cela ne peut pas être fait. Vous pouvez développer pour OS X sans l'apprentissage de l'objectif-C, mais pas sans apprendre les bibliothèques de cacao, qui constituent 99% de ce que vous devez apprendre à écrire une application de cacao dans l'objectif-c. Objective-C elle-même n'est pas si difficile; Ce sont les bibliothèques de cacao que vous devez investir dans l'apprentissage.

PYOBJC utilise essentiellement des bibliothèques de cacao et la syntaxe Python. Je l'ai abandonné rapidement et j'ai décidé que si j'allais devoir apprendre le cacao, je peux aussi bien utiliser l'objectif-c.

Si vous cherchez à apprendre, le livre d'Aaron Hillegass est un bon endroit pour commencer. Bonne chance!


6 commentaires

Ok, je ne posterai pas de commentaires sur toutes les questions, mais laissez-moi vous dire grâce au soutien de tout le monde. J'apprécie vraiment cela! J'ai déjà installé les trucs développeurs du disque, mais les trucs Pyobjc n'y sont pas dans Xcode. La raison pour laquelle je suis réticent à utiliser objc est parce que si je suis coincé, il y a éventuellement une place uni en jeu et que je souhaite étudier CS, je ne peux pas me permettre de ne pas avoir de A dans ce travail. Aussi, merci à Koen! C'est en fait une application de point de vente que je vais écrire et je commande m'a inspiré pour utiliser PyObJC. Merci à tout le monde, vous m'avez persuadé d'utiliser Pure Objc, je pense.


Oh, et j'ai déjà le livre d'Aaron Hillegass, mais le fait qu'il inclut le code de la gestion de la mémoire me effaçait un peu.


FYI, la plus grande raison pour nous d'écrire un checkout à Python était Sqlalchemy, un orme formidable. Je pense que si ce n'était pas le cas, j'utiliserais OBJ-C aussi.


En tant que mainteneur de Pyobjc depuis près de 15 ans, je le dirai francieusement. Utilisez l'objectif-c. Vous devrez connaître l'objectif-C afin de bien comprendre le cacao de toute façon et que Pyobjc va simplement ajouter une couche de bugs et de problèmes extraterres à 99% des programmeurs de cacao.


Si vous ne voulez pas faire face à la gestion de la mémoire, activez la collection de déchets et ignorez le code MM dans le livre Hillegass, ou l'inclure dans votre programme. Si vous avez activé GC, le code MM ne fera rien.


C'est certainement vrai. Pour apprendre le cacao, vous devez apprendre l'objectif-c. PyOBJC pourrait être une bonne solution pour porter une application Python à OSX; Il serait bon de savoir comment commencer avec Pyobjc sur Snow Leopard ... E.g, où sont le modèle Xcode pour Pyobjc. Je me souviens d'eux sur Leopard (je pense). Je ne peux pas les trouver sur le léopard des neiges.



3
votes

Je suis un développeur de python de longue date qui fait des applications iPhone pendant un moment (et utilise uniquement mes connaissances Python pour emballer des fichiers de construction pour les applications dans les scripts d'exécution), puis qui a commencé à faire des applications PyOBJC.

Je devrais dire que Pyobjc a toujours beaucoup à apprendre l'objectif C (que je connais déjà via iPhone Dev), mais vous obtenez plusieurs avantages assez cool si vous l'utilisez plutôt

  • Utilisation facile des bibliothèques de Python que vous connaissez (plus vite pour vous)
  • option pour le laisser tomber et aller à wxpython si la cacaa
  • Un peu plus rapide de temps de développement (vous écrivez moins de code et la traduction entre les deux langues est assez facile à vous habituer à).

    En outre, l'interface Builder est un peu délicat pour s'habituer à comparer comparativement, mais si vous êtes un Dev python, ce n'est pas comme si vous êtes utilisé exactement dans un constructeur d'interface graphique fonctionnelle de toute façon: OP


0 commentaires