Archive for the ‘Mobile’ Category

Visual Studio Emulator for Androidが公開されています。こちら

いよいよVisual Studioから利用できるAndroidエミュレーターが登場です。

こちらはHyper-Vをベースとした仮想環境で実行できるAndroidエミュレーターで、Visual Studioはもちろんのこと、Android Studio, Eclipseなどからも利用できるようです。

マイクロソフトのエミュレーターはWindows Phoneの頃から便利なツールがいっぱいでしたからAndroidのものも期待しちゃいますねぇ。

私もAndroid端末を調達したので、ことしはクロスプラットフォーム開発に力を入れたいなぁということでメモ。

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

 

DSCN7432

めとべや東京 #5に登壇することになりました。

開催要項は以下のようになっています。

日時:2014-08-02(土) 12:30~18:00 (開場:12:10)

場所:東京都港区港南 2-16-3 品川グランドセントラルタワー 日本マイクロソフト 品川本社(SGT)

お申し込みはこちら。また、懇親会の申し込みは別になっておりまして、こちらから。

私以外の登壇者は日本マイクロソフトの井上章さんや@tanaka_733さん、高尾さん、太田さん、神原さんと豪華なメンバーとなっています。

それもあってか、募集開始と同時に60枠のほとんどが埋まってしまい、急遽80人キャパの部屋に移していただいたのですが、もう既にかなりの申し込みとなっていますので、お申し込みはお早めに。

