わんくま同盟 Blog's

わんくま同盟

メニュー

わんくま同盟

  勉強会情報

  メンバリスト

掲示板

ブログ

リンク

統計

わんくま同盟メンバ

わんくま同盟わんくま同盟

わんくま同盟メンバの最新の記事

List(of Class)でDistinctしたい。

セミコロンとったらVB.NETとかとかとか、世迷言だよ、ぐるるる。

とあるクラス、リストしてから、重複除いた要素でごにょりたい、で作ったのでメモ。

 

Module Module2
 
    Sub Main()
 
        Dim samples As New List(Of KeyData)
        Dim rnd As New Random
 
        Dim KeysCount = rnd.Next(1, 120)
 
        Console.WriteLine("{0} 件キー", KeysCount)
 
        For x As Integer = 1 To KeysCount
            samples.Add(New KeyData With {
                                .Key1 = rnd.Next(1, 3).ToString("KeyA-000"),
                                .Key2 = rnd.Next(1, 3).ToString("KeyB-000"),
                                .Key3 = rnd.Next(1, 3).ToString("KeyC-000")
                                })
        Next
 
        Console.WriteLine("件数 : {0}", samples.Count)
        Console.WriteLine("重複なし件数 : {0}", samples.Distinct.Count)
 
        Console.ReadKey()
    End Sub
 
End Module
 
