JXUGC #13 東京 Xamarinのすべて!

「JXUGC #13 東京 Xamarinのすべて!」に行ってきました!

「JXUGC #11 Xamarin ハンズオン大会」に続いての2回目のJXUGCです.

冒頭に田淵さんもおっしゃっていましたが、大変濃ゆい内容のカンファレンスでした.

セッション

今回のセッションは最長でも25分だったのでLT形式と言っても差し支えないと思いますが、全部合わせると4時間半という大ボリュームでしたね!

内容は Xamarin.Native, Xamarin.Forms, Xamarin.Mac と幅広く網羅していて(比率的には Forms 多めだったかな?)、レベルも入門から上級者向けの内容までバリエティに富んでいました.

復習も込めて、各セッションを振り返りたいと思います.

JXUGC 13 はじめに

田淵さんのオープニングも兼ねたセッションでした.

内容は JXUGC #11 の説明をより簡略化した上で最新の動向を散りばめた、まさに導入といった内容.

Xamarinは”ツンデレ”という話でしたが、デレさせるにはそれなりに技術(あと忍耐力?)が必要なのかも?

デモをされていた Xaml Previewer、アレいいですねぇ…早く VS に来ないんですかねぇ…

あとちょっとした発見だったのが、”JXUG” の読み方.自分は今まで「じぇーさぐ」だと思っていたのですが、「じぇーざぐ」なんだそうです.

Xamarin(ざまりん)の発音的には「ざぐ」なんでしょうね.

ちょまど、Xamarinへの愛を語る

ちょまどさん初登壇のセッション( *゚▽゚* っ)З

な、ホワイトボードだと…!?
(スタッフの方々のざわつきからしてリハーサル済みではなかったはず…)

ミゲルが攻めで、ナットが受けって話!?(違う)

「ミゲルさんちょーすげぇ人なんです」
「そこで Mono ですよ!」
「Novel 社いいやつです」

ちょまどさんの愛は伝わってきましたw

Xamarin社の歴史(Microsoftによる買収まで) | ちょ窓帳

内容はすごくわかりやすいです.

600件のプルリクエストから見たXamarinはまりポイント

@issebi さんによる Xamarin はまりポイント、主に Xamarin.Native の内容でした.

いくつかのはまりポイントは OS バージョンや端末に起因するものでしたが、これはモバイルアプリ開発者共通の苦難でしょうか.
(おそらく Xamarin 固有のバグが引き起こすエラーの事例はなかったはず)

そして Galaxy、絶対こいつは何かある.

Native アプリを Xamarin.Forms に移植してみた話

吉田さんによるネイティブを Forms に移植する話でした.

Forms はまだほとんど触っていなく、UI 回りが不自然にならないかなど気になっていたので非常に参考になる内容でした.

例えばタブを使ったレイアウトの場合、Android はページのヘッダー部にタブが付くのに対し、iOS はフッター部にタブが付くのですが、どうやら Forms がそれぞれの OS ごとによしなに配置してくれるようです.

ただこれで全部解決かというとそうは問屋が卸さないわけで、個別の実装に Custom Renderer は使わざる得ない感じに.

ですが!結果的に約7割を共通化されているということで、これは Forms 使う価値あるなぁと感じました.

あと個人的に気になっていたリソースの共通化は、Embedded Resource なるものがあるようなので勉強したいです.

Forms で使えるライブラリやテクニックをご紹介 〜日本酒アプリ Sakenomy は、Forms 製です〜

@AyaseSH さんによる Xamarin のテクニックやライブラリのお話しでした.

ListView + Cell は、通常 Android だと Adapter 内部で View にセットした ID で分岐処理して View のリスナーから Adapter のリスナーにコールバック地獄みたいなことを、Xamarin だと Action 渡せて非常に便利という感じに理解しました.

ここらへんは Xamarin というよりは C# の利点って感じですかね?

ライブラリのほうは、Picasso をさらに高機能化したような FFImageLoading と、MVVM で課題となるポップアップを解決する ACR User Dialog でした.

