2009-10-05 8 views
19

あなたは非常に大きく、複雑なデスクトップアプリケーションをMVCで正しく書かれたobjective-c/cocoaで書いたといいます。その後、VとCを置き換えてWebアプリケーションにしたいのですか?objective-cを使用したWebアプリケーションプログラミング?

目的のCではTomcatのようなものはありますか?私が考えることができる最も近いことは、何とかモデルコードをApacheモジュールに変換してApacheモジュールにロードすることです。

明らかに、私はある種のHTTPサーバーを埋め込み、セッションや要求や応答などを管理するためのコード全体を書くことができますが、もっと簡単な方法がありますか?

答えて

11

ほとんどの場合、サーバーはそのままにしておくことができます。私はバックグラウンドでデーモンとして実行します。

私はコントローラの部分を分割します。その1つの部分は、HTTP要求とデーモン間の接続としてサーバー上に存在します。

  • 独自のhttpサーバーを実行できます。
  • Apacheモジュールに記述したようにビルドすることができます。
  • CGI経由でコントローラにアクセスできます。これは私が見るように、最も簡単なオプションです。

コントローラーの2番目の部分は、ブラウザーでJavascriptで記述され、サーバーとデータを交換し、GUIを更新します。

ビュー部分は完全にjavascriptで書かれています。あなたがしたい場合 - -


  • あなたは可能性があり、サーバー上のコントローラを除外し、モデルがHTTP要求を理解させます。

  • コントローラ/ビューのパーツについては、フレームワークの使用を検討してください。

    • jQuery軽いインタフェースの場合のみです。 (または同様のフレームワーク)
    • モデルのすべてをサーバーに残すフレームワークはまだ見つかりませんでした。たぶんあなたはSproutCoreまたはCappuccinoをそれに応じて使うことができます。
    • SproutCore、アップルが使用する完全バックアップされたMVCフレームワーク。 (少なくとも考えてみてください)
    • Cappuccino、もう1つのフルバックアップMVCフレームワークです。
6

あなたはカプチーノを見ましたか? http://cappuccino.org/

私は使用していませんが、それについて多くの良いことを聞いてきました。

1

Objective-CのWebフレームワークに最も近いのはSOPEまたはGNUStepです。どちらもこれまで使用していませんでしたが、RailsやObjective-私のウェブ用のC。 ARJDatabaseもあります。これはCore Dataのようなものですが、ソースとの互換性はありません。

あなたのコードを書いた方法(GNUStepを念頭に置いて書きましたが、Apple特有のものは使用しませんでした)について非常に注意しない限り、おそらくかなりのとにかく仕事。 Core Dataを使っていれば、Mac App以外で再利用する方法はわかりません。とにかく、複数の同時ユーザーが使用するようにセットアップされているわけではないので、とにかくWebアプリケーションでそれを使用したくないのです。結論として、私はRailsに行った。

3

BombaxというObjective-C/Cocoa用の新しいWeb開発プラットフォームがあります。探しているもののように聞こえます(Objective-CでWebアプリケーション全体を記述できるように設計されています)。おそらくあなたはそれをカプチーノと組み合わせることさえできます。 http://www.bombaxtic.comで確認できます。

+0

ウェブサイトがダウンしており、[Google Code source](https://code.google.com/p/bombax/source/list)は2010年5月から更新されていません。 –