24

CloudKitを使用すると、クライアント側のアプリ開発に集中でき、iCloudによってサーバー側のアプリケーション ロジックを記述する必要がなくなります。CloudKit は、認証、プライベートおよびパブリック データベース、構造化およびアセット ストレージ サービスを提供します。これらはすべて無料で、非常に高い制限があります。

Apple のサーバーで実行するコードをアップロードできませんか?

Google App Engine や他のクラウド コンピューティング プラットフォームと比較されていると聞いたことがありますが、独自のコードを実行する機能がなければ、全体がかなり制限され、実際には比較できないのではないでしょうか?

たとえば、ユーザーが興味を持っているトピックに関する記事を定期的にプッシュするニュース アプリを構築したい場合、CloudKit だけを使用してこれを行うことはできません。サーバー上でスケジュールされたジョブとデータ処理が必要になるからです。

何かご意見は?

4

5 に答える 5

24

サーバ側

あなたが言ったように、CloudKit はサーバー側のコードを許可しません。

しかし、可能性はあります。

クロン

レコードを追加してプッシュを実行するために、毎日 iCloud ダッシュボードに接続する必要はありません。Daily CKRecordここでの1つの解決策は、毎日新しいものを追加するMacサーバー(サーバーとしてのMac miniはCloudKitでより一般的になると思います)でアプリをコーディングすることです。

サブスクリプション

サブスクリプションの概念は、クライアントが特定の更新を登録することです。Dailyたとえば、というレコード タイプを作成し、ユーザーを登録させることができます。Apple のドキュメントと WWDC14 のビデオを確認する必要があります(サブスクリプションについて詳しく説明していなくても、出発点としては適切です)。

良いことは、プッシュ通知がサブスクリプションの概念とリンクしていることです. つまり、基本的には、新しいCKRecordタイプDailyが追加されるたびに通知を送信してください。

BaaS パーティー

CloudKit を使用するポイントは何ですか (vs Parse など?)

  • 価格: CloudKit の価格設定は非常に優れています。
  • 準備完了: XCode 内で 2 回クリックするだけで準備完了
  • ユーザーの一貫性: iCloud アカウントを介して、彼のすべてのデバイスに無料でユーザー ログインできます。非常に優れたプライバシーシステムを備えています。そして、スマートなシステムとの関係を得ることができます。

しかし:

  • あなたはAppleプラットフォームに固執しています。データをエクスポートできるかどうかさえわかりません..
  • 現時点ではデータ中心のみ (サーバー側のコードなし)
  • CloudKit ダッシュボードが限定的すぎる

未来

CloudKit はまだかなり新しいものです。WWDC で、その背後にいる何人かの人々は、彼らがまだそれに真剣に取り組んでいることを私に理解させました. 私の賭けは、彼らが2つの重要な点に取り組んでいるということです:

  • リモートのスケジュールされたタスクによるサーバー側コードの実行
  • CloudKit for Analytics (視覚化側)

編集: Apple 関係者は、データへの Web アクセスがないことを十分に認識し、懸念しています。これは、いつか他のプラットフォームからアクセスできるようになることを意味します。CloudKit が良くなければ、Apple はおそらく Parse を購入しただろうというコメントを読みました。私の知る限り、彼らは Parse を購入しようとしました (スキルは購入すると言われていますが、実際にはわかりません)。

WWDC15 の更新

CloudKit が JS で利用できるようになり、いくつかのダッシュボードが利用できるようになりました。成り行きを見守る。

2016 年 2 月の更新

CloudKitがサーバー間 Web サービス要求をサポートするようになりました

Web サービス リファレンス

于 2014-07-13T09:10:48.467 に答える
2

場合によっては、サーバー側のロジックは必要なく、静的データを保存するだけですべての使用シナリオをカバーできます。

この場合、何かを保管できる無料のアクセス可能なストレージがあると非常に役立ちます. CloudKit は、完全なサービス プラットフォームではなく、そのようなものを提供します。

はい、制限されています。とにかく、一部の人にとっては便利です。たとえば、あなたのケースは実際に CloudKit をサポートできます。CloudKit は単なる静的ストレージですが、サブスクリプションをサポートしています。一連の条件を監視し、イベント通知をクライアントにプッシュします。幸いなことに、CloudKit でサポートされている唯一のバックグラウンド ジョブ機能は、必要なものだけです。

とにかく、さらに必要な場合は、本格的なサーバーを検討する必要があるかもしれません. 通常、単純なサーバー側コード実行をサポートする単純な Web サービスも制限されています。

于 2014-06-06T04:20:04.287 に答える
1

信じられないかもしれませんが、このアプローチを使用すると、実際にかなり遠くまで到達できます。

CloudKit を使用したことはありませんが、アプリケーション スタックについて説明できます。

AngularJS (またはお気に入りのクライアント側 HTML レンダリング フレームワーク): 単一のページは、ルーターによって選択され、ユーザーがアンカーを変更して現在のページを選択することによって駆動される一連のテンプレート/コントローラーをホストします。

Firebase.io (またはお気に入りのクラウド ストレージ): 動的データはすべてクラウド ドキュメント ストアに格納されます。コントローラーは、データをロードしてクライアントにテンプレートをレンダリングする必要があり、データが変更されたときにデータを送り返す必要があります。これにより、データへのアクセスを制限できるため、認証と承認も提供されます。

ここで、HTML/CSS/JS/画像を提供する場所が必要です...「サーバー側のコード実行」は不要で、アセットを配置できる Web サーバーだけが必要です。

この手法を使用すると、すべてのユーザーのトピックをそのユーザーのデータベースに保存できます。ページが読み込まれると、それらのトピックのすべてのソース (データベースにも保存されます) を完全にクライアント側に移動して集約できます。認証および承認サービスを提供するクラウドストレージと、静的アセットを提供するための「ダム」Webサーバーがある限り、実際にサーバー側の実行を必要とするサンプルアプリケーションには何もありません。

于 2014-06-06T00:01:35.693 に答える
0

CloudKit は本格的な Web ホスティング サービスではありません。代わりに、iCloud 用の SDK です。複数のアプリケーションやプラットフォームで使用する可能性のあるユーザー データを保存するだけで、Web サイトをそこに置くべきではありません。

iCloud API を使用すると、アプリはアプリ データを iCloud に保存し、アプリを自動的に最新の状態に保つことができます。iCloud を使用して、iCloud 対応デバイス間で一貫したシームレスなエクスペリエンスをユーザーに提供します。

于 2014-06-05T23:28:36.327 に答える