7

ユーザーがシングル ページ ブラウザー アプリケーション (SPA) からデータを投稿できるようにする必要がありますが、サーバー側のコードをホストに配置することはできません。

これに使用できる Web サービスはありますか? Amazon SQS (シンプル キュー サービス)を見ましたが、クロス オリジン ポリシーにより、ブラウザー内から REST API を呼び出すことができません。

今は堅牢性よりも開発のしやすさを優先しているので、メールを受信するだけでも問題ありません。サイトが普及するかどうかさえわかりません。もしそうなら、サーバー側のコンポーネントを開発してホストを移動します。

4

6 に答える 6

5

Webサービスがあるだけでなく、今日では、アプリケーションの一部のロジックをサーバー側に提供する方法を提供する堅牢なシステムがあります。これらはBaaSまたはバックエンドサービスプロバイダーと呼ばれ、通常、フロントエンドアプリケーションにバックボーンを提供します。

それらには複数の用途がありますが、私の意見では最も一般的なものをリストします。

  • モバイルアプリケーションの場合-コーディングするデバイスごとにAPIを学習する代わりに、標準プラットフォームを使用してアプリケーションのロジックとデータを保存できます。

  • プロトタイピングの場合-洗練されたアプリケーションを作成したいが、データのすべてのバックエンドロジックをコーディングしたくない場合は、BaaSプロバイダーを介して、適切なフロントのみが必要です。想像できる最も単純なCRUDアプリケーションをコーディングするためのスキルを終了します。一部のBaaSでは、一部のReduceアルゴリズムをバインドして、パフォーマンスをAPIに呼び出すこともできます。

  • Webアプリケーションの場合-システム管理と運用の煩わしさを回避するためにバックエンド開発者の仕事を容易にするためにPaaS(Platform as a Service )が登場したとき、同じことがバックエンドにも起こるのは論理でした。この戦略の真の力を示す多くのクローンがあります。

これらすべては素晴らしいですが、私はまだそれらのどれにも言及していません。私が最もよく知っていて、実際にプロジェクトで使用したものをリストアップします。おそらくたくさんありますが、私が知る限り、これは以前に言及したもののいずれかであるかどうかにかかわらず、私のニュースのほとんどを満足させました。

Parse.com

Parseの最も優れた機能は、モバイルデバイスを対象としています。ただし、現在、Parseには信じられないほどの量のAPIが含まれており、Javascript、Android、さらにはWindows 8アプリケーション(Windows 8 SDKは今年数か月前に導入されました)のフル機能のバックエンドサービスとして使用できます。

解析コードはJavascriptでどのように見えますか?

解析はクラスとオブジェクトを介して機能するため(それほど美しくはありませんか?)、最初に特定のクラスを作成し(Javascript、REST、またはデータブラウザーマネージャーを介して実行できます)、次にオブジェクトを特定のクラスに追加します。

まず、JavaScriptでスクリプトタグとして解析を追加します。

<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.1.15.min.js"></script>

次に、指定されたアプリケーションIDとJavascriptキーを使用して、Parseを初期化します。

Parse.initialize("APPLICATION_ID", "JAVASCRIPT_KEY");

そこから、それはすべてオブジェクトマニピュレーションです

var Person = Parse.Object.extend("Person"); //Person is a class  *cof* uppercase *cof* 
var personObject = new Person();
  personObject.save({name: "John"}, {
  success: function(object) {
    console.log("The object with the data "+ JSON.stringify(object) + " was saved successfully.");
  },
  error: function(model, error) {
    console.log("There was an error! The following model and error object were provided by the Server");
    console.log(model);
    console.log(error);
  }
});

認証とセキュリティはどうですか?

Parseにはユーザーベースの認証システムがあり、データを操作できるユーザーのベースを保存することができます。データをユーザー情報にマッピングすると、特定のユーザーのみが特定のデータを操作できるようになります。さらに、Parseアプリケーションの設定で、クライアントがクラスを作成できないように指定して、不要な呼び出しが確実に実行されるようにすることができます。

Webアプリケーションで本当に使用しましたか?

はい、それは中程度の忠実度のプロトタイプのための私の選択のツールでした。

Firebase.com

Firebaseの主な機能は、面倒なことなくアプリケーションにリアルタイムを提供する機能です。ソフトウェアにプッシュ通知を送信するためにMeteorJSサーバーは必要ありません。Javascriptをご存知の場合は、リアルタイムの魔法をユーザーに提供するまでの道のりです。

FirebaseはJavascriptでどのように表示されますか?

FirebaseはREST方式で機能し、 GloryofRESTを構築する素晴らしい仕事をしていると思います。良い例として、Firebaseの次のリソース構造を見てください。

https://SampleChat.firebaseIO-demo.com/users/fred/name/first

ユーザー「Fred」の名を取得していることを知るためにロケット科学者である必要はありません。少なくとも1つは存在します。通常、名前の代わりにUUIDが必要ですが、これは例です。休憩をください-。

Parseと同様に、Firebaseの使用を開始するには、CDNJavascriptを追加します

