65
WP7 はははは はははははは !! ははははははははははは ~~

めとべや東京 #6「WP7は死んだ!もういない!」

Embed Size (px)

Citation preview

Page 1: めとべや東京 #6「WP7は死んだ!もういない!」

WP7 は死んだ!もういない!

~最後に残った道しるべ~

Page 2: めとべや東京 #6「WP7は死んだ!もういない!」

Q: 誰だお前

     A: ただのしがない WP 信者です

名前:OD-10Z職業:プログラマ ⇒ ホームセンター店員   ⇒ プログラマ ⇒ 情シス   (プログラマ歴 < 情シス歴)

作ったアプリケーションとか◆ なな字引◆ Y!乗換案内※Android ? iOS ?いえ、知らない子ですね……

Page 3: めとべや東京 #6「WP7は死んだ!もういない!」

人生で初めてのセッションです。

I’m not ‘Syachiku’

Page 4: めとべや東京 #6「WP7は死んだ!もういない!」

全ての発言は個人に依存するものであり、所属する団体・企業等を代表するものではありません。

OK?

Page 5: めとべや東京 #6「WP7は死んだ!もういない!」

の前に・・・

本 題

Page 6: めとべや東京 #6「WP7は死んだ!もういない!」

私は先日、 MetroStyle は WP で生まれたと言ったな?あれはウソだ。

Page 7: めとべや東京 #6「WP7は死んだ!もういない!」

私は先日、 MetroStyle は WP で生まれたと言ったな?あれはウソだ。

携帯音楽機器 Zune のほうが先でした。誤った情報を発信してしまったこと、ここに深くお詫び申し上げます。

Page 8: めとべや東京 #6「WP7は死んだ!もういない!」

あらためて本 題

Page 9: めとべや東京 #6「WP7は死んだ!もういない!」

◆Agenda

・現在の日本における WP の状況・今後のアプリ開発方針的な・ WP8.1 アプリ開発で、便利になった箇所 1.タイルのテンプレート 2.スケジュールでの更新 3.グローバル(多言語)対応

Page 10: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

Page 11: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

日本で出ている「最新」 WindowsPhone 端末……

IS12T

Page 12: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

日本で出ている「最新」 WindowsPhone 端末……

IS12T

WP7 は死んだ!もういない!!

Page 13: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

IS12T の OS 「 WindowsPhone 7.8 」は、9/9 でサポート期限切れを迎えてお亡くなりに……

突然延長となり、 10/14 までサポート期限が伸びました!

また、 10/2 に「 de:code 」シークレットセッションが開催され、急遽 Microsoft CEO サティア・ナデラ氏が登壇することに!!

「 Hey Jap 、長らく待たせたが WP8 を日本でも 発売するぜ。 HAHAHAHA !!」

Page 14: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

IS12T の OS 「 WindowsPhone 7.8 」は、9/9 でサポート期限切れを迎えてお亡くなりに……

突然延長となり、 10/14 までサポート期限が伸びました!

また、 10/2 に「 de:code 」シークレットセッションが開催され、急遽 Microsoft CEO サティア・ナデラ氏が登壇することに!!

「 Hey Jap 、長らく待たせたが WP8 を日本でも 発売するぜ。 HAHAHAHA !!」

そんな発表は、残念ながらありませんでした。そしてそのまま 10/14 でサポート切れとなりました。( 何のための延長だったんだ…… )

Page 15: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

現在、日本で使える端末は何があるの?

FZ-E1

Page 16: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

現在、日本で使える端末は何があるの?

Windows Embedded 8.1 Handheld なので、 WP ではない

Page 17: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

現在、日本で使える端末は何があるの?

=サポート切れとなった IS12T ( WP7 )以外、国内で 使用可能な WP は存在しない状況に

Page 18: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 現在の日本における WP の状況

現在、日本で使える端末は何があるの?

=サポート切れとなった IS12T ( WP7 )以外、国内で 使用可能な WP は存在しない状況に

WP7 の開発者アンロックも

2014/12/31 までで終了!

Page 19: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 今後のアプリ開発方針的な

Page 20: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 今後のアプリ開発方針的な

こんな状況じゃ、アプリ作るのなんて意味がないじゃない!

Page 21: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 今後のアプリ開発方針的な

こんな状況じゃ、アプリ作るのなんて意味がないじゃない!

Page 22: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 今後のアプリ開発方針的な