Public Class KeyData
    Implements IEquatable(Of KeyData)
 
    Property Key1 As String
    Property Key2 As String
    Property Key3 As String
 
    Public Function Equals1(other As KeyDataAs Boolean Implements IEquatable(Of KeyData).Equals
        Return Key1 = other.Key1 _
            AndAlso Key2 = other.Key2 _
            AndAlso Key3 = other.Key3
    End Function
 
    Public Overrides Function GetHashCode() As Integer
        Return Key1.GetHashCode Xor Key2.GetHashCode Xor Key3.GetHashCode
    End Function
End Class

 

image

結果、こうなったんで、OK。

posted @ 2016/06/22 20:17 by 片桐 継(Tugu Katagiri)

Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26 - エラー 0x800f0219

マシンはASUSのU24E。

Windows10 にしてからUSBが不安定で、デバイスがこのエラーで動作してなかったんよねー。

んでもって、がんばって、対処してみた。

原因は、Intelさんとこから出てるドライバファイルがWindows10 さん的に「あやしくね?」「バージョンちがくね?」なものらしく、それで動かないんですわー、的簡単なものなので、対処としてはこのファイルをWindows10さんが「正しい」「動かしてええよん」と思うドライバファイルにすればよいだけ。

このサイトの

https://downloadcenter.intel.com/download/19596/INF-Update-Utility-Primarily-for-Intel-6-5-4-3-900-Series-Chipsets-

 

image

 

青色ボタンの「infinst_autol.exe」を実行して、ファイル書き換えればOK。

このページのこのボタンを押す、という行為に気付くのに時間がかかった<を

実行後は再起動しておけば尚OK。

ドライバファイルはインテルさん証明書付なんで、Windows10さんはご機嫌に動かしてくれまする。

posted @ 2016/06/19 14:10 by 片桐 継(Tugu Katagiri)

片桐さんがUWPアプリを作ろうとしています。その燦

UI、燦々とぉ~♪

やりたいこと、は明白なんだけれど、それをUWPアプリに落とし込むとき、どういうUIにすればよいんだろう。

XAMLに手を付けていて、なにかが違うような気がしてきたので、再勉強。

ちょっとこのページを読んでみた。

設計および UI

https://developer.microsoft.com/ja-jp/windows/design

なんか、WindowsFormのようでいて、そうでもない。

ページの移り方、操作の仕方、部品の配置、ってのはこうなんだよ、こう考えるんだよ、が書いてあった。

で、これと照らし合わせてみて、自分の中で、こういう風に遷移して、こういう操作ができればいい、が整理できてくれば後は大丈夫、だと思う、思いたい、思うことにする。

つまりは、だ、

脳内を形に現すってのは、簡単じゃないってこと。

posted @ 2016/06/19 13:29 by 片桐 継(Tugu Katagiri)

[Hardware]Xbox One Sがきた!

E3で発表ありましたね。

現行に比べて本体サイズ40%小型化。

最大2TB HDD搭載。

4KテレビとHDRに対応。

299ドル(500GBモデル)~

posted @ 2016/06/14 3:12 by 初音 玲

片桐さんがUWPアプリを作ろうとしています。その煮。

筑前煮と鯖味噌煮が得意だし、好き(謎)

どうも、XAMLのめんどくささが耐えられない。

ListView作りたいな→ListView.ItemTemplate作ってね→DataTemplate作ってね→中の部品を定義してね→ListView.ItemContainerStyleも作ってね→中の定義も書いてね

これのXML形式の入れ子の繰り返し。

ここまで理解。

<Page
    x:Class="PlayAndEditForMP3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PlayAndEditForMP3"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
     <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
          RenderTransformOrigin="0.498,0.111" Margin="0,5,0,0">
         <Grid.RowDefinitions>
             <RowDefinition Height="60"/>
             <RowDefinition Height="*"/>
         </Grid.RowDefinitions>

         <Button x:Name="button" Content="Button" Grid.Row="0"
            HorizontalAlignment="Left" Height="38"
            VerticalAlignment="Top" Width="140"
            RenderTransformOrigin="1.538,1.397" Margin="20,12,0,0"/>
         <ListView x:Name="ItemsView"  Grid.Row="1" 
                  Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
             <ListView.ItemTemplate>
                 <DataTemplate>
                     <Border Background="{ThemeResource AppBarBackgroundThemeBrush}">
                         <Grid HorizontalAlignment="Stretch" Margin="0">
                             <TextBlock Text="{Binding}" Name="Title" />
                             <TextBlock Text="{Binding}" Name="Artist" />
                         </Grid>
                     </Border>
                 </DataTemplate>
             </ListView.ItemTemplate>
             <ListView.ItemContainerStyle>
                 <Style TargetType="ListViewItem">
                     <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                 </Style>
             </ListView.ItemContainerStyle>
         </ListView>

     </Grid>

</Page>

むぅ、メンドクサイ(大事なことらしい)

細かいデザインまで美しく配置でき、かつ、好きにできる、それは素敵、でも、メンドクサイ(大事なこ(ry))

まだ、XAMLコーディングだけで相当かかりそうな気配orz

posted @ 2016/06/13 20:54 by 片桐 継(Tugu Katagiri)

Productivity Power Tools 2015 をいれてみた

どうも、ソースのコピペ量が増えると色々と面倒で、綺麗なHTMLにしたいし、いれてみた。

Productivity Power Tools 2015
https://visualstudiogallery.msdn.microsoft.com/34ebc6a2-2777-421d-8914-e29c1dfa7f5d

Visual Studio 2015 で使えまする。

これで、

image_thumb[1]

こういうメニューがでてくるので、あとは、説明なくても大丈夫だよねw

サンプルソースは一つ前の記事の、完全動作コード。

Module Module1

     Sub Main()

         Dim samples As New List(Of SampleRecord)
         Dim rnd As New Random

         Dim KeysCount = rnd.Next(1, 23)

         Console.WriteLine("{0} 件キー", KeysCount)

         For x As Integer = 1 To KeysCount
             For f As Integer = 1 To rnd.Next(1, 55)
                 samples.Add(New SampleRecord With {
                                     .Key1 = x.ToString("KeyA-000"),
                                     .Key2 = x.ToString("KeyB-000"),
                                     .Key3 = x.ToString("KeyC-000"),
                                     .Data1 = f.ToString("DataA-00"),
                                     .Data2 = f.ToString("DataB-00"),
                                     .Data3 = f.ToString("DataC-00")
                                     })
             Next
         Next

         Dim c = From x As SampleRecord In samples
                 Group x By x.Key1, x.Key2, x.Key3
                 Into Datas = Group
                 Select New Hoge With {
                     .Key1 = Key1,
                     .Key2 = Key2,
                     .Key3 = Key3,
                     .Datas = Datas.Select(Function(f)
                                               Return New DetailData With {
                                                                 .Data1 = f.Data1,
                                                                 .Data2 = f.Data2,
                                                                 .Data3 = f.Data3
                                                                }
                                           End Function).ToList
                     }

         c.ToList.ForEach(Function(x)
                              Console.WriteLine("{0}-{1}-{2}-{3}", x.Key1, x.Key2, x.Key3, x.Datas.Count)
                          End Function)

         Console.ReadKey()
     End Sub

End Module

Public Class SampleRecord
     Property Key1 As String
     Property Key2 As String
     Property Key3 As String
     Property Data1 As String
     Property Data2 As String
     Property Data3 As String
End Class

Public Class DetailData
     Property Data1 As String
     Property Data2 As String
     Property Data3 As String
End Class

Public Class Hoge
     Property Key1 As String
     Property Key2 As String
     Property Key3 As String

     Property Datas As List(Of DetailData)
End Class

 

ふむ、やれそうだ(謎)

posted @ 2016/06/12 9:34 by 片桐 継(Tugu Katagiri)

VB.NETのLINQでGROUP BY を頑張ってみた

意外とはまったのでメモ。

やりたいこと。

とあるクラスのリスト、クラスには集約キーのプロパティが複数あって、データ部のレコードが存在してる。

これをキーでまとめて、データ部をリスト化したクラスのリストにまとめたい。

で、書いてみたサンプルがこれ。

Dim c = From x As SampleRecord In samples
                Group x By x.Key1, x.Key2, x.Key3
                Into Datas = Group
                Select New Hoge With {
                    .Key1 = Key1,
                    .Key2 = Key2,
                    .Key3 = Key3,
                    .Datas = Datas.Select(Function(f)
                                              Return New DetailData With {
                                                                .Data1 = f.Data1,
                                                                .Data2 = f.Data2,
                                                                .Data3 = f.Data3
                                                               }
                                          End Function).ToList
                    }

hogeクラスにはキーで集約されて、データ部にリスト化されたDetail情報が集まる

posted @ 2016/06/11 22:05 by 片桐 継(Tugu Katagiri)

[HoloLens]HoloLens Wave 3

image

HoloLensのDeveloper EditionはWave 1~Wave 4、そしてその後に追加でWave 5という形でいくつかの発送ブロックに分かれて順次発送されています。

残念ながらWave 5時点ではまだ米国+カナダ限定ですが。

 

1つのwaveが2、3カ月かかるのかと思っていたら、3/30からWave 1が始まって、5月中くらいにWave 2。

「あれ?1.5カ月とかはやい」と思っていたら、wave 3がもうはじまりました。

もしかして、当初の予想だとwave 5は来年かと思っていたんだけれど、wave 4やwave 5の割り当てでも比較的早くきそう?

posted @ 2016/06/09 6:23 by 初音 玲

[Windows10]マイクロソフトのモバイル戦略

弊社アプリをスマホで使いたいとWindows 10 Mobile機をご購入していただけたり、短期間であれば弊社からお貸出ししてトライアルしてもらう場合が最近増えております。

自社保有機器といっても開発用なので手持ち機器だけではどうしても対応しきれず(予想外の引き合いの多さで緊急で予算確保のための折衝中→なんとかある程度の台数を購入できそう)端末メーカーさんにご協力いただきトライアル用端末を貸していただいていたりもします。

 

そんなお客様の中でも特にWindows 10 Mobileを気に入っていただき、UWPアプリの作り方などもご質問頂いたお客様からこんなことを言われました。

 

「Windows 10 Mobileはすごくよいし、自分たちもアプリを作っていくけれど、あとは心配なのはマイクロソフトの方針だね。」

 

最初、何をおっしゃっているのかと聞き返そうと思いましたが、思い当たる節があったので次のように回答しました。

 

「マイクロソフトがスマホ事業を縮小したのは、自社でつくらなくても様々なメーカーがWindows 10 Mobile機を作り出荷し始めたので、Lumiaから移籍した技術者を元の鞘に戻しただけですよ。Mobile First, Cloud Firstって方針は変わっていません。Windows 10とWindows 10 MobileはOSコアは同じですし、そのうえで動作するFrameworkも同じ.NET Coreだし、UWPアプリもどちらでも動くし、あえてデスクトップとモバイルと分けて情報発信しないでいいのでモバイルって言葉が話されなくなっているだけですよ。」

 

この説明には、すごくご納得頂けたようで、Windows 10 MobileがなくならないこととUWPやっていって無駄にならないことがわかってすごく満足な笑顔を頂いた。

posted @ 2016/06/08 23:23 by 初音 玲

片桐さんがUWPアプリを作ろうとしています。たぶん、壱

なにしろずっと、WindowsFormばかりだったから、ひさしぶりのXAMLでパニクる

image

部品配置がWindows.Formに比べて恐ろしく、めんどくさいんな。

XAMLはやっぱり慣れないなー。HTML書くのは楽しいのになぁ。

<Page x:Class="PlayAndEditForMP3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PlayAndEditForMP3"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button x:Name="button" Content="Button"
            HorizontalAlignment="Left" Height="38"
            VerticalAlignment="Top" Width="140"
            RenderTransformOrigin="1.538,1.397" Margin="20,30,0,0"/>
        <GridView x:Name="listView"
                  HorizontalAlignment="Left"
                  Height="100" Margin="10,135,0,0"
                  VerticalAlignment="Top" Width="390"
                  BorderBrush="{ThemeResource AppBarBorderThemeBrush}"
                  Background="{ThemeResource ListBoxBackgroundThemeBrush}"
                  Header="リスト"
                  IsSynchronizedWithCurrentItem="False">
            <TextBlock>テスト2</TextBlock>
            <TextBlock>テスト3</TextBlock>
        </GridView>
    </Grid>
</Page>

これが綺麗なXAMLかってーと、怪しいかと思う。

やりたいことはボタン2つおいて、その下にWindowsFormでいうDataGridViewを貼りたいだけなんだけどね。
Form屋さんとしては、どうもこの画面制作にかかる手間と考え方というか構成が気に入らないんだよなぁ。

でも、頑張って慣れないとなので頑張ろう<を

posted @ 2016/06/08 22:24 by 片桐 継(Tugu Katagiri)

片桐さんがUWPアプリを作ろうとしています。序

とりあえず、VisualStudio 2015 Update2 入れました。

VB.NETで「ユニバーサルアプリケーション」を新規作成して、出来立てほやほやプロジェクトをビルド。

そのまま素でエミュレートデバッグ実行してみた。

ぼーっと待つことしばらく(数分)、OSが上がってきて

image

もうちょっと待ってたら

image

真っ白画面キター!!

エミューレータデバッグ終わったら

image

こんな感じ。ふむ。うちのPCだとデバッグだけで使用メモリ1.2G増しってとこなのね。

スペックそんなに高くないからなぁ。

メモリが多いに越したことはないっぽい感じ。

posted @ 2016/06/06 20:29 by 片桐 継(Tugu Katagiri)

片桐さんがUWPアプリを作ろうとしています。/Zero

とりあえず、ここを読む

Windows 10 アプリに関するハウツー ガイド:
https://msdn.microsoft.com/ja-jp/library/windows/apps/mt244352.aspx

 

とにかく、色々が変わりすぎ。ここまでクラス化、ライブラリ化が進んでるのかと。

ゆとりっていいなぁ<何

posted @ 2016/05/29 10:14 by 片桐 継(Tugu Katagiri)

[Windows10]de:code 2016で感じた違和感と期待感

2016/05/24~25にザ・プリンス パークタワー東京で開催されたde:code 2016に参加してきました。

サンフランシスコで開催されたbuild 2016参加直後から「de:codeはbuildの雰囲気をよく出している」という話をしてきました。

de:code 2016もその期待を裏切らないすばらしいものでした。

 

そして、同時に「違和感と期待感」という感想を私に抱かせました。

 

違和感の発端は初日キーノートです。

すでにキーノートはネットにも公開されているので、まだ視聴してない方はぜひ視聴してみてください。

channel9.msdn.com

参加された方や視聴された方は、もうなぜ私が違和感を感じたのか共感していただけるのではないでしょうか。

 

今までの日本マイクロソフトの技術系年次イベント(TechEd、Windows Developer Day、過去のde:code)でこれほどまでに開発者に対して

自分たちの技術を楽しみ、そして開発者に対して『一緒に楽しみましょう』どうですか?

と語りかけてくれたことはあったでしょうか。

 

マイクロソフトだけではなく多くのベンダーのイベントでは、最新の技術をわかりやすく、かっこよく、それこそ驚かせるように示してくれます。

しかし、今回のキーノートでは、まず自分たちが楽しみ本当に価値観を理解し、だから、みんなもよかったらどうぞとお裾分けしてくれるようなすがすがしいくらいに押しつけがましさがない内容だったのです。

 

他にも違和感はありました。

buildにはなくde:codeにだけあるぎゅうぎゅうづめの通路(通路の幅は4倍くらい違う)ですれ違う中に、マイクロソフトのイベントで見かけたことがない知り合いの顔ぶれが多く見られたことです。

そして、その表情は「きてやったけど、まあ、マイクロソフトだよなぁ」のような敵対する勢力の変わらぬ姿勢をみてやれやれというった表情ではなく、同じ開発者という枠組みの中で同じ価値観を見出して、同じテンションでワクワクしているそういった表情をしているのです。

OSの違いやオープンソースかどうかなんて小さいこと。

キーノートでも日本マイクロソフトCTOの榊原さんがおっしゃってました「良いものかそうじゃないか。世の中の役に立つのか立たないのか。」まさに言葉通りに、まるで我々にお手本をしますようにマイクロソフトは

「開発者にとって良いもの、世の中の役に立つもの」

を選択する会社に変わったということなのでしょう。

そこには、そういった判断以前にオープンソースかどうかで判断していたころのマイクロソフトの姿は微塵も感じられなかったのではないでしょうか。

 

Microsoft MVPとして、マイクロソフトの技術に注目してきたので「マイクロソフトノギジュツ チョットワカル」はずですし、buildも参加して米国本社の変わりようは知ってはいました。

そんな予備知識があったのに「日本マイクロソフトすげー!」と驚きの違和感、そして、ともすればマイクロソフトの技術に注目していなかった層をぐっと引き寄せた「そうだよ!わかっているね!」感はキーノート後のセッションでも様々なところで感じられました。

だって、スピーカーの人ってマイクロソフトの技術だからスゲーって感じじゃなくて

「この技術すごいでしょ?いや、これで開発したら楽しいでしょ?あ、これマイクロソフトの技術だけどね」

のような感じで、会社すげーというより、自分の推しメンのことを話すように技術のことを話しているのですもの。

 

一応、私が受講できた(満員ではいれなかったり展示会場サポートやコミュニティブースでみれなかったものを除く)セッションは

Day1

Day2

でした。

これ以外にも見たいセッションはたくさんあって、早く資料と録画公開が開始されないかと待っている状態です。

UWP、Cortana、Congnitive、Xamarinと好きな技術、注目してきた技術の最新情報に触れられて、本当に楽しくすごした2日間でした。

 

人は誰でもが、きっと誰かの役に立ちたいと思っていると思います。

組織や会社も同じではないでしょうか。しかし、組織や会社はともすれば成長という中で市場のオンリーワンになるがために競争相手を敵とみなして必要以上に恐れ憎み「役に立つ」というところの出発点からはずれて行ってしまう場合があります。

サーバーOSがUNIXだった時代、サーバーOS市場に食い込み拡大しようとしていたときに挑戦者としてのマイクロソフトがとった戦略がまさにそうでした。クライアントOSの覇者が闘志をむき出しにしてUNIXやそしてオープンソースを否定していく様は、まさに「悪の帝国」のように映ったのでしょう。

マスターヨーダの言葉を借りれば「Anger... fear... aggression. The dark side of the Force are they.」です。

時代は変わり、ポストPCと呼ばれる時代。マイクロソフトは再び挑戦者としての立場に立ちましたが、その戦略は前回と異なります。

「開発者にとって良いもの、世の中の役に立つもの」

それを提供することで共に歩んでいける信頼を得て進んでいく。そういったビジョンは、マイクロソフトの従業員にも、マイクロソフト製品を使って開発する開発者にも、そして世の中のすべての人にとってもより良き方向に進むための灯になるのではないかと考えます。

 

最後に、de:code 2016の最終セッションの最後の実例紹介で感じた自分のツイートを引用して終わりたいと思います。ここに期待感のすべてが詰まっています。

posted @ 2016/05/28 21:47 by 初音 玲

[Desktop App Converter]14352版のwimが公開されています。

Insider Preview Fast Ring が 14352 に更新されたのに合わせて、Desktop App Converter の BaseImage も 14352 版が公開されています。

そして、残念なことに 14342 版は公開が取り消しされました。サイクルの短いInsider Previewなので仕方ないですが、Slow ring な人でまだDLしてなかった―。。。という人は残念ですがあきらめて Fast Ring に行くか、持ってる人に譲ってもらいましょうw

14352版は https://www.microsoft.com/en-us/download/details.aspx?id=51691 からDLできます(Detailのファイル情報以外のテキスト部分は14342のままなのは、リリースを急いだから?)。

wim の構造上ビルド依存になるので、次のビルドが出たらまた新しく変わると思いますので、拾える時に随時拾っていくことをお勧めします。

気になるところがあったら、User Voice を上げていきましょう。

posted @ 2016/05/28 16:58 by とっちゃん

予告:片桐さんがUWPアプリを作ろうとしています

今、修羅場です。

現在、このハムスターは某業界でお仕事していますが、大人の事情で大変なことになっています。

やることやらお仕事やら納期やらがたくさんです。休日は休養です。

なので、一段落しないと、DECODEのおさらいもできません。

作りたいUWPアプリあるのにorz

ということで、6月あたりには、タイトルっぽいことをはじめてみようと思います。

決意表明、それだけですw

posted @ 2016/05/28 12:36 by 片桐 継(Tugu Katagiri)

[Desktop App Converter] Bundle でラップしてても使えました!

msi オンリーな簡素なインストーラだったから気づかなかっただけで、ちゃんとプライマリアプリ(-AppExecutable)を設定してやれば、Bundle でラップしても動作しました。

これで、無事 Bundle &ランタイムのインストーラつきなんかもデモ可能なところまでは到達。オチも用意できたし、いい感じでわんくまならではのゆるゆる感で終われそうw

de:code 2016 では、コミュニティ枠が用意されます(規模とかよくわからないですが)。エキスポ会場の壁際(文字通りの意味w)の小さなブースで各コミュニティ(コミュニティごとにある程度時間がもらえているらしい)が何かやってます。わんくま同盟では、初日のキーノート終了後の休み時間(5/24 12:00-12:45)に時間をもらったので、おいらとεπιστημηさんでそれぞれショートセッションします。ネタが大事な二人だからこその旬なネタをお届けします。

それ以外の時間も会場のどこかにはいますので気軽にお声がけください。今年は怪しい?バッチもつけてるらしいですw

posted @ 2016/05/23 17:41 by とっちゃん

Desktop App Converter を使ってみた。

お仕事的にも、避けては通れないので、サクッとやってみました。

まずは、お手軽なので、現行バージョンで実行。。。撃沈。。。

仕方がないので、MFC アプリで、独自フォーマット?のエディタを作成して、そいつをインストールするmsiをつくって実行。。。成功!おー。いくじゃないか!というのはとりまおいておくとして。。。

最終的にはCRTも必要なので、CRTいれて、Bundleでラップ。。。撃沈。

CRT外して、実行。。。撃沈。 x86/x64 で試すも撃沈。

どうやら、Bundle(Burn)でいろいろやってくれることが気に入らないようです。動きを改めて考えればわかることなんですけどね。Appx の作成までを一気にやらずに、一度整理(いらないものが山ほどある)して、そこから Appx 作ればうまくいくと思います。試してないけどw

 

ということで、実際にコンバートして動かすデモを de:code 2016 で辻セッションしますよ。初日のお昼休みの時間帯。キーノートが直後になるので移動が大変ですけど、エキスポ会場にてお待ちしております~。

posted @ 2016/05/21 13:15 by とっちゃん

Desktop App Converter が、Proでも動くようになってました!

全然ヲチってなかったので気が付いてなかったんですが、

というのを見つけて、おや?と思ったら、Desktop App Converter の新ビルドが出ていました。

14342 以上で、Pro or Ent. になって、ようやく使えるレベルまで落ちてきた。。。というところ。

ということで、さっそくセットアップ。。。したけど、コンバートできる手ごろなプロダクトがないことに気づいたw

 

ということで、ごくごく簡単ではあるけど、使い方も出てるのでとりあえずはリンク。

Desktop App Converter Preview (Project Centennial)

例をみると、インストーラは exe を指定してるので、msi or exe でなおかつサイレントインストールができれば何でもいい模様(聞いたところ、ExitCode==0になるものならOKらしい)。

たぶん、msiも問題ないはず。こういう時に、PSが読めるとかなりアドバンテージ高いんだろうけど、全く読めない人なので、中身はとりあえずさぱーりw

ま、ps1だけで38キロなので、読めるとしてもちょっと遠慮したくなるボリュームなんだけどねw

 

と、書いておけば、人柱―も出てくるでしょう!ってことでw

posted @ 2016/05/17 21:34 by とっちゃん

人工知能ハンズオンの資料公開

静岡Developers勉強会では、今年の勉強会のテーマとして「人工知能ハンズオン」を2016/4/23に開催しました。
勉強会が行われた静岡市産学交流センター 小会議室2には、10人+2人(私と友人)=12人名が集まりました。
あと、懇親会は5人で行きましたことをご報告しておきます。
参照:人工知能ハンズオンの資料公開 - はてなブログ

人工知能ハンズオン from yaju88

posted @ 2016/05/16 4:02 by やじゅ

[Xamarin]Xamarinで始めるAndroidアプリ作成(その3)

Xamarin.FormsがサポートしているAndroidのバージョンをおさらいしてみましょう。

https://developer.xamarin.com/guides/xamarin-forms/getting-started/installation/#android

 

公式ドキュメントによれば

  • Android 4.0.3 (API 15) or higher
  • iOS 6.1 or higher
  • Windows Phone 8.1 (WinRT, using Visual Studio)
  • Windows 8.1 Tablet/Desktop Apps (WinRT, using Visual Studio)
  • Windows 10 Universal Apps (Phone/Tablet/Desktop, using Visual Studio)
  • Windows Phone 8 Silverlight (using Visual Studio) DEPRECATED

Android 4.0.3、つまり、「Ice Creame Sandwitch」以降をサポートしています。4.0.3は2011年12月16日に提供開始されています。

4.0.3以降ということであれば、世の中にあるAndroidデバイスのほぼ100%(残念ながらそれ以前のバージョンも多少は存在する)をカバーできます。

日本でいえば、ドコモのGalaxy SII SC-02Cなどが4.0.3ですが、2016年時点でキャリア2年縛りはすでに超えていますから、ほぼカバーしていると言っていいでしょう。

 

ただし、素直に4.0.3かといえば、若干違和感があります。

その違和感はXamarin.FormsとXamarin.Android.SupportとAndroid SDKの関係を表にしてみるとはっきりしています。

  Xamarin.Forms Xamarin.Android.Support Android SDK
プロジェクト作成時 v1.3.3.6323 v4.21.0.3 4.0.3 (API1 5)
nuget最新 v2.2.0.31 v4.23.3.0 5.0 (API 21)

このように最新のXamarin.Forms v2.2が要求するXamarin.Android.Supportはv4.23.3.0であり、v4.23.3.0が要求するAndroid SDKは5.0になるのです。

 

それではなぜ、公式ドキュメントには「4.0.3」以上となっているのでしょうか。

答えは同様に公式ドキュメントにあります。

Target

Mini

つまり、ターゲットは最新(または少なくともXamarin.Android.Support.v4.23.3.0が要求する5.0以上)として、Minimum Android versionとして「4.0.3」を指定できることが、Xamarin.Formsの要求仕様がAndroid v4.0.3以上という意味だということです。

 

※Visual Studioならプロジェクトのプロパティの[Application]-[Application properties]

 

違和感の原因は、4.0.3以上ということで、では自分たちの作ったアプリも4.0.3以上としようとしたときにターゲットフレームワークを「4.0.3」ではなく「5.0」としてMinimum Android versionで「4.0.3」としていいのかという点にあります。Visual StudioならTarget frameworkが「Complie using Android version」となっているのでさらに不安を感じます。

 

これらのバージョンはどのような意味があるのでしょうか。

注意しないといけないのは、これは、Xamarin固有の話ではなく、Android開発の基本的な話となります。Android StudioでJavaで作成したときもbuild.grableに同じように描くことになります。

結論を先に書けばWindowsアプリに比べたらかなりおおざっぱというか、これでいいの?という感じがAndroidアプリ開発なんだなぁと。

Target framework
(targetSdkVersion)
 
Minimum Android version
(minSdkVersion)
指定したバージョン以上にインストールできる宣言

 

これ、トラディショナルジャパニーズカンパニーで開発やっていると、Target framework = Minimum Android versionとして、アプリの動作要件の○○以上とする一番古いバージョンに合わせてコンパイルして、それより上位のOSでも下位互換性確認の意味で動作チェックしてって感覚だと思うのです。

Target frameworkは最新にして、Minimum Android versionにアプリ動作要件の○○以上とするというのがAndroidスタイルだって納得して、きちんとシステムテストで4.0.3 (Ice Cream Sandwich)/4.3 (Jelly bean)/4.4 (KitKat)/5.1 (Lollipop)/6.0 (Marshmallow)とテストするしかないのでしょう。このあたり、Androidで業務アプリを作っていたり、それよりもGoogle Playで人気アプリ配信している個人開発者さんあたりにお話をお聞きしたいですね。ほんと、どうしていらっしゃるのだろうか。

 

まあ、そんなときに心強い味方と言ったら、Xamarin Test Cloudですよね。

例えば、月額249$のBUILDなら、こんな感じにテストができます。

  1. 同時に2つまでデバイスを選んでテスト可能 (2 concurrent devices)
  2. トータル10分かかるテストならば、2多重x10分で合計3時間(3 device hours/day)=毎日90分のテスト時間で18デバイスのテストが可能

 

4.0.3 (Ice Cream Sandwich)/4.3 (Jelly bean)/4.4 (KitKat)/5.1 (Lollipop)/6.0 (Marshmallow)の5バージョンでそれぞれ代表的なデバイスを1つづつテストするのであれば、もう一つ安いSTARTプラン=月額$99でもテストできそうですね。

  1. 同時に1つまでデバイスを選んでテスト可能 (1 concurrent devices)
  2. トータル10分かかるテストならば、1多重x10分で合計1時間(1 device hours/day)=毎日60分のテスト時間で6デバイスまでテスト可能

1日1回しかテストできないの?と思うかもしれませんが、手元の実機やエミュレータでテストしたあとの仕上げテストですから、毎日1回とかで十分と言えるでしょう。

 

そうそう、Visual Studio Enterpirse使っているなら上記の金額から25%引きで利用できますので、さらにお得ですね。

posted @ 2016/05/11 1:29 by 初音 玲

[HoloLens]UWPカメラアプリをHoloLensで動作させる

HoloLensにはセンサー以外にカメラもついています。

HoloLens標準アプリで写真撮影やビデオ撮影もできますが、UWPアプリとしてカメラを使うアプリを作れば、そのアプリでもカメラ映像を扱えます。

image

Device Portalでその時の様子をCaptureすると視野の中のHolographic領域がそのままカメラアプリにプレビュー表示されているのがわかると思います。

HoloLensを使ったカメラアプリで注意しないといけないのは、上のスナップショットにあるように撮影ボタンや録画ボタンを画面端に配置しちゃうことです。

こうしちゃうとボタンにフォーカスを合わせるために顔の向きをボタン側によせるため、被写体から中心がずれてしまうからです。

要は画面中央、もしくは、画面全体に対するタップ(操作ミスを考えるとホールドがよいかも)で撮影ができるようにUIを工夫する点でしょう。

そこだけが一般のカメラ機能を使用するUWPアプリよりも注意しないといけない点でしょう。

なお、HoloLensで動作しているかどうかを判定する方法はいろいろあると思いますが、例えば

Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily == “Windows.Holographic”

で判定するのも判定方法の1つでしょう。

 

なお、カメラ機能を使ったアプリとDevice Portalの組み合わせで注意しないといけないのは、DevicePortalでLive映像やビデオ録画はできますが撮影には失敗するという点です。

posted @ 2016/05/09 5:55 by 初音 玲

[HoloLens]HoloLens空間に置いたHolographicオブジェクトがその場に居続けてくれるという意味

HoloLensはウィンドについては壁に貼り付けた感じに配置してくれますが、もちろん何もない空間に配置することもできます。

ただ、ウィンドウは板状なので何もない空間においてもあまりおもしろくありません。

そこで、3Dオブジェクトを空間において、そのあとで装着者が移動したり頭の向きを変えた時にどのようにみえるかを確認した動画を撮影しました。


HoloLensで見る方向を変えたり体の位置を変えた時の表示

天井ちかく近くにオブジェクトを張り付けておいて、立ち上がるとちゃんと見え方が替りのがわかると思います。

posted @ 2016/05/06 2:44 by 初音 玲

[HoloLens]HoloLensはじめました

HoloLensが連休中日に届いたんで早速起動しました。

コルタナちゃんに教わりながらキャリブレーションしたら、さっそくDevice PortalでつないでHoloLensの世界を手元のPCで表示してみましょう。

 

イベント会場やおしゃれ空間での動作画面は多いですが、日本の普通のマンションで外光が入っているところでもこんな感じに表示できます。

image

 

HoloLensでみるともうちょっと鮮明で見た目大きくなるので文字を読むこともできます。

これ、壁の角度をセンシングしてペタって張り付いているので、壁の真正面から見れば、張り付いているウィンドウもちゃんと真正面から見ることができます。

 

Device Portalどっかでみたなーって思ったら、Windwos 10 IoTのDevice Portalと同じコンセプトのデザインなんですね。

posted @ 2016/05/05 12:43 by 初音 玲

WiX toolset joins the .NET Foundation

WiX toolset joins the .NET Foundation

一瞬解散?と思ったけど、そうじゃなくて単に WiX toolset を移管するってことでした。

彼らのお仕事的には、特に大きな変更があるわけじゃないみたいで、今までとの違いは、ライセンス表記が ”.NET Foundation” 変わる程度。

MS から Outercurve に変更されたときも、使う側的には変わらなかったし、今回も同様。

使ってる側からすれば、MS-RL は明示なライセンス表示も求められないし、そもそも使ってることすら謳う必要がないので(ツールの性格的にもだけどねw)何がどう変わるというところはないと思います。

 

発表のタイミングを計っていたらしいけど、5/4 って向こうでは、star wars の日らしいですね。

でも ms-translater は、”May the Force be with you!” を、”あなたとあらんことを!” と訳してた。

仕方ないので、Google にも訳してもらった。。。“フォースがあなたと一緒かもしれません!”

こっちは、もっと直訳だったw

このあたりが機械翻訳の限界なんですかねぇ。。。ま、これ会社で書いてるんですが、日本では今日はこどもの日。

 

“フォースとともにあらんことを!”

posted @ 2016/05/05 11:03 by とっちゃん

[MSI]ORCAを手に入れよう!

Visual Studio 2015 をインストールすると、いろいろとSDKやら各種ツールキットやらも一緒にインストールしてくれます。もう何がどれだかサッパリわからないレベルで。。。w

でも、なぜかわかりませんが、一部のMSIツール(具体的には、Orca)が、含まれていません。まぁ VSセットアッププロジェクトもなくなっちゃたし(※機能拡張にあります)、WiX は結局バンドル(※今はスピンアウトして別会社)されてないし、IS あれば Orca いらないよね!ってことなんですかね?でも、IS-LE って直接テーブル編集できるんだっけ?

そもそも、ORCAは素人が使っていいソフトじゃないし、なくても当たり前な気もしますがw

さて。。。まぁそんなこんなで、ORCA はいなくなっちゃったのですが(検索してもPCないにはありません><)、なくなっちゃったわけではなく、単にインストールされていないだけです。

ということで、インストールしますが、最初に躓くのはどうやって?です。Windows デベロッパーセンターに行くと、SDK のダウンロードがあるんですが、そこには、

Visual Studio 2015 以外の開発環境を使っている場合は、Windows Standalone SDK for Windows 10 インストーラーをダウンロードできます。Visual Studio 2015 Update 2 を使っている場合は、この SDK はインストールする必要はありません (既に含まれています)。

と、書かれています。

確かに、VS2015 のインストーラはチェックがいっぱいあって見落としがちです。全部チェック入れたぞ!という人もいるでしょう。もちろん、SDKは入っています。が、ORCAはSDKツールの一種で、なぜかデフォルトのインストール項目から外れています。

まぁ、あれは素人が触っていい代物じゃないので、なくても当然という考えなのかもしれませんw

ということで、ARP(Add / Remove Programsの略(Setup Authoring用語)で、Windows 10の日本語版では、コントロールパネルにある「プログラムのアンインストール」のこと)を探すと、ありました。

  • Windows Software Development Kit ? Windows 10.0.10586.15
  • Windows Software Development Kit ? Windows 10.0.10586.212
  • Windows Software Development Kit ? Windows 10.0.26624

え?3つ?焦りますよね。というかちょっと唖然としたというほうが正しいですね。いずれも変更ボタンがあるので、チェックしてみます(Changeのラジオを選んで次へ移動)。

すると、10586.15のほうは、Windows App Certification Kit だけチェックがついています。のこる2つは、Windows App Certification Kit と Windows Software Development Kit にチェックがついています。

とりあえず、一番新しいバージョンなので、10.0.26624 からインストールしましょう。チェックを付けて実行。一瞬で終わります。

え?と思うくらい早い。これでOrcaがインストールされ。。。ませんw

これで、インストールされるのは、Orca の「インストーラ」です。C:\Program Files (x86)\Windows Kits\10\bin\x86 に Orca-x86_en-us.msi がインストールされているので、これを使ってインストールします。

今の Orca のインストーラは、UIなしなので、いきなり昇格画面が出てサクッとインストールされます。

これで今日から Orca 使いを名乗れます。

posted @ 2016/05/04 13:36 by とっちゃん

[Windows10Mobile]オープンセミナー岡山2016に登壇します

oso-web.doorkeeper.jp

2016/05/14 (土)に開催されるオープンセミナー2016@岡山に登壇します。

今回お話しするのは
UWPアプリによるマルチデバイス開発最新事情

というタイトルで

UWPアプリって実際はどうなのかbuild 2016やde:code 2016で発表された最新情報も交えて、実際のところを包み隠さずお伝えする予定です。

まだまだ、iOSやAndroidに比べて情報の少ないUWPアプリですが、デバイスの価格という表面上のスペックだけではなく、サクサクと動く動作環境、作りやすい開発環境などは知らずにいたら損をすると思います。

ぜひ、この機会に理解を深めに来ていませんか?

posted @ 2016/05/04 9:10 by 初音 玲

[Hardware]HoloLens体験

みつばたんが入手したHoloLensを体験させてもらいました。

P4290370

 

HoloLensは現実空間の中にホログラフ設置、設置したホログラフはその場所を維持しているので例えば回り込んだり上からのぞき込んだり下からのぞき込んだりできるすぐれものなウェラブルデバイスです。

P4290372

 

なぜそんなことができるのかといえば、空間をスキャンしてメッシュ状の網で再構築して、それを使ってオブジェクトの位置やあたり判定をしているからです。

無理やりHoloLensの中にカメラを差し込んで撮影してみました。

image

後ろの椅子よりも前に位置しているUnityちゃんでちゃんと後ろの椅子が隠れているのがわかると思います。

 

このUnityちゃんの位置はこちらが動いても変わらず(つまり床の同じポイントにいる)、自分が移動すれば椅子とUnityちゃんの間の位置からUnityちゃんの後ろ姿を見ることができるのです。

本当に鮮明で、移動中の画像処理も遅延なく位置の変化に追従するし、なんだか今までのものとは全然違う別世界外が広がっていました。

 

これって、ARという言葉の説明を聞いて思い描いていた姿そのままだと思うのです。

なのでAR未経験の人だと想像通り過ぎてしまって「なにがすごいの?」って思われてしまう危険性すらあるくらいいい感じでした。

AR経験者ならば「ついにここまでできるようになったんだー」とうぉぉぅってなると思います。

posted @ 2016/04/29 23:53 by 初音 玲

[Windows10]スタートメニューからアンインストールできない

image

これ、どうやってアンインストールしたらいいだろう

posted @ 2016/04/27 2:44 by 初音 玲

[Hardware]FREETEL Katana 02に格安SIMを入れてみた

今回選んだ格安SIMはNiftyさんのNifMo。

IMG_20160426_001849

登録料3000円が無料になる冊子を手に入れたというのも大きいのですが、Niftyいろいろ使っているのでこれも評価してみてたくてというのも理由の1つ。

 

データ通信専用3GBまで900円/月と他の格安スマホとほぼ同じ価格帯。申し込みから2-3営業日ということで木曜日に申し込んだら月曜日に届きました。

さてさくっとSIMを取り出してKatana 02に入れてみます。

 

電源を入れると接続プロファイルダイアログがでてくるので、ここで「Nifty(LTE)」を選択すればOKです。

 

もし、ダイアログの選択に失敗したり、しばらくたっても電波を拾わないようなら次の手順を試してみましょう。

 

[設定]→[ネットワークとワイヤレス]→[携帯ネットワークとSIM]→[SIM 1の設定]リンクで次の画面を開きます。

IMG_20160426_003309

携帯ネットワーク接続プロファイルに「Nifty(LTE)」があるので、これを選択して「既定のAPN」をタップしてアクティブ化します。

少し待てば電波のインジケータが反応して接続してくれます。

まったく手間いらずですね。

posted @ 2016/04/26 0:56 by 初音 玲

[codezine]画像認識型ARを簡単に作れるwikitudeでAndroidアプリを作ってみました

codezine.jp

 

記事の中では写真に対して画像認識していますが、写真の元となった物自体にかざしても形状や向きによってはAR表示ができるときもあるので実際にやってみるとすごく面白かったです。

posted @ 2016/04/14 20:44 by 初音 玲

Macに入れたXamarinをWindowsから操作する

うちは、Macが2階にあり、Windowsが1階にあります。

 Macにインストールした、Xamarin Studio for OS Xを、Windowsから操作したい

場合など、手元にMacがないと困りますね。そのときに便利なのが、Chrome リモート デスクトップです。

 Windows と Macの両方に Chrome リモート デスクトップをインストールして設定しておくと、

どちらからでも接続できるようになります。VNCのような感じですが、速度が全く違います。

下記の画面を見てください。くるくると飛行機の画像が回っていますが、

5KのiMacからフルHDのディスプレイで全画面で表示させた場合でも30FPS出ているので、ま

るで隣で使っているような感覚です。Remote Desktop ConnectionやVNCで遅いな~と思っている人は

試してみてはいかがでしょうか?

cromeremote

posted @ 2016/04/09 13:57 by なか-chan@最愛のiMac

[Windows10]bash on Ubuntu on Windowsを日本語環境にする(まだ途中)

Ubuntu on Windowsを日本語環境にする方法は、Ubuntu 14.04.4 LTSを日本語環境にする方法と同じです。

まず、日本語関連のパッケージをインストールしましょう。

 

aptitude -y install language-pack-ja-base language-pack-ja ibus-mozc

 

しばらく時間がかかりますがインストールが完了したらシステム環境を日本語に変更します。

 

update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"

source /etc/default/locale

echo $LANG

 

これでUbuntuからの応答が日本語になります。

image

 

--------- こっから先は、きっとダメな方法なので、実際にやらない方がいい

これでもまだ日本語入力はできないので、fcitx-mozcを入れます。

 

sudo apt update

sudo apt install fcitx-mozc fcitx-anthy

im-config ?n fcitx

 

これで一度exitして再度bash on Ubuntu on Windowsを起動してみます。

どうまうまくいきません。これは設定不足の可能性もあるのでもう少し調べてみます。

posted @ 2016/04/09 9:28 by 初音 玲

[Windows10]bash on ubuntu on Windwos 10を使ってみよう

Windows 10でbashが使えるようになったと巷で話題の「Windows Subsystem for Linux」を使ってみましょう。

Windows Subsystem for Linuxは、開発者向けに提供されています。[設定]-[更新とセキュリティ]-[開発者向け]で、「開発者向け」オプションを選択しておいてください。

 

この新しいWindowsの機能は、2016/04/09現在、Insider Preview 14316での提供なので、なにも設定していない場合や企業内でWindows Updateでの配布が企業ポリシーに基づき行われているような場合は、まだ使うことができない状態です。

 

Insider Previewを入手できるようになるには、[設定]-[更新とセキュリティ]-[Windows Update]の[詳細オプション]でInsider Previewビルドを「ファースト」で入手できるようにしておきます。

image

Insider Previewは「ファースト」と「スロー」があります。「ファースト」とはいわゆる人柱モードで、開発者ならば誰でも心躍る最新機能を世界トップスピードで使えるようになるモードです。

このモードにするのに必要なのは「問題が発生したら怒るのではなく世界で初めて見つけたかもと心ワクワクして改善するための提案やアイデアをリクエストする」というフロンティアスピリットです。

 

無事にInsider Preview 14316が適用できたら[プログラムと機能]-[Windowsの機能の有効化または無効化]リンクから[Windowsの機能]ダイアログを表示しましょう。

image

ダイアログが開いたら「Windows Subsystem for Linux (Beta)」にチェックして[OK]ボタンをクリックします。

 

機能が有効になり再起動したら、OS画面左下の検索ボックスに[bash]といれてみましょう。検索ボックスを非表示にしているなら、左下のWindowsマークを軽くクリックした後に「bash」とキーボードをたたいてみましょう。

image

bashが第一候補として表示されます。

 

image

初回起動時はUbuntu on Windowsのインストールを行います。

つまり、「bashが使えるようになった!」というのは、bash.exeのようなコマンドプロンプト用実行ファイルがインストールされるということではなく、Windows上で動くUbuntuがインストールされるということになります。

 

また、この仕組みは仮想化により実現しているわけではなく、LinuxのシステムコールをリアルタイムにWindowsのシステムコールに変換する技術が使われている。

そのためインストールしてしまえば起動も早く、また、動作も早いため非常に快適です。

そういえば、Project AstoriaでAndroidアプリがWindows上でそのまま動く仕組みを開発していたと思うのですが、これもその流れの技術なのでしょうか。

 

インストールが終わったらlinuxらしいコマンドを入力しましょう。すなわち「ls」です。

WindowsのCドライブは/mnt/c/なのでC:\tempフォルダの中身を見たいときは、ls /mnt/c/tempになります。

image

 

まずは「sudo apt-get update」を入力して導入済パッケージのアップデートをしておきましょう。

 

Ubuntu on Windowsのバージョンを確認してみましょう。

lsb_release ?a と入力するとUbuntu 14.04.4 LTSとでてきます。

image

 

viなんかも使えますね。

image

 

あと日本語ですが普通に表示できますね。

image

ただ、このままだと表示はいいですが日本語入力手段がありませんね。

 

Ubuntu on Windowsを日本語環境にする

Ubuntu on Windowsを日本語環境にする方法は、Ubuntu 14.04.4 LTSを日本語環境にする方法と同じです。

まず、日本語関連のパッケージをインストールしましょう。

 

aptitude -y install language-pack-ja-base language-pack-ja ibus-mozc

 

しばらく時間がかかりますがインストールが完了したらシステム環境を日本語に変更します。

 

update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"

source /etc/default/locale

echo $LANG

image

 

なお、使えるようになったといっても、現時点では、Windows 10 Insider Preview 14316で、さらにWindows Subsystem for Linuxもベータ版だということをまず覚えておきましょう。何かあったとしても鬼の首を取ったように騒ぐのではなく、不具合見つけたら積極的に報告、特に日本語環境の不具合は私たちが報告しないと始まらないですからね。

posted @ 2016/04/09 9:08 by 初音 玲

[Xamarin]Xamarinで始めるAndroidアプリ作成(その2)

前回のつづきです。

インストールが無事に完了したら、早速、Visual Studioを起動してみましょう。

[ファイル]-[新しいプロジェクト]メニューをクリックすれば言語ごとに作成できるテンプレート一覧が表示されます。

 

image_thumb3

Android / Cross-Platform / iOSあたりがXamarinのテンプレートになります。

[Android]

 Blank App (Android)

 Wear App (Android)

 WebView App (Android)

 OpenGL Game (Android)

 Class Library (Android)

 Bindings Library (Android)

 UI Test App (Xamarin.UITest | Android)

 Unit Test App (Android)

[Cross-Platform]

 Blank App (Native Portable)

 Blank App (Native Shared)

 Blank App (Xamarin.Forms Portable)

 Blank App (Xamarin.Forms Shared)

 Class Library (Xamarin.Forms)

 UI Test App (Xamarin.UITest | Cross-Platform)

[iOS]

 [Apple Watch]

  Watch App (Apple Watch)  

 [Extensions]

  Action Extentions (iOS)

  Document File Provider Extentions (iOS)

  Document Picker Extentions (iOS)

  Photo Editing Extentions (iOS)

  Share Extentions (iOS)

  Today Extentions (iOS)

  Custom Keyboard Extentions (iOS)

 [iPad]

  Blank App (iPad)

  Master-Detail App (iPad)

  OpenGL Game (iPad)

  ScenceKit Game (iPad)

  Signle View App (iPad)

  SpriteKit Game (iPad)

 [iPhone]

  Blank App (iPhone)

  Master-Detail App (iPhone)

  OpenGL Game (iPhone)

  ScenceKit Game (iPhone)

  Signle View App (iPhone)

  SpriteKit Game (iPhone)

 [Universal]

  Blank App (Universal)

  Master-Detail App (Universal)

  OpenGL Game (Universal)

  ScenceKit Game (Universal)

  Signle View App (Universal)

  SpriteKit Game (Universal)

Xamarinだからといって、AndroidとiOSの両方作らないといけないかといえばそんなことはありません。

同じコードで書けるのだからせっかくなのでという程度のお話。

なのでAndroidやiOSだけのテンプレートでアプリを作るのも楽しいと思います。

 

とはいえ、やっぱり両方一度に作るのがXamarinの醍醐味ですから、[Crass-Platform]の「Blank App (Native Shared)」か「Blank App (Xamarin.Forms Shared)」あたりのテンプレートを選んでみるのがいいでしょう。

PortableじゃなくてSharedなの?という点については、好みの問題ではあるかもしれませんが、Sharedの方が素性がよい気がしています。

  • Portable
    →共通コードはPCLと呼ばれるDLLにします。各OSのプロジェクトではDLLを参照する形で行います。
  • Shared
    →共通コードはSharedプロジェクトに記述します。でもコンパイル自体は各OSのプロジェクトのコードと一緒にコンパイルします。

 

Blank App (Native Shared)

Blank App (Native Shared)は、画面定義は、iOSはStoryBoard、Androidはaxml、WindowsPhone8.1はXAMLとそれぞれネイティブアプリを作成するときの画面定義と同じ定義で画面が作成できるテンプレートです。すでに画面定義があったり各OSの書籍を参考にするときなどに便利です。

 

Blank App (Xamarin.Forms Shared)

Blank App (Xamarin.Forms Shared)は、画面定義もXamarin.Formsという画面定義を使って3OSの画面を(別々に定義でもいいし、同じ定義でもいい)定義します。

定義形式は、XAML形式ですがUWPのXAMLとは要素名などが異なります。このあたりは今後どう統合されていくのか楽しみな部分です。

 

プロジェクトを作成したら

Xamarinは日々進化しています。特にXamarin.Formsの更新速度が速くテンプレートで使われているものよりも最新版がnugetで提供されています。

テンプレートからプロジェクトを作成したら、各プロジェクト名を右クリックして[NuGetパッケージの管理]で[更新プログラム]タブから更新を行ってください。各プロジェクトごとなので合計3回実施します。

image16

posted @ 2016/04/09 0:29 by 初音 玲

[Xamarin]Xamarinで始めるAndroidアプリ作成(その1)

build 2016で発表があったようにVisual StudioユーザーであればXamarinは無料で使えます。

例外は、企業ユーザーでVisual Studio Expressを使っている開発者さんだけですね。

個人開発者やOSS開発者であえば、Xamarinのサイトから無償のVisual Studio Community Edition + Xamarinをダウンロードすればよいですし、有償のVisual Studio (EnterpriseとかProfessional)をお使いであれば、XamarinサイトからXamarin for Visual Studioがダウンロードできます。

https://www.xamarin.com/download

 

OSはWindows 7 SP1以上で使えますが、おすすめはもういっそのこと無償アップグレードできるんですからWindows 10に上げてしまうことです。

 

Visual Studio Enterprise 2015だと次のような機能にチェックをつけてインストールするといいでしょう。

  :

  :

■ユニバーサルWindowsアプリ開発ツール

■Windows 8.1およびWindows Phone 8.0/8.1ツール

□クロスプラットフォームモバイル開発

 ■C#/.NET (Xamarin)

 □HTML/JavaScript (Apache Cordova) Update 8

 □Visual C++ モバイル開発

 ■Android用Microsoft Visual Studio エミュレーター (2016年1月)

 □共通ツールおよびソフトウェア開発キット

  ■Androidネイティブ開発キット (R10E, 32ビット)

  □Androidネイティブ開発キット (R10E, 64ビット)

  ■Android SDK

  ■Android SDKセットアップ(API 19および21)

  ■Android SDKセットアップ(API 22)

  ■Android SDKセットアップ(API 23)

  □Android Ant (1.9.3)

  ■Java SE開発キット (7.0.5501.13)

  □Joynet node.js

□共通ツール

 ■Git for Windows

 ■Visual Studio 向け GitHub拡張

 ■Visual Studio 拡張性ツール Update 2

 

このあたりをチェックするとかなりインストールに時間がかかります。

時間の余裕があるときに行うようにしてください。

posted @ 2016/04/05 23:27 by 初音 玲