<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>

次に、FirebaseAPIを使用できるようにする参照オブジェクトを作成します

var myRootRef = new Firebase('https://myprojectname.firebaseIO-demo.com/');

そこから、たくさんのきちんとしたアプリケーションを作成できます。

var USERS_LOCATION = 'https://SampleChat.firebaseIO-demo.com/users';
var userId = "Fred"; // Username

var usersRef = new Firebase(USERS_LOCATION);
  usersRef.child(userId).once('value', function(snapshot) {
    var exists = (snapshot.val() !== null);
    if (exists) {
        console.log("Username "+userId+" is part of our database");
    } else {
        console.log("We have no register of the username "+userId);
    }
  });

認証とセキュリティはどうですか?

あなたは幸運です!Firebaseは約2週間前にセキュリティAPIをリリースしました。私はまだそれを探求していませんが、ランダムな人々があなたの参照を彼ら自身の目的に使用することを可能にしたギャップのほとんどを埋めると確信しています。

Webアプリケーションで本当に使用しましたか?

Eeehm ...わかりました、いいえ。Chrome拡張機能で使用しました!まだ処理中ですが、Chrome拡張機能内でのリアルタイムチャットになります。かっこいいじゃないですか?罰金。かっこいいと思います。とにかく、Firebaseのすばらしい例は、例のページで閲覧できます。


これらのサービスの魔法は何ですか?依存性注入モックオブジェクトテストを読んだ場合、ある時点で、RESTWebサービスプロバイダーを介してこれらのサービスをすべて完全に置き換えることができます。

これらのサービスはあらゆるアプリケーション内で使用するために作成されているため、CORSに対応しています。前に述べたように、私は問題なく複数のドメインから両方を正常に使用しました(Chrome拡張機能でFirebaseを使用しようとしていますが、すぐに成功すると確信しています)。

ParseとFirebaseの両方にデータブラウザマネージャーがあります。つまり、操作しているデータを簡単なWebブラウザで確認できます。最後の免責事項として、 James Taplin(Firebaseの共同創設者)がFirebaseへのベータアクセスを提供するのに十分なほど素晴らしかったという顔以外は、これらのサービスとは何の関係もありません。

于 2012-12-26T04:53:49.363 に答える
5

ブラウザーがメッセージを受信するのではなく送信するだけでよい限り、CORS がなくてもブラウザーから SQS を実際に使用できます。警告: これは、私のコンピューター サイエンスの教授を泣かせるような冗談です。

JavaScript 経由で GET リクエストを実行すると、ブラウザーは常にリクエストを実行しますが、同じオリジン (プロトコル、ホスト、ポート) からのレスポンスにしかアクセスできません。メッセージは GET だけで SQS キューに投稿できるため、これがあなたのチケットです。

jquery を使用していて、キューがhttps://sqs.us-east-1.amazonaws.com/71717171/myqueueであり、誰でもメッセージを投稿できると仮定すると、次のように本文が「HITHERE」のメッセージがキューに投稿されます。

$.ajax({
  url: 'https://sqs.us-east-1.amazonaws.com/71717171/myqueue' +
       '?Action=SendMessage' +
       '&Version=2012-11-05' +
       '&MessageBody=HITHERE'
})

リクエストが失敗したことを示すコンソールのエラーになりますが、メッセージはとにかくキューに表示されます。

于 2013-03-30T12:52:22.573 に答える
1

たぶん、CouchDBはあなたが求めているものを提供することができます。IrisCouchは、無料のCouchDBインスタンスを提供します。ユーザーがドキュメントを表示したり、適切な検証機能を使用したりできないようにロックして、データを簡単にRESTfulな場所に保存できるようにします。

于 2012-12-24T11:50:53.753 に答える
1

どうmailto:youremail@goeshere.comですか?イヒヒ

Altervistaその間、あなたはそれらのようないくつかの無料のホスティングをオンにすることができます..これらの無料サービスが許可しHerokuていることを覚えていれば、サーバーに接続できます.ユーザー トラフィックがそれほど多くない場合は、より優れた VPS、ホスティング、またはクラウド ソリューションを有効にする必要があります。servers p2pyou can create a sort of personal web services and push ajax requests as well

于 2012-12-24T11:15:39.760 に答える
1

JSONPを検討しましたか? これは、同じオリジン ポリシーに遭遇することなく、JavaScript からクロスドメイン スクリプトを呼び出す 1 つの方法です。ただし、データを送信するには、どこかにスクリプトを設定する必要がありますJavascript だけでは十分ではありません。

于 2012-11-13T22:02:25.993 に答える
1

送信したいデータの種類とそれを使って何をしようとしているかにもよりますが、それを解決する 1 つの方法は、Ajax を使用してデータを Google スプレッドシートに投稿することです。ただし、達成するのは少し難しいです。これに関する別のスタックオーバーフローの質問があります

プレゼンテーションがそれほど重要でない場合は、埋め込みのGoogle Spreadsheet Formを使用できます。

于 2012-12-21T13:31:39.900 に答える