71
#JXUG #MSPjp

20170818_Xamarin基本 + MSのAIサービス「Custom Vision Service」について

Embed Size (px)

Citation preview

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

松屋

デベロッ

パー

日本マイクロソフト

Microsoft 本社チーム

マンガ家

#JXUG #MSPjp

私が描いている漫画「はしれ!コード学園」

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

•#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

すべて Xamarin アプリへのコミット!

(サーバサイド (ASP.NET)へのコミット含む)

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

Kotlin

#JXUG #MSPjp

iOSアプリも Androidアプリも

全部 同じ1つの言語/IDE で

開発できたらなあ

#JXUG #MSPjp

#JXUG #MSPjp

iOS アプリ

Android アプリ

UWP アプリ

#JXUG #MSPjp

C# で Android / iOS アプリ開発

従来はターゲット OS ごと

のスキル、開発言語、開発環境

統一された

スキル、開発言語、開発環境

#JXUG #MSPjp

C# で Android / iOS アプリ開発

従来はターゲット OS ごと

のスキル、開発言語、開発環境

統一された

スキル、開発言語、開発環境

#JXUG #MSPjp

UIAlertControllerAlertDialog

MessageDialog

#JXUG #MSPjp

DisplayAlert ("Alert", "You have been alerted", "OK");

#JXUG #MSPjp

<?xml version="1.0" encoding="UTF-8"?>

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"x:Class="MyApp.MainPage">

<TabbedPage.Children>

<ContentPage Title="Profile" Icon="Profile.png">

<StackLayout Spacing="20" Padding="20"

VerticalOptions="Center">

<Entry Placeholder="Username"

Text="{Binding Username}"/>

<Entry Placeholder="Password"

Text="{Binding Password}"

IsPassword="true"/>

<Button Text="Login" TextColor="White"

BackgroundColor="#77D065"

Command="{Binding LoginCommand}"/>

</StackLayout>

</ContentPage>

<ContentPage Title="Settings" Icon="Settings.png">

<!-- Settings -->

</ContentPage>

</TabbedPage.Children>

</TabbedPage>

Xamarin.Forms では、「XAML」(ざむる)というマークアップ言語で書く

#JXUG #MSPjp

#JXUG #MSPjp

だった!(過去形)

約 24万円/人・年

#JXUG #MSPjp

Xamarin がMicrosoft に

ジョインしてから1年が経ったね!

やったー!

#JXUG #MSPjp

タダ

#JXUG #MSPjp

#JXUG #MSPjp

Nintendo Switch Online アプリはXamarin(Xamarin.Forms)製です

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

クロスプラットフォーム開発ツール

無償

• Windows でも Mac でも開発できる

• ネイティブAPI 100%

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

• Xamarin.Forms

Xamarin Native

#JXUG #MSPjp41

Shared C# App Logic(PCL)

共有 UI コード (XAML)

iOSC# UI

共有ロジック部分のコード (C#)

AndroidC# UI

WindowsC# UI

Xamarin.FormsXamarin Nativeロジックのみ共通化

UIはネイティブで個別に作りこむ

#JXUG #MSPjp

#JXUG #MSPjp

松屋

ベロッパー

マイクロソフト

マンガ家

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

A B

A / B どちらが松屋でしょうか?

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

A

#JXUG #MSPjp

B

#JXUG #MSPjp

Custom Vision Service

#JXUG #MSPjp

誰でも超お手軽に使える、Microsoft による AI サービス

の うちのひとつ

「 Custom Vision Service 」

https://customvision.ai

#JXUG #MSPjp

学習させた松屋の牛めし

#JXUG #MSPjp

学習させた吉野家の牛丼

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

発行された API のURL の場所

#JXUG #MSPjp

クライアント側の処理(API 叩いて結果を受け取る器の準備)

#JXUG #MSPjp

クライアント側の処理 (API 叩いている場所)

#JXUG #MSPjp

クライアント側の処理(まずはコンソールアプリで

API叩いて返ってくるかテスト)

#JXUG #MSPjp

クライアント側の処理(アプリ上で

「警察出動」ボタンが押された時の処理)

#JXUG #MSPjp

クライアント側の処理(投稿された画像が [松屋] だった時のみちょまぎょが 嬉しそうな顔をする処理)

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

#JXUG #MSPjp

https://customvision.ai

#JXUG #MSPjp