とくに画像ロード回りをオレオレ実装するのはなかなか辛いと思うので FFImageLoading 使ってみたいです!
(以前 AsyncTask でオレオレ実装したとき辛かった覚えがあります…)

DroidKaigi2016 アプリを Xamarin に移植してみた話

@amay077 さんによる DroidKaigi 移植のお話しでした.

代替ライブラリや Binding ライブラリなど、試したいものが盛りだくさんだった中で、個人的に一番ツボだったのは、

Perceler を JSON で代替するという TIPS でした.

自分も以前、Android の Percelable をどうしようか悩んだ末、JSON 化するという結論に至ったので、このやり方がアンチパターンじゃないことを知り嬉しかったです!

基本的にネイティブで実装できることは Xamarin.Native でも実装できるので恐れるべからずですね!

Xamarin 実戦投入時に気をつけたいことあれこれ

鈴木さんによる実戦投入時に気をつけたいことのお話しでした.

Xamarin にネイティブの知識は不要かと言われるとそうではないというのは全くの同感でございますw

言語と IDE の知識は「不要と思いたい」とのことでしたが、実際開発を始めるとネイティブのキーワードで調べざるをえない状況が多々あると思うので、必要かな…と思います.

そして.Native VS .Formsですが、これは個人的にはNativeだと思っていまし”た”.

UIを作りこもうと思ったら結局 Custom Renderer 使わないといけないわけで、ならいっそビジネスロジックだけ共通化したほうが楽じゃないかと思ってたんです.

ですが.Nativeの革新的な発展はこれ以上見込めないと言われると確かにその通りに思われ、「技術的投資価値」は.Formsに軍配が上がると納得しました.

「技術的投資価値」って観点は重要ですね、全部頑張ることは難しいですから;

Porting Windows Forms App to Xamarin.Mac

@ailen0ada さんによる Xamarin.Mac のお話しでした.

もうプレゼンがすごくて拝聴してて面白くてしょうがなかったですw

