12

私は何年も前に C++ で開発を行ってきましたが、最近は主に Java ソフトウェア エンジニアです。私は iPhone を所有しており、来月には MacBook を購入する準備ができており、(Objective C を使用して) Mac OS の開発を開始することに一般的に関心があるので、次の質問をすぐに出そうと思いました: 次は何ですか?

より具体的には、どの本を手に取る必要がありますか? また、一部の人々が私に指摘できる Web リソースはありますか? 私が購入を計画しているいくつかの本:

これらのタイトルを知っている人はいますか?最後に、この旅に出たときに何を期待できるかをまとめたいと思います。IntelliJ IDEA を使用して Java で開発を行っている者として、Xcode で ObjectiveC コードを作成する際に気付く主な違いは何ですか? Mac OS デスクトップ開発と iPhone 開発の違いは何ですか? Java ガベージ コレクションに慣れているので、ObjectiveC ガベージ コレクション / メモリ管理について知っておくべきこと。誰かが指摘したい他の言語固有の問題はありますか? UIの構築はどうですか?コードが対話する Visual C++ リソース ファイルを構築する Swing に近いですか、それとも guis 用のコードを生成する borland IDE のようなものですか?

4

6 に答える 6

11

質問の本を 2 冊とも購入したので、言語と Cocoa フレームワークを学ぶ手っ取り早い方法として、Mac OS X 用の Cocoa プログラミングをお勧めします。これはおそらく、Cocoa で実際のアプリケーションの作成を開始するための最速の方法です。強くお勧めします。Objective-C 2.0 でのプログラミングは優れた参考書ですが、C を既に知っている場合は、他の本から習得できないことを教えてくれることはあまりありません。ただし、Objective-C のすべての予約済みキーワードのリストが必要な場合は、この本を参照してください。

すべてのユーザー インターフェイスはプログラムで生成できますが、XCode に付属の Interface Builder を使用してユーザー インターフェイスをレイアウトする方がはるかに簡単です。コードが大幅に減ります。バインディングを使用すると、インターフェイスのレイアウトに直接関係のないコードを削除することもできます。詳細は Cocoa Programming for Mac OS X book にあります。

私が Java に欠けている大きなものの 1 つは、コレクション API です。Cocoa では、NSSet、NSArray、および NSDictionary を取得するだけで、Comparable インターフェイスに類似するものはありません。これらのクラスも不変ですが、NSMutableArray などの可変バージョンがあります。

実際、Objective-C 2.0 のガベージ コレクションで遊んだことはありません。Objective-C の以前のバージョンでは、メモリ管理は、retain、release、および autorelease メソッドによって処理されていました。オブジェクトは保持カウント 1 で作成されました。保持するとカウントが増加し、解放すると減少します。オブジェクトの自動解放はもう少し複雑です。繰り返しますが、Cocoa プログラミングの本でよく説明されています。ガベージ コレクションはオプションであり、有効になっている場合、retain、release、および autorelease メソッドは何もしません。ただし、他のユーザーが使用するライブラリまたはフレームワークを作成している場合は、ガベージ コレクションがオフになっているかのようにプログラムする必要があります。そうすれば、ガベージ コレクションがオンになっているかどうかに関係なく、アプリケーションでそれを使用できます。

Web リソースに関しては、http://cocoadevcentral.com/は初心者向けのチュートリアルがある素晴らしいサイトです。http://www.cocoadev.com/の CocoaDev Wiki には、多くのトピックに関する詳細な情報が含まれており、通常、cocoa-dev メーリング リストhttp://lists.apple.com/で、いくつかの有用な情報や人々を見つけることができます。mailman/listinfo/cocoa-dev

iPhone の開発は少し異なり、詳細は NDA によって制限されています。ただし、Apple の承認を得て iPhone 開発者センターへのアクセスを取得した場合、Apple は相違点をまとめた優れたビデオ概要をいくつか提供しています。このビデオでは、Mac OS X から iPhone OS X プログラミングに移行するために必要なドキュメントを紹介しています。

于 2008-09-26T04:52:40.083 に答える
1

Cocoa Programming for Mac OS X を入手してください。あなたの質問のほとんどは、その本で答えられます。XCoder になるCocoa Dev Centralを読み始めることもできます。

iPhone SDK はまだ NDA の下にあるため、Apple が提供するものを除いて、それに関するオンライン リソースを見つけることはできません。

Cocoa UI は MVC に基づいています。Interface Builder を使用してビューを設計し、それをモデルとコントローラーにバインドします。Objective C は、C と Smalltalk の混合物です。

于 2008-09-25T18:42:03.437 に答える
0

IntelliJからXcodeにジャンプするときは、かなり裸に感じると思います。しかし、これはツールの観点からだけです。余分な服を持参してください(TextMate + FScript)!

于 2008-12-04T09:13:56.547 に答える
0

もう 1 つのオプションは jaiPhon です。これを使用すると、ビルド時に iPhone 用に変換される Java アプリを作成できます。

まだ販売されているのか、それとも商用製品なのかはわかりませんが、それでも興味深いものです。

http://www.jaiphon.com/

于 2008-09-25T18:46:15.470 に答える
0

角括弧はもうご存知ですか?

ここでは、私の観点からその根拠を簡単に説明します。これも役立つことを願っています。

于 2008-12-03T05:37:32.493 に答える
0

これもチェックしてください:

http://www.xmlvm.org/overview/

さまざまなソース言語で書かれたプログラムをさまざまなターゲット言語にクロスコンパイルできるようにするプロジェクトです。初期のテスト ケースの 1 つは、Java でプログラムを作成し、iPhone で実行することでした。サイトでビデオを見る価値があります。

そうは言っても、私はそれを試していません。このプロジェクトはかなりベータ版のようで、SourceForge サイトでの活動はあまり多くありません。

于 2008-12-03T05:13:30.527 に答える