レポート

ソフトウェアアーキテクチャの求め方からC++11プログラミングまで盛りだくさん “プログラミング生放送勉強会 第25回@品川”レポート

この記事を読むのに必要な時間:およそ 3 分

Windowsストア アプリケーションのUIデザイン

日本マイクロソフト株式会社 高橋 忍さん@shinoblogaviによる「Windowsストア アプリケーションのUIデザイン」です。

Windowsストア アプリは,これまでのWindowsとは異なるデザインであり,独特のコンセプトや考え方があります。マイクロソフトが勧めているガイドラインをまじえながら考え方,実装方法,注意点を紹介しています。

「Windowsストア アプリケーションのUIデザイン」日本マイクロソフト株式会社 高橋 忍さん

「Windowsストア アプリケーションのUIデザイン」日本マイクロソフト株式会社 高橋 忍さん

マイクロソフトが行きついたUI "Modern Style"

マイクロソフトは,User Experience(UX)が,アプリにおいてもっとも重要なこととして,Windows Vistaの頃から力を入れているとのこと。ユーザービリティテストなどを行い改善し,行きついたひとつの答えのUIがフラットデザインのModern Styleであると紹介しています。

以前はMetroと呼ばれていたデザインで,路線図のように「デザインが目的達成をサポートする」ことがコンセプトとのこと。

コンテンツが最優先のアプリケーションデザイン

Modern Styleの重要な考えが,コンテンツが最優先とのこと。コンテンツがエクスペリエンスの中心,ユーザーがコンテンツに没頭できることがゴールと解説しています。

実現するステップとして次の3つを解説しています。

  • ① 削ぎ落とす
  • ② 構造とリズム
  • ③ 軽快に,滑らかに

余計な装飾,ぼかしやグラデーション,今使わないコントロールやメニューなどを削ぎ落とします。タブレットデザインのガイドラインを中心に画面を作っていきます。

次に,Modern Styleは美しいタイポグラフィの上に成り立ち,コンテンツに構造とリズムを生まれるとのこと。統一感のあるフォントサイズとウェイトによって情報の階層を規定します。

最後は,レスポンスの重要さについてです。処理の速さではなく,処理をする前にフィードバックを行うことが必要とのこと。

動画ではそれぞれ詳しく解説されています。

ニコニコ動画:http://www.nicovideo.jp/watch/sm21812830

Visual C++はC++10.8 ←イマココ

επιστημηさん@epitwitさんの「Visual C++はC++10.8 ←イマココ」です。Visual C++で使えるようになったC++11の新機能についてデモをまじえた解説です。

「Visual C++はC++10.8 ←イマココ」⁠ επιστημηさん

「Visual C++はC++10.8 ←イマココ」 επιστημηさん

Visual C++のC++11は,GCC/Clangと比べて正直イケてない?

Visual Studio 2012のVisual C++のC++11対応は,他のコンパイラ(GCC,Clang)と比べると「正直イケていない」が,Visual C++12(Visual Studio 2013 Previewでは,ようやく追いついてきた(のでC++10.8)とのこと。

※)
セッション時の最新はVisual Studio 2013 Previewでした。

他の言語では当たり前? C++11機能

ライブコーディングをまじえてC++11機能の紹介です。セッションでは,次の機能を取り上げています。

  • Delegating constructor
  • Uniform initialization
  • Initializer list
  • Explicit conversion operator

Delegating constructorは,コンストラクタ内から別のコンストラクタの呼び出しです。Java,C#などでは一般的な機能ですが,C++はC++11からできるようになったとのこと。

#include <iostream>
using namespace std;

class cplx{
private:
    double re_;
    double im_;
public:
    cplx(double real, double imag) : re_(real), im_(imag) {
        cout << "cplx(double, double)\n";
    }

    cplx(double real) : cplx(real, 0.0) {
        cout << "cplx(double)\n";
    }

    cplx() : cplx(0.0) {
        cout << "cplx()\n";
    }
};

すべての内容は動画を参照してください。セッションでは,まだできない(実装されていない)内容も少しふれています。

ニコニコ動画:http://www.nicovideo.jp/watch/sm21813057