・日本以外でなら、それなりに端末所持者もいる

  2014/10 にマーケティングリサーチ会社 Kantar が発表した OSシェア によれば……

 イタリア: 15% ( iOS : 10.4% ) フランス: 10.6% ( iOS : 15.4% ) イギリス: 9.6% ( iOS : 31.0% )

 といったように、北欧ではそれなりに浸透 一部ではイタリアのように、既に iOS のシェアを抜いている国も

Page 23: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 今後のアプリ開発方針的な

・ Windows8.1 と WindowsPhone8.1 では、「 Univesal App 」 としてコードを共通化

 グローバル展開を狙っている場合、一緒に WindowsPhone にも 対応することで、より訴求力を上げることができます。

Page 24: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 今後のアプリ開発方針的な

・まだま謎に包まれた「 Windows 10 」での可能性

  Windows10 では、 OS ファミリーは WP も Windows へ統合され、 ストアも 1 つになると言われています。 そのときに国内でも再度、動き(発売)があるかもしれません。

Page 25: めとべや東京 #6「WP7は死んだ!もういない!」

◆ 今後のアプリ開発方針的な

・つまり?

 お願いしますから、 WP 日本再上陸を祈りながら、 一緒にアプリを作っていただけないでしょうか……?

Page 26: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、 便利になった箇所

Page 27: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

WP で最大の特徴といったら、何を思い浮かべるでしょうか僕は、やはりホーム画面に羅列されたタイルを最初に思い浮かべます

Page 28: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

WP のタイルも、 7や 7.5 の頃は 2 つのサイズ (中 /大 ) しかありませんでした。

7.8や 8 の登場に伴って、 3 つのサイズ (小 /中 /大 ) になり、 WP8 GDR3 以降は列幅も増え、より一層大量のタイルが並ぶように。➡より一層、タイルに表示する情報が重要に

WP7 WP8 WP8.1( 代理 )

Page 29: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

WP7 では、タイルに指定できる情報は少なく、自由度も高くありませんでした。

Title :タイトル(表)Count :右上に表示する数値( iOS のバッヂ的な)BackgroundImage :タイルの背景画像(表)BackTitle :タイトル(裏)BackContent :タイルの裏に表示する文章BackBackgroundImage :タイルの背景画像(裏)

Page 30: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

WP8 では、「 Flip 」「 Iconic 」「 Cycle 」というテンプレートが追加され、多少柔軟性が増しました。( Flip は元々のタイルが横長にも対応したようなものなので、省略)Iconic

Cycle

Page 31: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

では、 WP8.1 では……?

Page 32: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

では、 WP8.1 では……?

小・中・大 あわせて、

全部で 44種類になりました。

Page 33: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

・どういうことだってばよ

例えば、 150x150 サイズの 4角形タイル ( 表側のみ ) の一例として、

                         こんなにあります。

TileSquare150x150Image

TileSquare150x150Block

TileSquare150x150Text01

TileSquare150x150Text02

TileSquare150x150Text03

TileSquare150x150Text04

TileSquare150x150IconWithBadge

Page 34: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

※一部、違いがよくわからないレベルのものなどもあります

全てのタイルテンプレートは ↓http://msdn.microsoft.com/ja-jp/library/windows/apps/hh761491

ここで参照可能になっております。どんなものがあるか、見てみましょう。

Page 35: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

・タイルテンプレート を いじる

// テンプレートを取得する( XML )var MyTileXml = TileUpdateManager.GetTemplateContent (TileTemplateType.TileSquare150x150Block);

// 先ほどのページを参考にして、 XML を編集するMyTileXml.GetElementsByTagName("text")[0].InnerText = " な ";MyTileXml.GetElementsByTagName("text")[1].InnerText = " !すでの ";

// タイルをアップデートするvar TileMaster = TileUpdateManager.CreateTileUpdaterForApplication();TileMaster.Clear();TileMaster.Update(new TileNotification(MyTileXml));

Page 36: めとべや東京 #6「WP7は死んだ!もういない!」

◆Demo

Page 37: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

・タイルテンプレート を いじる (あんまりスマートじゃない・・・)

// テンプレートを取得する( XML )var MyTileXml = TileUpdateManager.GetTemplateContent (TileTemplateType.TileSquare150x150Block);

// 先ほどのページを参考にして、 XML を編集するMyTileXml.GetElementsByTagName("text")[0].InnerText = " な ";MyTileXml.GetElementsByTagName("text")[1].InnerText = " !すでの ";

// タイルをアップデートするvar TileMaster = TileUpdateManager.CreateTileUpdaterForApplication();TileMaster.Clear();TileMaster.Update(new TileNotification(MyTileXml));

