より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Microsoft Tech Summit 2018 3日目 〜 デスクトップアプリは肩身が狭い?

前日のビアバッシュは勝手に盛り上がって2キロも増えてしまいました。

最終日を迎えます。

デスクトップアプリを作る技術

個人的には今日の目玉は、WPFなどの勉強でお世話になるokazukiこと大田さんのセッション。

前日の朝の時点で参加の判断のためにスライドを公開されていましたた。

あってもなくても私は、絶対参加するつもりでした。

www.slideshare.net

慌てて会場に入ろうとすると、私の前を悠然と歩く方が。大田さん、ご本人とは気づかず……。

スライド、すでに公開済みなのですが、大田さんの話が聴きやすい。

PWA

Visual Basic 6.0はWindows10でもランタイムが入っているので動くんですね。

それはさておき、PWAという言葉は知りませんでした。

PWA(Progressive Web Apps)とは?ネイティブアプリ開発との違い | MMU | アプリ開発・アプリ制作メディア

UWP

  • 常駐系アプリは作りにくい
  • 既存資産は作りにくい
  • Windows10でしか動かない

やっぱり、Windows10しか動かないというのが……。

UWPデモ

大田さんが、xamlで開発するのですが、「あらかじめ、準備してきました!」じゃないので、プロの仕事ぶりを見ていて勉強になります。

練習はしているのでしょうが、こんな感じでスムーズに進むのか、と。

ONNX形式でコンテンツとして追加。 すると自動生成されるようです。

Canvasに手書きの数字を入力すると、結果を返してくれるという。

面白いのは入力中ですでに判定してくれるところですね。

パッケージ製品を会社ごとにカスタマイズしたいときに、変更パッケージを使うという選択肢があると。

どこかの会社の製品は全面的にカスタマイズだから、無理っぽいですね……。

Fluent Design System

WIndows10らしいというのはFluent Design System

www.webprofessional.jp

Microsoft Surface 〜 なぜ、マイクロソフトがデバイスを作るのか?

朝一番のセッションに選んだのはこれ。

私の中でのマイクロソフトのイメージとしてはWindows OSを始めとするVisual Studio 、Officeなど

といったソフトウェア開発・販売会社というイメージしかありませんでした。

ですが、クラウドのAzureは提供してますし、それだけでなく、開発パートナーとしても仕事をしているのだなと。

ただ、デバイス、ハードとなってくると、意外なイメージ。

Surface Goという端末があるのもここ2ヶ月前くらいに知ったくらいです。

タブレットの出現でタッチは使いやすいとわかったものの生産性はPCの方が良い。

そこで、タッチ+キーボードの2 in 1。それがSurface

Surfaceとしてはタブレット本体+タイプカバー+ペンの組み合わせは変わっていない。

f:id:rimever:20181107095639p:plain

その理由とは……

  1. 製品がないならマーケットも創る
  2. Windows10やOffice365の機能をフル活用できるかっこいいデバイスを作りたい
  3. クラウドサービスと組み合わせて、最高の体験をお届けしたい

Surfaceの進化

  • プロセッサ:処理能力の向上
  • 冷却システム:静かな環境。ファンレスマグネシウムのボディで熱を逃す。
  • ストレージの進化
  • LTEネットワーク

ファンと熱は、高校時代のVAIOで泣かされたのを思い出しますね。

ファンが壊れる → PCが熱々になる → 夏はもう一つの熱源となり地獄 室内で熱中症になれます。

ファンレスという考え方は素晴らしいと思います。

  • 社内のサーバーPCがうなりをあげる。
  • 開発者セッションではPCを持っている参加者が多いので、小さい音でも積もれば轟音と化す。

メモを取っている5年前に購入したこのPCも熱々なのですが……。

ペンの機能

面白いですね。

  • ペンで書いた文字をテキストに変更する。(ただし、日本語は漢字の書き順を見るので正しく判定されないこともある)
  • Wordの文字列に横線引いただけで削除できる。
  • 地図に線を引いただけで、距離を計測することもできる。

品質

ロボットで何度も閉じたり、タッチを繰り返したりして品質チェックもしている。

f:id:rimever:20181107102948p:plain

マイクロサービス

今、話題のマイクロサービスです。あちこちで、この言葉を聞きます。

  • 目的に向かい継続的に進化する小規模で自律的なサービス。
  • 目的に向かっているか。
  • セッションで何度も強調されるのが「目的」
  • API公開しない企業は乗り遅れていく。データを公開しない、では全くビジネスについていけなくなる。

私の中で間違った解釈があって、巨大なシステムをどんどん細かくマイクロサービス化していけば良いと考えていたのですが、 なんでもかんでも細かくしていけばいいわけではなさそうですね。

チームの単位やビジネスの単位、トランザクションの範囲、サービスが変化しやすいかなど見越してマイクロサービス化していくもののようです。

なぜコンテナを使うのか

  • システム全体ではなく、負荷の高い機能のみをスケールアウトさせたい。
  • コンテナは小さくて有効。大きくてなんでも入っているものはサーバーホストすれば良い。
  • 運用コストを削減して、ビジネスの価値創造に注力したい。

マイクロサービスに向かない組織、システム

  • 安定して、変更が必要ない
  • 大規模で複雑なシステム
  • 広範囲なトランザクションがあるシステム
  • 階層化された契約が多い業種
  • 上層部の戦略、危機感がない組織
  • 開発者の数が少ない組織
  • スピードを求めない組織

マイクロサービスを支えるテクノロジー

Microsoft Pix

私もですが、パシャパシャ取るので、シャッター音が気になりました。

講演者の方々が勧めていたようにMicrosoft Pixを使用した方がいいですね。

www.bousaid.com

Microsoft Learn

Microsoft Learnというのがあって、無料で技術を学ぶことができるみたいです。

Microsoft Learn | Microsoft Docs