Xamarin.Mac のお話も興味深かったのですが(Mac 開発はしないかなぁ。。。

このアプリ、画像を8Byteの特徴量化して高速検索できるのが多分一番すごいところなんだがwww #JXUG

— Daiki Kawanuma (@Santea3173) 2016年5月7日

” data-blogcard=”1″>

本筋とは逸れるんですが、このアプリのすごいところは画像特徴量にあるはずなんです!ARGB で表される画像を 8Byte に次元削減してるんですからすごいです!

画像サイズに依存しないところを考えるに SHIFT 特徴量とか使ってそうだなぁとか思うんですが、想像の域を出ないですね…

ステップバイステップな内容をブログで公開してくださるということなので、特徴量化の部分をぜひ解説頂きたいです!(そこじゃない)

Prism.Formsについて

@okazuki さんによる Prism.Forms のお話しでした.

Prism.Forms は名前の通り、Xamarin.Forms 用の MVVM インフラストラクチャのようです.

WPF では Livet を使っていて、.Forms でも Livet 使えないかなぁと思っていたので非常に参考になりました.

画面遷移やダイアログ表示をよしなにしてくれるところや、命名規約で紐づけできるのもポイント高いですね!

テンプレートも用意されていてすぐに試せそうなので使ってみようと思います.

Xamarin でもクラウドで監視したい!

@ayasehiro さんによる Hockey App のお話しでした.

タブレットアプリの運用・監視を Xamarin でどう行うかという感じでしたが、ここらへんのツールは使ったことがないのであまり感想を書けないです><;

Application Insights が廃止され Hockey App に移行する必要があるようです.

Hockey App はベータテスター用という側面が強いということで、運用では使いづらそうな感触らしいですね.

ネイティブの場合、Ad とか運用・保守回りのライブラリも色々あると思いますが、本格的な実装を目指すとなると Xamarin でも欲しくなりますよね.ここらへんのツールが充実するとより実践投入しやすくなりそうです.

20分でできる!Xamarin.Forms 入門

@furuya02 さんによる Xamarin.Forms 入門編のお話でした.

各プラットフォームごとの見た目の違いを並べて比較されていたので直観的で分かりやすかったです(.gif で動きがあったので更に良かった!).

WindowsPhone は色々と特徴的な動きをするようですね(w)、使ったことないのでわかりませんが.

画面遷移のところは、ページが入れ子になっているときにナビゲーションからの遷移なのか、ページからの遷移なのかという感じだと思いましたが合ってますかね?

Enterprise から見た Xamarin の可能性

@nuits_jp さんによる Enterprise の観点での Xamarin という内容でした.

とりあえず新たに導入を提案したいときはこの資料見せればいいんじゃないですかねw
色々な側面で Xamarin を検証しています.

性能面でネイティブに劣らない(むしろ勝る場合もある)というのは大きなセールスポイントになりそうです.
3D ゲームでもない限り対応できそうですね(この場合、ネイティブでもNDKを使うと思うので明らかに差別化できる分野ではあります).

日本コミュニティーの貧弱さは無償化が大きなアクセルになってくれるでしょうし、今後が期待されますね!

Win/Mac/Android/iOS 向けクロス開発に Xamarin がうまくハマりそうだった話

@_pochi さんによるデスクトップ・モバイルに渡ったクロスプラットフォーム開発のお話しでした.
(完成に至らなかったXamarinプロジェクトの供養らしい)

モバイルでクロスプラットフォーム開発というのはまぁ Xamarin では当たり前なんですが、デスクトップアプリとモバイルアプリの両方でクロスプラットフォーム開発という話は初めて聞きました.

これはすごいなぁと思いました.要求される知識分野が広範すぎて(デスクトップもモバイルも両方知ってなきゃいけない)、これこそスーパー Xamarin 人材ですね…!

デスクトップ & モバイルという対象には Xamarin 最強なんじゃないか…?(Qt とかもあるけどどうなんでしょうね…)

Xamarin.Forms でアプリを公開した話

@ticktackmobile さんによる Xamarin.Forms アプリ公開のお話しでした.

このアプリの Android 版には Twitter 上でいくつか気になった点を意見させて頂きました.

.Forms の見た目の調整はやはり大変なようです.

.Forms はプロトタイプ版の開発に親和性が高いとのことでした.これは以前田淵さんもおっしゃっていました.

やっぱそれなりに.Forms 辛いのかなぁ…

Xamarin.Forms 実践投入してみて

@omanuke さんによる Xamarin.Forms の導入前の検討事項といったお話しでした.

Xamarin の光と闇、良い所と悪い所、見た目と挙動など、実際どうなのよ?に答えてくれる内容でした.

見た目に関して、参照できるサンプルが色々あるようで(Evolve など)参考にしたいと思います.

.Forms の苦労とその解決法が色々載っていたので困ったときのリファレンスにします!

C++ から C# まで Visual Studio 縛り(で死ぬ実験)

@espresso3389 さんによる C++ が大変だった話でしたw

Android も iOS もリンクするところで難関があるっぽいですね.

現状、Visual Studio では C# と C++ の共存は厳しいっぽいです.

Xamarin 開発環境の選択

@kurosawa0626 さんによる開発環境のお話しでした.

Mac と Windows、Xamarin Studio と Visual Studio、Native と Forms、PCL と Shared を対比されていて、それぞれの良さ悪さが分かりやすかったです.

色々名言がありましたねw

比較的 Forms 推しが多かった中で黒澤さんはNative推しのようです.
(それだけ Forms で苦労されたということでしょうか…;)

感想

ほんとうに内容が盛りだくさんで濃いカンファレンスでした!

登壇者の方々はバギーな乗り物を乗りこなしている感があって本当にすごいと思いました.

これだけの数の LT があった中で定刻通りに終了できたことは、運営の皆様、登壇者の皆様の進行のすばらしさに尽きると思います.
ありがとうございました.

内容としては、Forms をやってみようと思うようになりました.それぞれにメリット・デメリット(これは Forms に限らず Xamarin も)が色々とあると思いますが、「技術的投資価値」という言葉が心に響いたので辛い部分も含めて Forms やってみたいと思います!

自分も1つ作ってみたいものがあるのでまずは手を動かしてみます!

JXUG の皆様、今後ともよろしくお願い致します!!