Page 38: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

もっとスマートに、直感的にわかる書き方をしたい……

そんなあなたにオススメするのが、

「 NotificationsExtensions 」です。( Nuget から簡単に導入できます)

Page 39: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

・タイルテンプレート を いじる( NotificationsExtensions編)

// テンプレートを取得する( NotificationsExtensions を使用)var MyTileObj = NotificationsExtensions. TileContent.TileContentFactory. CreateTileSquare150x150Text02 ();

// プロパティを設定するMyTileObj.TextHeading.Text = " めとべや! ";MyTileObj.TextBodyWrap.Text = " はやく日本で WP が出るのをお待ちしております ";

// タイルをアップデートするvar TileMaster = TileUpdateManager.CreateTileUpdaterForApplication();TileMaster.Clear();TileMaster.Update(new TileNotification(MyTileObj.GetXml()));

Page 40: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所(1)

・タイルテンプレート を いじる( NotificationsExtensions編)

// テンプレートを取得する( NotificationsExtensions を使用)var MyTileObj = NotificationsExtensions. TileContent.TileContentFactory. CreateTileSquare150x150Text02 ();

// プロパティを設定するMyTileObj.TextHeading.Text = " めとべや! ";MyTileObj.TextBodyWrap.Text = " はやく日本で WP が出るのをお待ちしております ";

// タイルをアップデートするvar TileMaster = TileUpdateManager.CreateTileUpdaterForApplication();TileMaster.Clear();TileMaster.Update(new TileNotification(MyTileObj.GetXml()));

Page 41: めとべや東京 #6「WP7は死んだ!もういない!」

◆Demo

Page 42: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

タイルと言えば……

WP 開発者の中でよく聞く不満の 1 つとして、

「バックグラウンドでのタイル更新間隔が 30分に 1回、 というのは頻度が低すぎて不便」

というものがありました。

Page 43: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

このような制限がある理由は、安定性のためだとかバッテリー持ちのためだとか色々とあると思いますが、

WP8.1 からは一部制約が緩和されております。 ※重要

Page 44: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

タイルを更新する方法として、

「 ScheduledTileNotification 」

を使用します。

Page 45: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

タイルを更新する方法として、

「 ScheduledTileNotification 」 ← WinRT の API

を使用します。ストアアプリ開発者の中にはご存知の方もいらっしゃるでしょう。【指定した時間に、指定した内容でタイルを更新】することが出来るようになります。

Page 46: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

・ ScheduledTileNotification  の 簡単な解説

// セットしたいタイルのテンプレを編集する( NotificationsExtensions を使用すると楽チン)var MyWideTileXML1 = NotificationsExtensions.TileContent.TileContentFactory. CreateTileWide310x150Image(); // ワイドタイルMyWideTileXML1.Image.Src = " 進捗 01.png";

Page 47: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

・ ScheduledTileNotification  の 簡単な解説

// セットしたいタイルのテンプレを編集する( NotificationsExtensions を使用すると楽チン)var MyWideTileXML1 = NotificationsExtensions.TileContent.TileContentFactory. CreateTileWide310x150Image(); // ワイドタイルMyWideTileXML1.Image.Src = " 進捗 01.png";

// 同じ手順で、複数のタイル通知を作成しておく

Page 48: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

・ ScheduledTileNotification  の 簡単な解説

using Windows.UI.Notifications;// 通知キューを有効化するvar TileMaster = TileUpdateManager.CreateTileUpdaterForApplication();TileMaster.EnableNotificationQueue(true);

// スケジュールされたタイル通知を作成する (10 秒間隔 )var StartTime = DateTimeOffset.Now;var MyTileNotification1 = new ScheduledTileNotification(                    MyWideTileXML1.GetXml(), StartTime .AddSeconds(10)                    );

// タイルの有効期間を設定MyTileNotification1.ExpirationTime = StartTime.AddSeconds(20);

Page 49: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 2 )

・ ScheduledTileNotification  の 簡単な解説

using Windows.UI.Notifications;// 通知キューを有効化するvar TileMaster = TileUpdateManager.CreateTileUpdaterForApplication();TileMaster.EnableNotificationQueue(true);

// スケジュールされたタイル通知を作成する (10 秒間隔 )var StartTime = DateTimeOffset.Now;var MyTileNotification1 = new ScheduledTileNotification(                    MyWideTileXML1.GetXml(), StartTime .AddSeconds(10)                    );

// タイルの有効期間を設定MyTileNotification1.ExpirationTime = StartTime.AddSeconds(20);

