PyObjc y Cocoa en Snow Leopard

Estoy a punto de comenzar mi proyecto de A-Level Computing (High School Level), que con suerte será una aplicación de punto de venta para Mac OS. Desafortunadamente, Objective-C está un poco fuera de mi scope en este momento y si me quedo con él en el proyecto, no tengo a nadie para ayudar, así que no aprobaré la sección del curso y no entraré en la Universidad. Así que esto es muy importante para mí.

Quiero usar Python para desarrollar una aplicación Cocoa. Sé que necesito PyObjc, sin embargo, todos los detalles en la red parecen suponer que está preinstalado. Aparentemente este es el caso de Leopard y Snow Leopard, pero parece que no lo tengo en Snow Leopard y nunca lo noté en Leopard. Además, he intentado instalar la última versión beta de PyObjc siguiendo las instrucciones en la página de Sourceforge, pero sin suerte.

Realmente agradecería si alguien pudiera arrojar algo de luz sobre qué se necesita instalar, cómo, y enlaces a cualquier recurso o tutorial que pueda ayudarme.

Gracias de antemano por la ayuda!

Actualización: veo que esta es una pregunta popular, acabo de recibir el distintivo de ‘Pregunta notable’, así que pensé que actualizaría a cualquiera que viniera a esta página sobre lo que hice después de recibir las respuestas.

Desafortunadamente, no pude usar Python para crear una aplicación Mac. Esto fue bastante decepcionante en ese momento, pero probablemente fue algo bueno. Hice una aplicación de Windows en C # para mi proyecto, fue una herramienta para crear y ejecutar aplicaciones de ensamblaje en un entorno simulado. ¡Mi profesor del curso ahora ha comenzado a usar mi herramienta para enseñar el curso en lugar de la suya! Obtuve un puntaje muy alto en el proyecto de computación (más del 90%) y esto contribuyó a que obtuviera un A * en mi A-Level de computación (el grado más alto disponible) y, por lo tanto, ingresé a la Universidad de Southampton para estudiar Informática.

Este verano, decidí hacer una aplicación para iPad (que pronto se lanzará) y me alegra decir que sé que puedo hacer una aplicación para Mac OS en Objective-C ya que creo que ya he aprendido lo suficiente. Me alegro de haberme tomado el tiempo para aprenderlo, es un gran lenguaje y realmente útil para que iOS se vuelva tan popular.

Lo siento por todos los alardes, pero estoy muy feliz por ello. Lo que realmente quiero decir es que si vienes a esta página con la esperanza de usar PyObjc para crear aplicaciones de Mac fácilmente, no te preocupes. Lleva tiempo y esfuerzo, pero una vez que haya aprendido Objective-C, es realmente satisfactorio crear aplicaciones con él. ¡Buena suerte!

Permíteme repetir lo que ya se ha dicho. Yo también soy un estudiante que acaba de comenzar un proyecto de desarrollo de Cocoa, y al principio pensé “Bueno, ya conozco Python, solo usaré PyObjC y me ahorraré de tener que aprender Objective-C, que parece más allá de mi scope. ” Aprendí rápidamente que no se puede hacer. Puede desarrollar para OS X sin aprender Objective-C, pero no sin aprender las bibliotecas de Cocoa, que constituyen el 99% de lo que necesita aprender para escribir una aplicación de Cocoa en Objective-C. Objective-C en sí no es tan difícil; son las bibliotecas de cocoa las que necesitas invertir en aprendizaje.

PyObjC básicamente usa las bibliotecas Cocoa y la syntax de Python. Me di por vencido rápidamente y decidí que si iba a tener que aprender Cocoa, también podría utilizar Objective-C.

Si buscas aprender, el libro de Aaron Hillegass es un buen lugar para comenzar. ¡Buena suerte!

¿Quieres decir como Checkout ? 🙂 Solo lo menciono porque Checkout es magnífico y está escrito con PyObjC …

