銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

AWS SDK for .NET が Windows Phone と Windows Store App (WinRT) をサポートするようですよ

AWS SDK for .NET がWindows PhoneとWindows Store Appをサポートしたのに加え、async/await も使えるようになったようです

Amazon Web Services Blog: AWS SDK Support for Windows Phone and Windows Store Applications

Nuget でも2.0.0.0-beta として公開されています。 まだPreviewということで、軽くソース(というか今回はプロジェクトの構造)を見た感想を。

Windows Phone7は対象外

日本向けWP開発者には悲報ですが、Windows Phone 8向けに開発されています。また、Window Phoneだけ Microsoft HTTP Client Libraries 2.1.10 が参照ライブラリとして必要です(他がライブラリの参照なし)。これ自体はWindow Phone 7.5 でも動くので、WP7.5 でもビルドできる可能性はあるのですが…

.NET 3.5, .NET 4.5, Windows RT, Windows Phone8向けにプロジェクトが分かれています

従来のSDKは.NET 3.5 以上向けに作られたプロジェクトのみでいたが、今回からこれら4つに分かれてプロジェクトが作られています。おそらくそれぞれのビルドの成果物がNugetでプラットフォームごとに配布されているものと思われます。 ところで.NET でマルチプラットフォーム対応というとPCL(Portable Class Library)という仕組みがあるのですが、どうもここから確認できるだけでは使っていないようです。また、プロジェクト間の参照やコードの共有もなさそうです。ただ、このリポジトリはコミットログを見るに公開用に整理しているもののようなので、裏側ではコード共有や自動生成の仕組みを持っている可能性はあります。

また、それぞれのプラットフォームごとに使えるAPIに制限があるようです。詳しくは、以下を確認するのがよさそうです。

Platform Differences in the AWS SDK for .NET - AWS SDK for .NET

CIはTravis CI

このコミットで、Travis CI向けの設定ファイルを変更しています。この設定ファイル自体は前からあるのでもともとTravis CIだった模様です。ただ、この設定ファイルは .NET 3.5 向けプロジェクトのみをビルドしているので、それ以外のプラットフォーム用のSDKでどうするかは気になっています。

概要といてはこんな感じでしょうか。WinRTやWindows Phoneでどんな実装しているかもちょっと見てみたいと思って居ます。