SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UWPアプリ開発の最前線

Windows電卓の中はどうなっているのだろう?(後編)
~オープンソースのコードを改造してみよう

UWPアプリ開発の最前線 第14回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Windows 10に標準で入っている「電卓」アプリのソースコードが公開されています。C++/CXで書かれたUWPアプリです。このソースコードは、UWPアプリのアーキテクチャや、C++/CXとXAMLを使ったUWPアプリの書き方などの勉強になります。カスタマイズした「電卓」を配布することもOKです。今回は、そのソースコードを実際に改造してみましょう。

  • X ポスト
  • このエントリーをはてなブックマークに追加

  • 適用バージョン:Windows 10 version 1803(build 17134)以降

はじめに

 Windows 10に標準で搭載されている「電卓」アプリ。Windows 10ユーザーなら、おそらく一度は使ったことのあるユニバーサルWindowsプラットフォーム(UWP)アプリでしょう。そのソースコードは、オープンソースとして公開されています。

 このオープンソース化された「電卓」アプリのソースコードを読んだり、改造して楽しんだりすることで次のようなノウハウを習得できます。

  • C++/CXとXAMLを使ったUWPアプリの書き方
  • MVVMアーキテクチャ
  • UWPアプリでのユニットテスト
  • フルーエントデザインやAzure PipelinesといったWindows 10の新技術

 前回は、このソースコードの読み方を簡単に紹介しました。ソースコードの取得方法や、ソリューションの構成などについては、この前回の記事をご覧ください。今回は、このソースコードを改造して、「電卓」アプリに機能を追加してみましょう。

サンプルコードの実行例
サンプルコードの実行例:
左:面積「坪」の変換(本稿で解説)
右:日付計算の西暦⇔和暦切替

 上の画像はサンプルコード(GitHub)をビルドして実行した例です。サンプルコードにはこのように2つの機能を追加してありますが、本稿では簡単な「坪」変換だけを解説します。新しくUIも追加する西暦⇔和暦切替については、サンプルコードをご覧ください。オリジナルのソースに対する変更箇所には「bw:」という文字列で始まるコメントを付けてあります。

対象読者

  • UWPアプリを作っている開発者
  • UWPアプリに興味を持っている開発者

必要な環境

 サンプルコード(GitHub)は以下の環境で作成し、動作確認しています。

  • Windows 10 1809
  • Visual Studio 2019 Version 16.2.3
  • UWP用Windows 10 SDK: 10.0.17134.0、10.0.17763.0

 なお、オリジナルのソースをビルドするには、以下の環境があればよいとのことです(9月4日時点のREADMEファイルより)。

  • Windows 10 1803以降
  • 最新のVisual Studio(無償のCommunity Editionで可)
  • 最新のUWP用Windows 10 SDK

「オレオレ証明書」作成方法の仕様変更

 本題に入る前に。Visual Studio 2019 v16.2で入った仕様変更について、説明しておきます。

 UWPアプリにはデジタル署名が必須です。開発時には自己署名証明書(いわゆる「オレオレ証明書」)を使い、公開時に正式なものと差し替えます。これまでは、Visual StudioのUIで「オレオレ証明書」のファイルを簡単に生成できました。それが、Visual Studio 2019 v16.2からはその機能が削られてしまいました。この変更について、Visual Studio 2019のリリースノートには記載が見当たらないようですが、Developer Communityに公式な回答があります。

 新しい手順では、PowerShellで「オレオレ証明書」を作成してコンピューターにインストールし、それをVisual Studio 2019で指定します。

次のページ
ソースコードを準備する

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
UWPアプリ開発の最前線連載記事一覧

もっと読む

この記事の著者

biac(ばいあっく)

HONDA R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。わんくま同盟の勉強会(名古屋)で、よく喋ってたりする。2014/10~2019/6 Microsoft MVP (Windows Devel...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11706 2019/09/24 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング