Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

【レポ】JXUGC #23 開催しました&登壇しました

こんにちは。エクセルソフトの田淵です。

無事 de:code 2017 も終わりました。

と呟いたとおり、週末は JXUGC #23 でした。

ありがとうございました

ご参加いただいた皆様、登壇いただいた以下の皆様 @Poderosa_JA@kazuyukimiyake@masatoru@ticktackmobile@nakasho_dev@Fumiya_Kume@mishi_cs@hiro128_777@wraith13@nuits_jp@AyaseSH@r_ralph_h@ryokan_oshoh@fukuchima スタッフの皆様、ありがとうございました。

発表内容

少しだけ内容をアップデートしました。(当日に間に合わなかった画面写真や内容の日本語化など)

Xamarin.Forms 3.0 でサポートが予定されている以下の機能に期待しています。

  • Xamarin.Forms Embedding
    • Xamarin.Forms のコントールを Xamarin.iOS, Xamarin.Android, UWP から呼び出せるように。
    • アプリ自体は Xamarin ネイティブで作成して、設定画面とか作りこみが必要じゃない画面だけを Xamarin.Forms で作成する。とか。
  • Visual State Manager
    • Xamarin.Forms で Visual State をサポート。コントロールの focus や disabled などの時にどのように表示されるかを指定可能に。
    • Xamarin.Forms が出た当初から要望が結構ありました。
  • First Renderer for Android

新しい機能については de:code 2017 で @atsushieno さんがチョークトークでやったセッション「Xamarinを支える技術2017」の最後の方のスライドもご覧ください。

また、Xamarin Live Player で iOS のアプリを動かしてみる動画をお見せしました。

サンプルコードは Xamarin のドキュメント にあるものを使いました。

public static void TakePicture (UIViewController parent, Action<NSDictionary> callback)
{
    Init ();
    picker.SourceType = UIImagePickerControllerSourceType.Camera;
    _callback = callback;
    parent.PresentModalViewController (picker, true);
}

例えばカメラを起動して写真を撮るようなコードがビルドなしで動くというのは凄いことだと思います。(この クラスなんですけど、Miguel 作みたいでちょっと上がりますね。)

ただし、iOSAndroid の UI を以下のように View を定義して View.Add しないといけないので非常に辛いです。

cameraButton = UIButton.FromType(UIButtonType.RoundedRect);
cameraButton.Frame = new CGRect(10, 80, 90, 40);
cameraButton.SetTitle("Take Photo", UIControlState.Normal);
cameraButton.TouchUpInside += (sender, e) =>
{
    TweetStation.Camera.TakePicture(this, (obj) =>
    {
        // https://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerControllerDelegate_Protocol/UIImagePickerControllerDelegate/UIImagePickerControllerDelegate.html#//apple_ref/occ/intfm/UIImagePickerControllerDelegate/imagePickerController:didFinishPickingMediaWithInfo:
        var photo = obj.ValueForKey(new NSString("UIImagePickerControllerOriginalImage")) as UIImage;
        var meta = obj.ValueForKey(new NSString("UIImagePickerControllerMediaMetadata")) as NSDictionary;

        sourceImage = photo;
        displayImage = sourceImage.Scale(new CGSize(300, 200));
        imageView.Image = displayImage;
        sourceMeta = meta;

        sliderS.Value = 1;
        sliderB.Value = 0;
        sliderC.Value = 1;
    });
};
View.Add(cameraButton);

XAML も動かせます。別のエントリーで書きますね。

感想など

久しぶりのセッションタイプの JXUGC でした。ベーシックな内容からニッチな内容まで幅が広く面白かったと思います。

f:id:ytabuchi:20170528231724p:plain:w300

感想も結構いい感じでした😭

運営メモ

日本マイクロソフトさんの無料 Wi-fi「MSFTOPEN」が亡くなりました。代わりに、MSFTGuest というアクセスポイントが出来ていて、イベント専用の Attendee Code を発行してもらう必要があるようです。運営の方はご注意ください。

資料一覧はこちら

jxug.connpass.com

ツイートまとめはこちら

togetter.com

Xamarin 同人誌「Essential Xamarin -陽/Yang-」「Essential Xamarin -陰/Yin-」の見本誌を用意しました。結構見てもらえたようでうれしいです。オンラインでのご購入はこちらです。

xamaritans.booth.pm

頒布もして、PDF 版のダウンロードをプレゼントもしました。

勉強会を運営するにあたり、全部僕がやってると良くないので色々分担した方が良いよ。とアドバイスをいただきました。当日だけじゃなく、準備の段階からスタッフで役割を分担していきたいです。

配信について

アクセリア株式会社様から配信させていただけないか?とのお申し出をいただきまして、映像の著作権は JXUG にあるということで撮影をやってもらいました。

crash.academy

HDMI スプリッターで画面出力前の映像を録画しつつ、登壇者もビデオカメラで録画していました。どんな映像になるのか楽しみです。

2週間後くらいに配信しますので、楽しみにしておいてください。

歩留まりについて

今までの JXUG はかなり歩留まりが良かったのですが、今回はキャンセルが結構多かった印象です。特に、今回は懇親会を 4,000円のコースで予約をしていたのですが、懇親会枠に申し込みしていた方で人数を最終確定させた後でキャンセルされた方が十数名いらっしゃいまして、非常に困りました。懇親会枠で申し込みされた方はキャンセル不可というのを明記していなかったので、確実に参加される方のみが懇親会枠に申し込んでいただけるようにしていきたいです。前回はコース予約をしていなかったのですがオーダーをしすぎてしまい、高額になってしまったので今回コース予約としましたが、裏目に出ました。十数名の足りない分は、お隣で開催していた .NET ラボの方々をお誘いし、何とか余計に払うのは回避できました。ありがとうございます。

.NET ラボは .NET技術やマイクロソフト製品について幅広いテーマで毎月第4土曜日に開催していますので、こちらもご参加いただけると嬉しいです。

カンパについて

26,575円のカンパを頂きました。ありがとうございます。登壇者の方は懇親会費用から1,500円引き、スタッフの方は500円引きとし、3,800円余りでプールしています。次回のカンパに追加させてもらいます。

次回の JXUG は

jxug.connpass.com

jxug.connpass.com

jxug.connpass.com

が決まっています。

kagoshima.html5j.org

こちらでもお話させていただきます。

また、その後は、

こんな感じで喋ったことのない方に喋ってもらう会も開催したいと思います。

JXUGC 登壇スキルアップ勉強会 登壇表明シート を用意しましたので、ぜひチャレンジしてみましょう。

また、最近土曜日の開催が多いので平日夜にもやりたいと思います。登壇初心者の会は人数がそこまで多くなければ、平日夜の開催とするかもです。

Xamarin 気になった方は

Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

Xamarin 有償トレーニング : XLsoft エクセルソフト

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

エクセルソフト | ダウンロード | 学習用リソース | JXUG リンクページ | ブログ購読