2009-12-04 13 views
5

私は、エンタープライズJava開発組織から来ています。ここで、私たちはきれいに分離した再利用可能なレイヤーで開発を行いました。永続性レイヤー、サービスレイヤーなど複雑なiPhoneアプリケーションを設計するには?

複雑なiPhoneプロジェクトのアーキテクチャーに関するiPhoneのサンプルアプリケーションやドキュメントを探しています。ほとんどの本&アップルの例では、非常に限定されたコード&アーキテクチャを示しています。彼らは使用できません。

私が探しているのは、コードチェックですべてのユニットテストを実行する連続統合ビルドシステムの設定方法です。&はユニットテスト結果をシステムに報告して結果を確認できます。 Javaプロジェクトでは、svn、mvn &ソナーを使用しています。この設定に対応するAppleの機能は何ですか?それも可能ですか?

私の質問を要約すると:
Q1:複雑なiPhoneプロジェクトのアーキテクチャに関する例や書籍はありますか?
Q2:継続的な統合ビルドシステムを設定するにはどうすればよいですか?

答えて

6

例の複雑さはどれくらいですか?This questionは、Apple以外の多くのオープンソースのiPhoneアプリケーション(my ownなど)へのリンクです。そこにあるアプリケーションの中には比較的複雑なものがあります。

デザインに関しては、Cocoa Design Patternsという本をお勧めします。厳密にはiPhone用ではありません(NeXTでのココアの始まりと最近のMacでの存在)が、デザインパターンはCocoaフレームワークとCocoaアプリケーションのアーキテクチャの核心です。

また、WWDC 2009 videosを支払い、セッション「iPhoneユーザーインターフェイスデザイン」、「効果的なiPhoneアプリケーションアーキテクチャ」、および「プロトタイプiPhoneユーザーインターフェイス」を視聴することをお勧めします。これらのセッションでiPhoneアプリケーションを設計するための良い提案がたくさんあります。

私は自分のアプリケーションで単体テストを使用しましたが、私はどのような形でも継続的統合を行っていません。しかし、this questionには、Xcodeとの継続的な統合に関する多くの優れた情報があるようです。

5

iPhoneの遺産はNeXT ComputerによってOpenStepにまでさかのぼります。 NeXTの主な焦点はカスタムエンタープライズアプリケーションでした。 iPhoneに搭載されている技術は、企業環境で実証されています。 NeXTは、特にオブジェクト技術、パターン、およびMVCの元々の主張者の1人でした。

つまり、以前はOpenstepで利用可能だったもののいくつかは消えています。 NeXTはApple社の内部でまだ使用されていますがiTunes /などの機能を使用していますが、Objective-C(Java版がまだ存在します)を使用している顧客にとっては推奨されていない、根本的に進歩したORMシステム(Enterprise Objects Framework - http://en.wikipedia.org/wiki/Enterprise_Objects_Framework)ライトORM、Core Data(http://developer.apple.com/macosx/coredata.html)が採用され、現在はiPhoneで利用可能です。 SQLite(これは素晴らしい)もiPhoneにバンドルされており、開発者が利用できます。

もうひとつの軟膏は、iPhoneのXcodeの現在のバージョンでは、サブプロジェクトやフレームワークの把握が制限されているため、再利用可能なコードを以前よりも分割するのが難しいということです。 OmwoodのTim Wood氏は、iPhone上でXCode内のフレームワークを管理する方法についていくつかの詳細を提供しています(http://blog.omnigroup.com/2008/10/01/using-frameworks-in-iphone-applications/)残念ながら、このプロセスは、それほど簡単ではありません。

どの書籍が利用できるのかよく分かりませんが、以前のOpenstep開発者のほとんどはエンタープライズ開発の専門知識を持っています。あなたは、プロジェクトに取り組むことを検討するかもしれません。

のsvnとMVNが用意されています/ OS X上ではfinkのようなシステムやMacPortsを介して他の、オープンソースパッケージに引っ張るためのオプションもありますバンドルさ:

TDDをサポートするいくつかのフレームワークオプションもあります。 Test Driven Design for iPhone Native apps

今回はObjective-Cというソナーgroksのようには見えません。あなたのオプションに応じて、おそらくあなたのためのモジュールを開発することができますか?

関連する問題