Yandex.DiskのSDK

Yandex.DiskはSDKを受け取りました。 iOS、Android、およびWindows Phoneのモバイルアプリケーションと同様に、OS XおよびWindowsのアプリケーションでその機能を便利に使用できます。 さらに、特別なウィジェットを開発して、どのWebサイトでもその場でYa.Diskを使用して作業を簡単に実装できるようにしました(たとえば、ユーザーのYa.Diskに直接ファイルをアップロードします)。



以前はオープンWebDAVプロトコルを使用していたため、アプリケーションでは最初から実質的にDiskと統合できました。 しかし、今ではこのための機会が増えており、最も重要なことは、はるかに便利でシンプルになることです。



また、SDKとウィジェットに加えて、もう1つの重要な革新があります-WebDAVを介してダウンロードされたファイルの重複排除です。 これで、一部のユーザーが既にそのようなファイルをダウンロードしている場合は、すぐにダウンロードされます。



画像



昨日、Yet Another Conferenceでのプレゼンテーションでこれについてすべて話しましたが、今、あなたのためにあなたのために詳細を明らかにしたいと思います。





WebDAVを介した重複排除


最初に、Diskと対話するために、オープンWebDAVプロトコルの実装を行いました。 これは、ファイルを操作するための標準プロトコルです。 HTTPに基づいています。 プッシュ通知の場合、xmppが使用されます。 これらのプロトコルの下で、すべてのサードパーティクライアントが動作し、さらにWebDAVはシステムに組み込まれたファイルマネージャーを介してディスクに直接アクセスできます。



画像



しかし、公式クライアントには、サードパーティの開発者がまだ利用できない興味深い機能が1つあります。それはファイル重複排除です。 クライアント側でファイルの2つのチェックサムをカウントし、この情報(およびサイズ)から、そのようなファイルが既にサーバーにアップロードされているかどうかを判断できます。 このファイルが既にある場合は、ほぼ瞬時にダウンロードできます。 より正確には、ファイルはまったく読み込まれませんが、サーバー側ではメタ情報が単に更新され、ファイルへのアクセスが新しいユーザーに開かれます。 新機能の詳細については、 ドキュメントをご覧ください。



画像



APIとSDK


私たちはWebDAVが大好きで、あきらめません。 すでに多くのサードパーティアプリケーションで使用されています( このページでそれらに関する情報を慎重に収集しています )。 しかし、このプロトコルには独自の問題があります。 まず第一に、もちろん、異なるプラットフォームの実装には問題があります。 さらに、WebDAVはファイルの操作に特化しており、ユーザーと開発者にさらに何かを提供したいと考えています。



今日、モバイルアプリケーションは多くの場合、サイトを置換または補完します。 以前は開発者がサイトを作成しただけでしたが、現在は一連のアプリケーションが作成されています。 マルチプラットフォームはますます重要になっています。物理ストレージだけでなくクラウドもサポートする必要があります。 また、ファイルだけでなくデータも保存する必要があります。 この場合のWebDAVは最も便利なものではないことを理解しています。 この点で、ファイルを操作するための完全なRESTドライブAPIを含む新しいAPIプラットフォームを準備することにしました。



しかし、新しいAPIを作成するだけのように思えました。 開発者にはSDKが必要です。 結局のところ、ネットワークでの作業は最も楽しい経験ではありません。 ネットワーク要求を継続的に処理し、それらが引き裂かれているかどうかを観察します。 特に、通信が一般的に大きな問題となるモバイルデバイスでは。 さて、アプリケーション自体に加えて、バックエンドを作成し、APIをネットワークと連携させるためにAPIを結び付け、データセンターにサーバーを配置する(または、複数の異なるデータセンターに同時に2つ配置する)必要があります。 どこでも使用でき、サービスごとに再作成できない既製のライブラリとストレージがある場合は、はるかに優れています。 そのため、 ドライブSDKを完成させて起動しています



画像



バージョン0.1には、ネットワークとファイルを操作するためのツールしかありません。後でデータベースと対話する機能を追加します。 現時点では、SDKはJava、Objective-C、C#の3つのプログラミング言語をサポートしています。 したがって、その助けを借りて、すべての一般的なプラットフォーム(モバイルとデスクトップの両方)用のアプリケーションを作成できます。



画像



私たちは、Yandex内でSDKを積極的に使用します。 しかし、外部の開発者でさえ、このような素晴らしいものを使用することで節約できるものがあります。 詳細なドキュメントを用意しましたので、今すぐSDKの使用を開始できます。



ウィジェット


ほとんどの人は、それぞれ1台のコンピューターを使用していました。 通常はデスクトップまたはラップトップでした。 すべてのファイルは彼のハードドライブに保存されていました。 時々PDAがありました。 インターネットからファイルをディスクに保存すると、すべてがクリアになりました。 しかし、今では多くのそのようなデバイス(職場や自宅のコンピューター、スマートフォン、タブレット)があり、ファイルを保存するタスクははるかに複雑になっています。 各ファイルはデバイス上にあるため、保存された内容と場所を覚えておく必要があります。 そして今日、クラウドストレージはハードドライブの新しい実装であり、常に使用されるすべてのファイルを保存し、どこからでも、どのデバイスからでもアクセスできます。 Yandex.Diskを元の形式で開発したのは、この考えを念頭に置いたものでした。

そして、ディスクはすべてのメインユーザーファイルの新しいストレージであるという事実について話しているので、インターネットから直接ディスクにファイルを保存する機会を与えてみませんか? またはその逆から直接ファイルをダウンロードしますか? ウィジェットを使用してこれを実装することにしました。 メール、写真、その他のサービスでテストし、どのサイトでも利用できるようにすることにしました。 今すぐファイルを保存するためのウィジェットを埋め込むことができ、近いうちにダウンロードウィジェットが表示されます。



画像



ユーザーがダウンロードした多くのファイルは1回または2回表示され、その後削除されるか、ダウンロードフォルダーにほこりが溜まります。 ウィジェットを使用すると、このようなファイルをダウンロードすることはできませんが、オンラインで表示できます。 多くの一般的なファイルタイプの視聴者がいます。



All Articles