Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Xamarin から使う Azure

2,979 views

Published on

第7回 Tokyo Jazug Night
https://jazug.connpass.com/event/60573/
で発表した資料です。

Published in: Mobile
  • Be the first to comment

  • Be the first to like this

Xamarin から使う Azure

  1. 1. Xamarin から使う Azure 2017/7/25(火) 第7回 Tokyo Jazug Night Japan Xamarin User Group 田淵義人@エクセルソフト Twitter: @ytabuchi facebook: ytabuchi.xlsoft
  2. 2. 営業(セールスエンジニア) 兼 新規事業開発室 室長 Xamarin コミュニティエバンジェリスト Microsoft MVP Visual Studio and Development Technologies Xamarin MVP 連載・執筆 Build Insider Xamarin Tips .NET開発テクノロジ入門2016年版 コミュニティ Japan Xamarin User Group 主宰 Twitter: @ytabuchi facebook: ytabuchi.xlsoft Blog: Xamarin 日本語情報 2 田淵義人@エクセルソフト
  3. 3. 開発者向けソフトウェア販売代理店 クラウドサービスもやりたいなぁ 取り扱いのないソフトウェア、サービスもスポットで可能 日本円で買いたい海外製品があれば @ytabuchi まで 新規取り扱い製品もどんどん増えてます 3 エクセルソフトの宣伝
  4. 4. 注意事項 2017/7/25 時点の情報です。 4
  5. 5. Xamarin とは
  6. 6. C#/.NET/Visual Studio フル “ネイティブ” アプリ API 100% 移植 コード共通化 6 Xamarin
  7. 7. C# 7 button.Click += async (sender, e) => { var client = new HttpClient(); using (var reader = new StreamReader(await client.GetStreamAsync("xxx"))) { var deserializer = new XmlSerializer(typeof(Rss)); var latest = deserializer.Deserialize(reader) as Rss; var feed = latest.Channel.Items .Where(x => x.Link.Contains("xamarin")) .Select(x => x.Title).ToList(); } };
  8. 8. 2つの開発手法 8 Shared C# App Logic (PCL) Shared XAML/C# UI Code (Xamarin.Forms) iOS C# UI Shared C# App Logic (PCL) Android C# UI Windows C# UI Xamarin.FormsXamarin Native ロジックのみ共通化 UIはネイティブで個別に作りこむ
  9. 9. Xamarin から使う Azure
  10. 10. Xamarin から使う Azure の前に
  11. 11. PCL/Shared Project
  12. 12. Xamarinと、ポータブル・クラス・ライブラリ(PCL) - Build Insider Xamarin.Forms の PCL ではどの Profile を選択すべきか? - Xamarin 日本語情 NuGet Package Explorer 12 Portable Class Library(PCL)とは
  13. 13. 13
  14. 14. .NET Standard 14
  15. 15. 15 https://channel9.msdn.com/Events/de-code/2017/TL04
  16. 16. 16 https://channel9.msdn.com/Events/de-code/2017/TL04
  17. 17. .NET Standard | Microsoft Docs 主に技術日記: .NET Standard のおさらい さいきんの.NETのこととかNuGetとかCoreとかよく分からないよ ねーって話 - Qiita Xamarin.Forms+.NET Standard 1.6を試す – Takashi Kawasaki – Medium .NET Standard
  18. 18. Target Frameworks References for NuGet | Microsoft Docs PackageTargetFallback (new design for Imports) · NuGet/Home Wiki Oren Novotny » Using Xamarin Forms with .NET Standard – VS 2017 Edition 18 .NET Standard
  19. 19. .NET Standard 対応 19 .NET Standard 1 1.1 1.2 1.3 1.4 1.5 1.6 2 .NET Core 1 1 1 1 1 1 1 2 .NET Framework (*1) 4.5 4.5 4.5.1 4.6 4.6.1 4.6.2 vNext vNext .NET Framework (*2) 4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 4.6.1 4.6.1 Mono 4.6 4.6 4.6 4.6 4.6 4.6 4.6 vNext Xamarin.iOS 10 10 10 10 10 10 10 vNext Xamarin.Android 7 7 7 7 7 7 7 vNext Universal Windows Platform 10 10 10 10 10 vNext vNext vNext https://docs.microsoft.com/ja-jp/dotnet/standard/library
  20. 20. Microsoft Azure
  21. 21. Mobile Apps 21
  22. 22. Consuming an Azure Mobile App - Xamarin Azure Mobile Client SDK 22 Mobile Apps
  23. 23. Notification Hubs 23
  24. 24. Sending Push Notifications from Azure Mobile Apps – Xamarin Add push notifications to your Xamarin.Forms app | Microsoft Docs これが最新 Push Services Apple Push Notification Service (APNS) Firebase Cloud Messaging (FCM) Windows Notification Service (WNS) 24 Notification Hubs
  25. 25. 25 通知の例
  26. 26. Cognitive Services 26
  27. 27. 「cognitive」で検索 Cognitive Services のSDK有無 @201707 - BEACHSIDE BLOG 27 Azure Portal
  28. 28. 28 private async Task<OcrResults> UploadAndRecognizeImage(Stream imageStream, string language) { // Create Project Oxford Vision API Service client VisionServiceClient VisionServiceClient = new VisionServiceClient( Secrets.ComputerVisionApiKey, "https://southeastasia.api.cognitive.microsoft.com/vision/v1.0" ); // Upload an image and perform OCR OcrResults ocrResult = await VisionServiceClient.RecognizeTextAsync(imageStream, language); return ocrResult; } SDK
  29. 29. 29 public static async Task<string> DoOcrStreamAsync(Stream imageStream, string lang) { using (var client = new HttpClient()) { // ヘッダーとパラメーターを付与したリクエストを作成 client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", Secrets.ComputerVisionApiKey); var sendUri = $"{uriBase}?language={lang}&detectOrientation=true"; // StreamをコンテントとしてPOSTする var content = new StreamContent(imageStream); content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); var response = await client.PostAsync(sendUri, content); response.EnsureSuccessStatusCode(); // JSONを取得してデシリアライズ string contentString = await response.Content.ReadAsStringAsync(); var ocrResultString = JsonConvert.DeserializeObject<OcrResult>(contentString); } } REST
  30. 30. 分析 テキストの読み取り 手書き文字の読み取 り(プレビュー) 著名人およびランド マークの認識 ほぼリアルタイムでビ デオを分析 サムネイルの生成 30 Computer Vision API
  31. 31. 60 以上の言語のテキ スト間での翻訳 自動的に言語を検 出 独自翻訳システムを 構築 31 Translator API
  32. 32. POST https://southeastasia.api.cognitive.m icrosoft.com/vision/v1.0/ocr Header Ocp-Apim-Subscription-Key Cotent-Type Cotent application/json multipart/form-data application/octet-stream 32 REST API
  33. 33. Token https://api.cognitive.microsoft.com/ sts/v1.0/issueToken Ocp-Apim-Subscription-Key から Token GET appid text from to category 33 REST API
  34. 34. Emotional API Emotion Recognition Using the Emotion API - Xamarin Cosmos DB Consuming an Azure Cosmos DB Document Database - Xamarin Azure Storage Storing and Accessing Data in Azure Storage - Xamarin Azure Search Searching Data with Azure Search - Xamarin 34 その他の Azure/Xamarin
  35. 35. Azure AD B2C Xamarinアプリの認証にAzure AD B2Cを使ってみよう | PaaSがかりの部屋 Bot Framework Bot FrameworkのDirect Line APIをXamarin.Formsから使う場合のサンプルプログ ラム - かずきのBlog@hatena Cognitve Services/Cosmos DB Xamarin.Forms と Azure の組み合わせサンプル書いてみたよ - かずきの Blog@hatena 35 おつよい皆様
  36. 36. まとめ
  37. 37. 仮想マシンで使うのはもったいない PaaS!PaaS!PaaS! Xamarin(モバイル)と絡めると更に面白い! jazug/JXUG の合同勉強会やハンズオンを(野望) Azure は面白い
  38. 38. ありがとうございます 田淵義人@エクセルソフト Twitter: @ytabuchi facebook: ytabuchi.xlsoft 080-7015-3586 38

×