12

A-Level Computing プロジェクト (高校レベル) を開始しようとしています。このプロジェクトは、Mac OS 用の POS アプリケーションになることを願っています。残念ながら、Objective-C は現時点では私のリーグから少し外れており、プロジェクトで行き詰まった場合、誰も助けてくれる人がいないため、コースのセクションに失敗し、大学に進学できません。だから、これは私にとって非常に重要です。

Python を使用して Cocoa アプリを開発したいと考えています。PyObjc が必要であることはわかっていますが、ネット上のすべての詳細は、PyObjc がプリインストールされていることを前提としているようです。どうやらこれは Leopard と Snow Leopard の場合ですが、Snow Leopard にはないようで、Leopard では気付かなかったようです。また、Sourceforge ページの指示に従って PyObjc の最新のベータ版をインストールしようとしましたが、うまくいきませんでした。

何をインストールする必要があるか、どのようにインストールする必要があるか、および私を助けることができるリソースやチュートリアルへのリンクについて誰かが光を当てることができれば、本当に感謝しています.

助けてくれてありがとう!

更新:これはよくある質問だと思います。「重要な質問」バッジを取得したばかりなので、このページにアクセスした人に、回答を得た後に私が何をしたかを更新すると思いました.

残念ながら、Python を使用して Mac アプリケーションを作成することはできませんでした。これは当時はかなり残念でしたが、おそらく良いことでした。プロジェクト用に C# で Windows アプリを作成しました。これは、シミュレートされた環境でアセンブリ アプリを作成および実行するためのツールでした。コースの先生が自分のツールではなく、私のツールを使用してコースを教え始めました。私はコンピューティング プロジェクトで非常に高いスコア (90% 以上) を獲得し、これがコンピューティング A レベル (利用可能な最高グレード) で A* を取得することに貢献し、その結果、コンピューター サイエンスを学ぶためにサウサンプトン大学に入学しました。

今年の夏、私は iPad アプリ (間もなくリリース予定) を作成することを決定しました。十分に学習したと感じているので、Objective-C で Mac OS アプリケーションを作成できると確信していることを嬉しく思います。時間をかけて学習できたことをうれしく思います。これは素晴らしい言語であり、iOS が非常に普及している中で非常に便利です。

自慢ばかりで申し訳ありませんが、本当に嬉しいです。私が本当に言いたいのは、PyObjc を使って Mac アプリを簡単に作成したいと思ってこのページに来ているのなら、気にしないでください。時間と労力はかかりますが、Objective-C を習得してしまえば、それを使ってアプリを作成するのは本当にやりがいがあります。幸運を!

4

6 に答える 6

18

すでに述べたことを繰り返します。私も Cocoa 開発プロジェクトを始めたばかりの学生ですが、最初は「まあ、Python はもう知っているので、PyObjC を使用するだけで、私の手の届かないところにある Objective-C を学ぶ必要がなくなります。 " それができないことはすぐにわかった。Objective-C を学ばなくても OS X 向けの開発を行うことはできますが、Objective-C で Cocoa アプリを作成するために必要なことの 99% を占める Cocoa ライブラリを学ばなければできません。Objective-C 自体はそれほど難しくありません。学習に投資する必要があるのは Cocoa ライブラリです。

PyObjC は基本的に Cocoa ライブラリと Python 構文を使用します。私はすぐにそれをあきらめ、Cocoa を学ばなければならないのであれば、Objective-C を使用したほうがよいと判断しました。

学びたい場合は、Aaron Hillegass の本から始めることをお勧めします。幸運を!

于 2009-08-31T22:00:20.047 に答える
7

チェックアウトのようなものですか?:-) チェックアウトはゴージャスで PyObjC で書かれているので、私はそれについて言及します...

あなたの懸念は有効ですが、おそらくあなたが思っているほど潜在的なショーストッパーではありません. PyObjC を使用するには、Objective-C をいくらか学ぶ必要があり、Cocoa 固有のタスクを実行する必要があるときはいつでも Cocoa フレームワークを呼び出す必要があるため、少なくともいくつかの Cocoa フレームワークを理解する必要があります。