私は、ひさびさのめとべやということもあって、WindowsPhone関係のなにかをお話ししようかなと考えています。
というか、まだ考え中です(^^;;;

人気コミュニティということで気合いを入れてがんばりたいと思います。

それでは、当日開場でお会いしましょう!

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Visual Studio 2013 Update 2が公開されています。

image

Webインストーラーはこちら

ISOイメージはこちら

Visual Studioは言うまでもなく、マイクロソフト製の統合開発環境ですね。

Visual Studio 2013 Update 2でも多くの機能追加が行われています。

Visual Studio Team Blogにあった新機能についてのポストを引用していくつか翻訳しておきましょう。

Visual Studio 2013 Update 2ではたくさんの新機能やバグフィックス、お客様からのフィードバック、パフォーマンスや安定性の強化などを含みます。新しい機能についての一部と関連するアップデートのリンクを以下に列挙します。

  • ユニバーサルアプリ このリリースでWindows 8.1とWindows Phone 8.1でコードやリソースなどの資産を共有できるユニバーサルアプリが利用できるようになります
  • TypeScript TypeScript LanguageはプレーンなJavaScriptにコンパイルできる型付のJavaScriptスーパーセットです。つまり、型付言語によってクラス、モジュール、インターフェースなどを定義でき、ブラウザーで実行できるJavaScriptにコンパイルすることができます。
  • Web Tool Web開発ツールはSCSSのサポート、新しいJSONエディター、ASP.NETテンプレートのアップデート、URLピッカーの進化などたくさんの新機能を含みます。
  • Azure tools 開発やテスト環境で利用するAzure web sitesやSQL Azuredatabasesなどを直接操作するオプションを含みます。
  • Diagnostics(「診断」と直訳するのも微妙な気がしたのでそのままで(^^;) Diagnosticsツールはいくつかの強化が行われました。パフォーマンスイベントはMVCメソッド用にナビゲーションを行ったり、データベースクエリー用のSQLコマンドに移動を行います。さらに、Windows Store Diagnosticsツールは同時にいくつもの診断情報を共有タイムラインに表示します。
  • Slipstream install VS2013 RTMからUpdate2まで、Visual Studioのすべての最新機能を1インストールで行うことができます。

以下はUpdate2でVisual Studio 2013に追加されたそのほかの重要な更新です。

  • Apache Cordova and Visual Studio. Cordova tools in Visual Studioではweb開発者はHTML, JavaSciptのスキルを活用し、Android, iOS, WindowsとWindows Phoneをターゲットとしたクロスプラットフォームモバイルアプリケーションをビルドできます。詳しい情報はApache Cordova(http://cordova.apache.org/)で確認してください。
  • A cloud optimized .NET. 最新のフレームワークは小さく、軽量に、そしてクラウドとサーバーワークロードをデザインできるクラウド最適化しました。
  • .Net vNext. このUpdateで.NET Frameworkはクラウドファースト、モバイルファーストに最適化しました。そして、Roslynを利用してC# 6とVBをコンパイルできるようになったり、.NET Nativeを利用してWindowsストアアプリを高速化したり、ASP.NETアプリをクラウドに最適化したりできます。
  • TFS 2013 Update 2 こちらは再度言及しますが、TFS2013のUpdateにはTagging, charting, 共有パラメータ、コンパニオンサービス for クラウドロードテスト分析などたくさんの機能強化が行われています。詳しくはこちらで。

Somasegar’s BlogBrian Harry’s Blogではより詳細なハイライトが紹介されていますのでチェックしてください。すべての新機能やFixを確認する場合はこちらのKBアーティクルをご確認ください。

いつものごとく、適当翻訳なので詳細はVisual Studio Team Blogのポストをご確認ください。

というワケで、私もさっそくインストールしました!
これで原稿が進められる!ということでメモ。

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

image

2014年4月26日(土)に開催される.NETラボ勉強会に登壇します。こちら

開催概要を引用すると以下のような感じです。

■日時:2014年4月26日(土曜日) 13:30-18:00 (開場:13:00、退出:18:00)

■会場:日本マイクロソフト 品川本社 (SGT)31F VIP Board Room
http://www.microsoft.com/ja-jp/mscorp/branch/sgt.aspx

■会費:500円(学生無料、懇親会は別途、ゲストスピーカーは懇親会無料)
※会費は運営費とゲスト懇親会費に充てさせてもらいます。

という訳で、.NETラボさんにお呼ばれしましたので、何についてお話するか悩みましたが、ここは季節ものということでBuild 2014のふりかえりをさらっとと、せっかくですのでユニバーサルWindowsアプリについて、お話させていただこうかと思います。

いつにも増して興味深い技術が目白押しだったBuild 2014では興味深い新技術がいくつも発表されたので、それらの技術をあらためて振り返りつつ、いろいろとお話できればと思います。

私の他にもVisioやXamarinのセッションもあり、今回の.NETラボも盛りだくさんのようですので是非ご参加下さい!

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Windows Phone SDK update for 7.8が公開されています。

Continue reading ‘Windows Phone SDK update for 7.8が公開されています。’ »

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Windows Phone 8 Training Kitが公開されています。

Continue reading ‘Windows Phone 8 Training Kitが公開されています。’ »

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

「.NET」開発者のためのSilverlight入門を執筆しました。

すみません、宣伝です(^^;

本書はタイトル通りのSilverlightの入門書になります。

某所で行っていたセミナーの内容をベースになかなか時間の関係でお話できなかった点やゆっくり説明できなかった部分なども書籍の特徴を生かして執筆いたしました。

デモプログラムもインターネット経由でそのままダウンロードしていただけます。

結構時間がかかってしまったのですが、Silverlight開発者だけではなく、XAMLを使った開発を行う方にも役に立てるように必要な知識をやさしく理解していただけるようがんばって執筆しました。

これから始めようという方は最初から順に読んでいただければ必要な知識を得られるように工夫しました。

そして、既にXAMLを習得されている方にも、確認したい点を理解しやすいように極力各章で独立して説明するように心がけています。

ただ、書籍の帯は編集の方が書いて下さったようなのですが、ちょっと先走っているようですが、ここはご愛敬ということでひとつご容赦のほどを・・・。(^^;

8月25日に工学社から発売になりますので是非お手にとってご覧下さい。

助けると思って(^^;

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

ということでこちらの記事に関連して簡単に利用方法など。

まず、Codeplexの[Download]をクリックするとClick Onceによるツールのインストールが行われます。

20111227102410

インストールが行われますと、スタートメニューからWindows Phone Power Toolsの起動が行えます。

20111227102555

ツールの実行にはWindows Phone EmulatorもしくはアンロックされたWindows Phoneが必要になります。
実機に対してアクセスを行う場合は事前にWindows Phone SDKにあるWindows Phone Developer Registrationなどによってアンロックを行って下さい。(要App Hubアカウント)

20111227102839

そして,Zuneを起動して実機を接続後、こちらのツールを起動しますと接続先の確認を行うダイアログが表示されます。 こちらでDeviceもしくはEmulatorを選択してください。

20111227103015

選択したら「CONNECT」ボタンで接続を行います。正しく接続されていない場合(Zuneが起動していなかったり、ロック画面のままになっているような場合ですね)はエラーメッセージが表示されます。

起動すると3つのメニューが表示されます。

Install|Update

 20111227103243

Xapファイルのインストールや更新が行えます。表示にもあるように障害が発生しても特に何も表示されない場合がありますので、モジュール・端末の確認は自身で行う必要があります。

そして対象のXAPがエミュレーター・端末に存在しない場合は新規にInstall、存在する場合は再インストールが行われます。

apps

20111227103605

既にインストールされているアプリケーションの一覧から起動やKILL、アンインストールなどが行えます。

file browser

20111227103955

こちらが分離ストレージブラウザーですね。中に格納されているファイルの読み書きおよびディレクトリの作成やファイルなどの削除等が行えます。

上記以外にも下記の[Windows Device PHONE]と記載のある部分をクリックすると

20111227104205

先ほどのダイアログに戻りますが、[DEVICE INFORMATION]となっている部分をクリックすると

20111227104330

上記のように接続中のデバイスの情報を確認することができます。

というワケで簡単でしたがWindows Phone Power Toolsの利用方法でした。

お粗末さまでしたー。

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Windows Phone Power Toolsが公開されています。こちら

Windows Phone Power ToolsはWindows Phone上にあるアプリケーションのインストール・更新・削除や分離ストレージに格納されたデータなどにTreeView構造のブラウザーを利用してExplorer風にアクセスすることができるツールですね。

リンク先にも記載がありますように、通常のWindows Phone SDKだとXAPのインストールとCUI形式のIsolatedStoragExplorerを利用してのアクセスという形になりますが、こちらのツールを使用するとXAPの更新やGUIを使ったIsolatedStorageに対するブラウジング、XAPのアンインストール、デバイス情報の取得やアプリケーションの起動やKillなどが行えます!

まま、実際問題これくらいの操作がGUIでできてくれると便利ですねー。

というワケでメモ。

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

こちらのエントリーはSilverlight Advent Calendar 2011の22日分の参加エントリーです。

さて、僭越ながら3日連続でエントリーを予定している1日目で、今回のテーマは「データバインディング」に関する内容です。

ということでまずはデータバインディングの概要から。

データバインディング概要

Silverlightにおけるデータバインディングはドキュメントの中では以下のように説明されています。

「データバインディングはSilverlightベースのアプリケーションがデータを表示し、データと対話するための簡単な方法を提供します」

ちょっと抽象的な説明でわかりずらいですよね。

Silverlightでは一般的にはUIをXAMLで表現します。XAMLで表現されたUI要素と何かしらのソースとなるデータとの間を仲介してその内容・変化を通知するメカニズムを総称してデータバインディングと呼んでいます。

これらのメカニズムはどのような形で実現されているかというと下記の図のような形で実現されています。

Binding1

まず、Bindingクラスのオブジェクトに対して、元となるデータ「Binding Source」を指定します。

Binding Sourceには任意のオブジェクト、任意のプロパティを指定することができます。

そして、次にバインディング対象となる「Binding Target」はFrameworkElementの派生クラスの依存関係プロパティに対して指定する形になります。

FrameworkElementそのものは多くのUI要素・コントロールがその派生クラスとして構成されていますので、必然的にBindingの指定が行えるということになりますね。

つまり、上記のようにTargetとSourceの間を取り持って、そのデータの内容の通信する役割を担う存在がBindingになります。

Bindingのさまざまな機能

BindingはこのようにTargetとSource間の仲介をする際に発生するさまざまな問題解決を行う機能があります。

その中でも代表的なところでは「データ型のミスマッチ」というシナリオがあります。

ご存じのとおり、.NET環境では型に対する厳密なチェック機構があります。 これはは、特に明示的に指定しない限りはビルド時点でミスマッチが検出可能で、データ型のミスマッチが起きにくい仕組みとなっています。

しかし、XAMLでは簡潔なUIの作成を支援する目的で、自由なオブジェクト・プロパティの指定が行えるメカニズムとなっています。 つまり、こうした型のミスマッチも発生する可能性があります。

これらのミスマッチがプログラミングエラーによるものの場合は、当然デバッグする必要がありますが、意図的にミスマッチを発生させることでさまざまな機能をもたらしています。

たとえば、バインディング時に指定されたデータ型のミスマッチが発生・つまり例外が発生することで「データ検証」を行ったり、強制的にデータ型にマッチするようにコントロールを加工することで「データ表現」に役立てるというシナリオなどがあります。

その中でも今回ご紹介するのが、その「データ表現」のひとつ「値コンバーターを利用した表現」をご紹介します。

値コンバーターを利用した表現

先ほどもご紹介したように、TargetとSourceのデータ型が異なっていることが明確にわかっているのであれば、その仲介となるBindingに対して値コンバーターを指定することで強制的にデータ型のミスマッチを解決しようというメカニズムになります。

図で表現すると以下のようになります。

Binding2

TargetとSourceをBindingが仲介しているのであれば、その仲介のタイミングで専用の変換ロジックを間に挟むことでこれらのミスマッチを解決しようというメカニズムになります

それでは具体的な値コンバーターの作成方法および利用方法を見ていきましょう。

値コンバーターの作成

まず、値コンバーターはあらかじめインターフェースが定義されています。

名前空間System.Windows.DataにあるIValueConverterインターフェースを実装することで作成することができます。

IValueConverterの主要なメンバーは2つ

  • Convert [Source→Targetの場合に利用されるロジック]
  • ConvertBack[Target→Sourceの場合に利用されるロジック]

になります。

SilverlightのBindingのModeプロパティ(データフローを指定するプロパティ)は既定ではOneWayとなりますので、バインディングに対して明示的にTwoWayバインディングを指定しない限り、ConvertBackは利用されません。

いずれも戻り値・引数の型などは同じになります。

Object Convert(
    Object value, //ソースもしくはターゲットの値
    Type targetType, //ソースもしくはターゲットの型
    Object parameter, //Bindingで指定されたパラメーター
    CultureInfo culture ) //カルチャー情報

値コンバーターの指定方法、サンプル

というワケで値コンバーターの指定およびサンプルコードになります。

まず、値コンバーターから

using System;
using System.Windows.Media;
using System.Windows.Data;

namespace SLAdv2011_Day22_Converter
{
    public class DoubleBrushConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            var source = System.Convert.ToInt32(value);

            var brush = new SolidColorBrush();

            if(source < 20)         brush.Color = Colors.Blue;
            else if(source < 40)    brush.Color = Colors.Green;
            else if(source < 60)    brush.Color = Colors.Yellow;
            else                    brush.Color = Colors.Red;

            return brush;
        }

        //今回は実装なし
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}

 

取得したDouble値を強制的にintに変換して、値によって異なる色のBrushオブジェクトに変換する値コンバーターです。

今回はサンプルですのでConvertBackは実装していません。

続いて、このコンバーターを利用したサンプルです。

<UserControl x:Class="SLAdv2011_Day22_Converter.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:SLAdv2011_Day22_Converter"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">
    <UserControl.Resources>
        <!--コンバーターはリソースディクショナリへ-->
        <local:DoubleBrushConverter x:Key="DBConverter" />
    </UserControl.Resources>
        
    <StackPanel>
        <Slider Name="scoreSlider" Minimum="1" />
        <StackPanel Orientation="Horizontal">
            <!--値コンバーターを利用したインジケーター-->
            <Ellipse Margin="5" Width="15" Height="15" 
                     Fill="{Binding ElementName=scoreSlider, Path=Value, Converter={StaticResource DBConverter}}" />
            <TextBlock Text="{Binding Value,ElementName=scoreSlider}" 
                     VerticalAlignment="Center" />
        </StackPanel>
    </StackPanel>

</UserControl>

今回ははUserControlのリソースディクショナリへ値コンバーターを格納し、Sliderで指定された値をEllipseを使ったインジケーターとして利用しています。

ご存じのとおり、EllipseのFillプロパティはBrush型のプロパティで、SliderのValueプロパティはDouble型のプロパティです。 こうした異なるミスマッチしたデータ型のバインディングで値コンバーターを指定することで別の新しい表現につなげることも可能です。

サンプルコードはこちら。

というワケで今日は以上になります。

今日の内容はMicrosoft Innovation Academyの「Silverlightプログラミング入門 前編」で実施しているセミナーの内容からのピックアップになりますので、よろしければ本編のセミナーもどうぞ(^^;

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]