6

バックグラウンド:

近い将来、iPhone と Android のバージョンでローンチする予定の Web アプリケーションに取り組んでおり、さまざまなフロントエンドで使用する API の開発についていくつか質問があります。

私はこれから始めました:

私はこの TutsPlus チュートリアルを読んでいました。これは、API 中心の Web アプリケーションの作成について説明しています。つまり、すべてのブラウザー呼び出しとスマートフォン アプリ呼び出しは API を介してルーティングされます。

特に興奮したのは、Twitter のチュートリアルにある次のステートメントです。

最も重要なアーキテクチャ上の変更の 1 つは、Twitter.com が独自の API のクライアントになったことです。モバイル サイト、iPhone、iPad、Android 用のアプリ、およびすべてのサードパーティ アプリケーションが使用するのと同じエンドポイントからデータをフェッチします。

上記のステートメントは、私が理想的に作成したいものを反映しています。

それから私はこれを見ました:

この TutsPlus チュートリアルを見つけました。これは、CodeIgniter 用の REST API を構築する方法について説明しています。Modular Extensions プラグイン HMVCを使用して CodeIgniter でアプリケーションを開発しているので、これは良いことでした。私の目的には完璧だと思いました。

私がやや迷っている唯一のことは、Phil Sturgeonが API を作成するために提案しているように見える方法です。彼は、すべてのフロントエンド コード モジュールを完成させてから、各モジュールの API をそれぞれのディレクトリに作成することを提案しています (この順序である必要はありません)。API 中心にしたくない場合は、これで問題ありません。

そして、私はこれを行う方法を知りたい:

両方のチュートリアルをブレンドするには、どうすればよいですか。

  • ブラウザ アプリケーションと個別のモバイル アプリケーションで使用できる API 中心のアプリケーション
  • CodeIgniter 用の REST API (HMVC モジュールを使用)

するべきか:

  • API 中心のチュートリアルに従って、自分のニーズに合わせて調整してみてください。
  • CodeIgniter 固有のチュートリアルに従い、Phil Sturgeon のアドバイスを使用して HVMC で実装する方法を教えてください。
  • 両方の組み合わせ?
  • ない?
4

1 に答える 1

3

ニックジャクソンによるあなた自身のドッグフーディングを食べることを見てください。これらはCICONF2012のスライドで、これがすべてどのように機能するかを詳しく説明しています。

最初にAPIを構築することは素晴らしいアイデアです。次に、アプリケーションはAPIを使用してデータ自体をフェッチできます。もちろん、これはデータにHTTPリクエストを追加するので少し遅くなりますが、ローカルではそれほど悪くはなく、HMVCを使用してリクエストを作成するとさらに速くなります。

チュートリアルでは、HMVCは追加のテーマであるため入門しませんでしたが、モジュラーAPIを追加するのに最適です。いくつかの単純なアプリケーションでは、チュートリアルで提案されているように/ apiフォルダーを作成しますが、PyroCMS ProfessionalにはAPIモジュールと、モジュラーAPIを使用できるようにするためのセクシーなルートがあります。

$route['api/([a-zA-Z0-9_-]+)/(:any)']       = '$1/api/$2';
$route['api/([a-zA-Z0-9_-]+)']              = '$1/api/index';

つまり、すべてのモジュールに「api.php」コントローラーを含めることができ、それでも/ api / controller / method構文を使用できます。また、ある場合は/ api/controllerを使用することもできますfunction index_get()

この機能については、PyroCMSProfessionalを入手することを強くお勧めします。はい、支払う必要がありますが、ユーザーキーの生成、承認、ロギングなどをすべてすぐに処理し、Webサイトも処理します。

于 2012-05-27T15:17:02.370 に答える