たくさんのWebアプリを最初から作成しようとしています。(概要については、http: //50pop.com/codeを参照してください。)フロントエンドWebサイト、スマートフォンアプリ、バックエンドWebサービスなど、さまざまなクライアントからアクセスできるようにしたいと考えています。それぞれのJSONRESTAPI。
また、私はバックエンドで作業することを好むので、純粋にAPIに焦点を合わせ、Webサイト、iPhone、Android、またはその他のアプリであるかどうかにかかわらず、フロントエンドUIを作成するために他の誰かを雇うことを夢見ています。
どのアプローチを取るべきかを決めるのを手伝ってください:
Railsで一緒に
非常に標準的なRailsWebアプリを作成します。コントローラで、respond_withスイッチを実行して、JSONまたはHTMLのいずれかを提供します。その場合、JSON応答が私のAPIになります。
プロ:前例がたくさんあります。素晴らしい基準とこの方法で物事を行う多くの例。
短所: APIがWebアプリと同じである必要はありません。if /thenrespond_withスイッチアプローチは好きではありません。2つの非常に異なるものを混合する(UI + API)。
RESTサーバー+JAVASCRIPT-ヘビークライアント
JSONのみのRESTAPIサーバーを作成します。クライアント側のJavaScriptにはBackboneまたはEmber.jsを使用して、APIに直接アクセスし、ブラウザーにテンプレートを表示します。
プロ: APIとクライアントの分離が大好きです。賢い人々は、これが進むべき道だと言います。理論的には素晴らしい。最先端でエキサイティングなようです。
短所:あまり前例はありません。これの多くの例はうまくいきませんでした。公開されている例(twitter.com)は動きが鈍く、このアプローチから離れつつあります。
RESTサーバー+サーバー側のHTMLクライアント
JSONのみのRESTAPIサーバーを作成します。RESTAPIのみにアクセスする基本的なHTMLWebサイトクライアントを作成します。クライアント側のJavaScriptが少なくなります。
プロ: APIとクライアントの分離が大好きです。しかし、プレーンHTML5を提供することは非常に確実であり、クライアントを集中的に使用することはありません。
短所:あまり前例はありません。これの多くの例はうまくいきませんでした。フレームワークはこれもサポートしていません。アプローチ方法がわからない。
特に、理論だけでなく、経験からのアドバイスを探しています。