SOの質問「なぜPyObjCのドキュメントはそんなに悪いのですか?」を読んで検討することをお勧めします。および「Mac 開発向けの PyObjc と RubyCocoa の比較: どちらがより成熟していますか?」「PyObjCだけ」で物事がはるかに簡単になると完全に確信する前に。PyObjC は非常に強力で信じられないほど便利なので、けなすつもりはありませんが、特効薬はなく、すべての問題に最適な言語やテクノロジは存在しないことを認識してください。

Objective-C 言語は単純で、非常に簡単です。一般に、Cocoa フレームワークは、新しい Cocoa プログラマーの学習曲線を支配します。さらに、質問への回答に役立つ StackOverflow やその他の多くのリソースがあります。( 「pyobjc」タグのアクティビティから判断すると、SOで適切なObjective-C のヘルプが得られる可能性も高くなります。)

于 2009-08-31T21:00:03.990 に答える
4

そして、Checkout 開発者の 1 人として、私も参加します (やあ、Quinn!)。これまで見てきたことから、PyObjC は Snow Leopard でかなりうまく動作します。最新の SVN リビジョン 2.2b の 1 つをビルドし、Leopard でいくつかのカスタマイズを行い、site-packages フォルダーに移動しました。

理論的には、組み込みの Python/PyObjC (objc、Foundation、AppKit をインポートするだけ) を使用できるはずですが、Python と PyObjC の両方のカスタム バージョンを出荷/使用しているため、正確なステータスはわかりません。メーリング リストでは、問題を抱えている多くの人 (ほんの数人) について言及していないため、これは良い兆候である可能性があります。

プロジェクトの成功を祈っています。特定の POS に関する質問がある場合は、私にメールを送ってください ;-)

于 2009-08-31T21:48:38.290 に答える
3

私は長い間 iPhone アプリを開発しており (そして、実行スクリプトでアプリのビルド ファイルをパッケージ化するために私の Python の知識のみを使用しています)、その後、いくつかの PyObjC アプリの作成を開始した Python 開発者です。

私が言わなければならないのは、PyObjCはほとんどまだObjective Cを学ばなければならないということです(私はすでにiPhone開発で知っています)が、代わりにそれを使用すると、いくつかのかなりクールな利点が得られます

  • 使い慣れた Python ライブラリを簡単に使用 (より高速に)
  • Cocoa で問題が発生した場合にドロップして wxPython に移動するオプション
  • 開発時間は多少短縮されます (コードの記述が少なくなり、2 つの言語間の翻訳に慣れるのが非常に簡単になります)。

さらに、インターフェイス ビルダーは、比較的話し方に慣れるのが少し難しいですが、Python 開発者であれば、機能的な GUI ビルダーに正確に慣れているわけではありません :oP

于 2009-12-15T05:06:45.517 に答える
3

私自身は PyObjC をほとんど使用していませんが、PyObjC を使用するには、Snow Leopard DVD で Xcode インストーラーを実行する必要があると思います。

また、Quinn が言ったように、PyObjC のような Cocoa ブリッジを髪を引き裂くことなく使用するには、少なくともある程度の Objective-C を理解する必要があります。それはあなたを完全に隔離するわけではありません。

于 2009-08-31T21:06:29.373 に答える
3

ここでクインに同意します。すでに Python に習熟している場合でも、Python と Cocoa のインターフェイスを学ぶことは、Objective-C で Cocoa を学ぶことほど簡単ではありません。

Objective-C は、簡単に理解できるシンプルでクリーンな言語です。GUI を構築してバックエンドに接続することは、Objective-C を学習してバックエンドを作成するよりも難しく、GUI を構築して接続することはそれほど難しくありません。

Cocoa アプリのチュートリアルに従ってください(1 日で完了できるはずです。ゆっくり進めば週末になるかもしれません)。

于 2009-08-31T21:41:34.623 に答える