Sus inquietudes son válidas, aunque probablemente no sean tan buenas como las que usted cree. El uso de PyObjC aún requiere que aprenda algo de Objective-C, y definitivamente requiere que comprenda al menos algunos de los marcos de Cocoa, ya que necesita llamar a los marcos de Cocoa siempre que necesite hacer algún tipo de tarea específica de Cocoa.

Le recomiendo que lea y considere la pregunta SO “¿Por qué la documentación de PyObjC es tan mala?” y “PyObjc vs RubyCocoa para el desarrollo de Mac: ¿Cuál es más maduro?” antes de convencerse completamente de que “solo PyObjC” hará las cosas mucho más fáciles. Me niego a menospreciar a PyObjC porque es bastante potente e increíblemente útil, pero me doy cuenta de que nada es una bala de plata, y que ningún lenguaje o tecnología es mejor para todos los problemas.

El lenguaje Objective-C es simple y bastante sencillo. Los marcos de Cocoa generalmente dominan la curva de aprendizaje para los nuevos progtwigdores de Cocoa. Además, tiene StackOverflow y muchos otros recursos para ayudar a responder sus preguntas. (A juzgar por la actividad de la etiqueta “pyobjc” , también tiene más posibilidades de obtener una buena ayuda de Objective-C en SO).

Y como uno de los desarrolladores de Checkout, también participaré (¡Hola, Quinn!). Por lo que hemos visto, PyObjC funciona bastante bien en Snow Leopard. Hemos creado una de las últimas revisiones de SVN 2.2b con algunas personalizaciones en Leopard y nos hemos movido sobre la carpeta de paquetes de sitio.

Teóricamente, debería poder usar Python / PyObjC (solo importa Imjc, Foundation, AppKit), pero como enviamos / trabajamos con versiones personalizadas de Python y PyObjC, no estoy seguro de cuál es el estado exacto. La lista de correo no menciona a muchas personas que tienen problemas (solo unos pocos), por lo que podría ser una buena señal.

Buena suerte con el proyecto, y si tiene preguntas específicas de POS, envíeme un correo electrónico 😉

Yo apenas uso PyObjC, pero creo que necesita ejecutar el instalador de Xcode en el DVD de Snow Leopard para poder usar PyObjC.

Además, como dijo Quinn, necesitarás entender al menos algo de Objective-C para usar un puente Cocoa como PyObjC sin arrancarte el cabello. Simplemente no te aísla tan completamente.

Voy a estar de acuerdo con Quinn aquí. Incluso si ya dominas Python, aprender a interactuar con Python y Cocoa no será más fácil que aprender Cocoa con Objective-C.

Objective-C es un lenguaje simple y limpio que es bastante fácil de asimilar. Crear la GUI y conectarlo al back-end será más difícil que aprender el Objective-C para escribir el back-end, y construir la GUI y conectarlo no es tan difícil.

Sigue el tutorial de la aplicación Cocoa (deberías poder superarlo en un día, o quizás un fin de semana si vas lento) y estarás en el buen camino.

Soy un desarrollador de Python desde hace mucho tiempo que ha estado haciendo aplicaciones de iPhone por un tiempo (y solo estoy usando mi conocimiento de Python para empaquetar archivos de comstackción para las aplicaciones en scripts de ejecución), y luego empecé a crear algunas aplicaciones PyObjC.

Debo decir que PyObjC sigue teniendo que aprender el objective C (que ya conozco a través del iPhone), sin embargo, obtienes varios beneficios muy buenos si lo usas.

  • Fácil uso de las bibliotecas de Python que conoces (más rápido para ti)
  • Opción de soltarlo y dirigirse a wxPython si estyimied por Cocoa
  • Tiempo de desarrollo algo más rápido (estás escribiendo menos código, y es bastante fácil acostumbrarse a la traducción entre los dos idiomas).

Además, el generador de interfaces es un poco difícil de usar para comparativamente hablando, pero si eres un desarrollador de Python, no es como si estuvieras exactamente acostumbrado a un generador de GUI funcional de todos modos: oP