// タイル通知をキューの中に、シュゥゥゥゥゥゥゥゥゥト!// 超!エキサイティング!!TileMaster.AddToSchedule(MyTileNotification1);

Page 50: めとべや東京 #6「WP7は死んだ!もういない!」

◆Demo

Page 51: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

冒頭で述べた通り、 WP は海外ではそれなりにシェアがあるので、今は海外向けにアプリを作ることをオススメします。

➡アプリのグローバル対応が必要になってきます

Page 52: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

WP7/8 での多言語対応の不便な点

・日本語と英語で文字数が異なるため、レイアウト調整が難しい

 「 WindowsPhone 日本で発売」 「 WindowsPhone released in Japan 」 といったように、文字数が異なるため、英語で表示すると幅が足りずに 表示されない部分や、意図しない位置で改行されてしまうことが。 →コードで文字サイズ等調整……面倒くさい

Page 53: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

WP7/8 での多言語対応の不便な点

・リソースの切り替えはコーディング頼り……?

 画像の中に文字が入っていたりする場合など、 言語ごとに文字以外のリソースファイルを用意してやる必要がある場合、 結局コード側で対応しないといけない。

Page 54: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

WP8.1 では、簡単にこんな感じのことが出来るようになりました!

Page 55: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

WP8.1 では、こんな感じに出来るようになりました!

Page 56: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

WP8.1 では、こんな感じに出来るようになりました!

Page 57: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

・真面目な解説 その1.文字以外の要素にも対応できるようになりました

文字の色やサイズ、または座標などの要素も定義出来るようになりました。

XAML で、「 x:Uid 」を指定しておきます。<TextBlock x:Uid=“任意の UID” … />

Page 58: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

・真面目な解説 その1.文字以外の要素にも対応できるようになりました

文字の色やサイズ、または座標などの要素も定義出来るようになりました。

言語ごとのリソースファイルに、以下のように記述します。名前 値

UID.Text 目を星に向け、 ....

UID.FontSize 21.333

UID.FontWeight Bold

UID.Foreground White

名前 値

UID.Text Keep your eyes....

UID.FontSize 14.333

UID.FontWeight Normal

UID.Foreground LightGreen

Page 59: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

・真面目な解説 その 2 .画像リソースも簡単に切り替えられるようになりました

 この画像は、同じ Imageオブジェクト に   Source=“image.jpg“    で指定しています。

Page 60: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

・真面目な解説 その 2 .画像リソースも簡単に切り替えられるようになりました

  ファイル名   image.lang-ja-jp.jpg          image.lang-en-us.jpg

Page 61: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

・真面目な解説 その 2 .画像リソースも簡単に切り替えられるようになりました

  ファイル名  これだけで自動的に切り替えてくれます   image.lang-ja-jp.jpg          image.lang-en-us.jpg

Page 62: めとべや東京 #6「WP7は死んだ!もういない!」

◆WP8.1 アプリ開発で、便利になった箇所( 3 )

多言語対応が、コーディングなしでもできることの幅が大分広くなってまいりました!

Page 63: めとべや東京 #6「WP7は死んだ!もういない!」

◆ まとめ

・日本でまだ WP8.1 は出ていませんが、 海外ユーザーはそれなりに多い  + ユニバーサルアプリで、 Windows8 ストアとあわせて狙っていける

・不便だった点も少しずつ改善され、ユニバーサルアプリの登場により、 出来ることの幅は大きく広がった

・まずは一度試してみて、そして出来れば、すばらしい WP アプリを 作りながら、 WP が日本で出るのを一緒に待ちませんか。

・ MS は一刻も早く日本で WP8.1 を出してください

Page 64: めとべや東京 #6「WP7は死んだ!もういない!」

◆参考にさせて頂いたページ

・ Office365 の WindowsPhone のブログ 「 kazuakix の日記」   http://kazuakix.hatenablog.jp/entry/2014/10/07/003559   http://kazuakix.hatenablog.jp/entry/2014/10/09/000818

・カレーが嫌いなスマートフォンアプリプログラマのブログ 「酢ろぐ!」(すろぐ)   http://blog.ch3cooh.jp/entry/20121225/1356374341

・@ IT  業務アプリ Insider  より、 「 Metro TIPS :タイルに現在時刻を表示するには?」   http://www.atmarkit.co.jp/ait/articles/1302/14/news058.html

Page 65: めとべや東京 #6「WP7は死んだ!もういない!」

ご清聴頂き、ありがとうございました!