技術書典3

以前このブログでも紹介した、技術書典3で出展・販売に携わった『Extensive Xamarin』という技術同人誌が3月に商業出版されました。

『Essential Xamarin』同様インプレスさんのNextPublishingからです。

Extensive Xamarin ─ひろがるXamarinの世界─ Essential Xamarinシリーズ

Essential Xamarin ネイティブからクロスプラットフォームまで モバイル.NETの世界

会社でも同僚が紹介記事書いてくれたのすごいうれしかったなぁ...
弊社エンジニアが共著で参加した Xamarin の技術書が発売されます

Aamazonで自分の名前を検索したら本が出てくる一定の感慨深さはありますが、『Essential Xamarin』がとても好きですし、この本の商業出版化様々という気持ちです。

あとは以前の記事のとおり、「いつか書けたらいいなぁ、で逃げなくてほんとによかったです。」がすべてで、技術書典3は去年一番の思い出かもしれないということに尽きます。

技術書典3で『Extensive Xamarin』という同人誌の出展・販売に携わりました

技術書典4

自分では何も書いていないですが、一足先に読ませていただいたこともあり、当日は新刊の売り子をやります。

新刊の内容はMonoDevelopとXamarin.iOSについてです。

MonoDevelop

以前仕事でもVisual Studio for Macを使っていたにもかかわらずOSS的な部分とプロプラエタリな部分でどういう風に構成されているのか、自分で拡張するためにはどうすればいいのかの手がかりが掴める内容になっていて感動しました。

ただ、MonoDevelopに限らずIDEやそれに準ずるものがどういう取り決めで本体とデバッガ間で通信するのかなど他のIDEでも共通して考えれるヒントが惜しげも無く散りばめられている貴重な内容になっています。

Xamarin.iOS

なんとなく書いていたらハマるだろう(ハマっていることにすら気づけない自分みたいなパターンもけっこうありそう)現象の原因と対策がサンプルコードとともに丁寧にまとめられています。

ネイティヴなコードをXamarinでラップすることでどう表現が変わるのか、.NETな表現をするためにXamarinが何をやっているのかの解説はただただ鮮やかです。

どっちもほんとにすごいんです!!(こなみ)

えのもとさんの記事
技術書典4新刊によせて

2017/10/22開催の技術書典3で『Extensive Xamarin』という同人誌の出展・販売に携わりました。

https://techbookfest.org/event/tbf03 より

忘れないうちに感想や振り返りを書きます。

参加のきっかけ

7月の初旬頃(?)にXamarinの中の方がtwitterで書く人を募ってらっしゃったのを見たのがきっかけでした。

最初見たときは「あー、いつか書けたらいいな…」みたいな気持ちで流していたのですが、もうそろそろ募集は締切るというタイミング(8月の半ば)で参加することにしました。

参加しようと思ったきっかけは、何かすごく書きたいことがあるからではなく、Xamarin、強くなりたいからです。

テーマ選定

参加表明時はXamarin関係の興味がある分野として

を調べながら書こうと思っていました。

しかし、LottieXamarinはLTで調べたときにもっともっと深めたいとは思わなかったし、Realmもいつかは自分のアプリで使ってみたいなぁと思っていたものの自分のアプリで検証してそれから原稿を書いて...みたいなスケジュールで動くことは無理そうでした。

ならば自分が今業務で関わっていることに正面から向き合おうと思い、Xamarin.Macアプリ関連について書くことにしました。

ちょうどXamarin.Macを使い始めて間もないころだったので、開発フロー全体をどう組み立てていくのかについて不安を感じている時期でした。

そのため、自分のその不安を低減できるよう勉強・整理すべく「Xamarin.Macの配布方法」を具体的なテーマにすることに決めました。

Xamarinそのものを扱うことにはならないかもしれないけれど、Xamarin.Macを使ったMacアプリ開発を行う上で欠かせない情報、他の誰でもなく「自分が開発をスタートするときに欲しかった体系的な情報」を書くことにしました。

執筆

早速8月の半ばから記事を書き始めました。Extensive Xamarinのリポジトリに記事(Re:View形式)のPRを送ったのが9/10です。

土日のうち、イベントやその予習以外の時間と、たまに平日の夜に書きました。

少し空いて9/28には相互レビューが始まりました。僕はXamarin.Macの強い人にかなり詳細なレビューをいただき、このレビューがあったからこそ当日を迎えられました。

ここだけの話、レビューの修正対応期間が.NET Confの準備の佳境と重なってしまい、レビュー対応のうち体裁系は妻に手伝ってもらいました。

当日

会場に入って自分たちのブースに行き、『Extensive Xamarin』が入ったダンボールを開封したときの本に対するいとおしさが半端なかったです。

カバーイラストも画像では見せてもらっていたものの、いざ印刷されたものを目にするとたまらなくいとおしいです。

台風直撃(の直前)の生憎な天気でしたが、足を運んでくださったみなさまありがとうございました!

参加者としては最初の方に回らせていただいたので、気になる本は一通り買うことができました。

振り返り

Good

参加することにしたこと

いつか書けたらいいなぁ、で逃げなくてほんとによかったです。

もっとああすればよかった、こんな風に書けるようになりたい、も第一歩があってこそです。

テーマ
「自分が向き合うべき課題」に取り組めたことはよかったです。

Xamarin色が強くなかったことは心残りです。

期限
期限からだいぶ前倒しで書けたのはよかったです。

ただ、Challengeにつながる内容ですが、レビューが始まるまでに体裁や調べ足りない自覚があった部分は改善しておきべきでした。

Challenge

クオリティ
レビューしていただくにあたってそれまでにできることがあったというのは一番の反省点です。

Webページ用のビルドしかせず、PDF(実際に紙の本になるときの印刷状態に近い)で確認しなかった罪は大きい...。

Xamarin
どんな内容を書くか以前の話ですが、もっと「本質的なこと」について書いたり、理解したり、理解した上で開発したりしたいとは常々思っています。

それは動作原理に関するものです。

「こうすればこういう問題が解決できる」にとどまらず、「こういう問題はこうすれば解決できるが、それはこういう仕組みになっているからだ」という部分に踏み込めなければ成長しないんだろうなぁ...という気持ちが強いです。

なので、唐突ですが今年のQiitaのAdvent Calendar(きっとXamarin関連)はそういう内容にします。

そこで調べた内容をもとにどこかで話す機会があれば話せたらなぁとも思っています。

まとめ

どうまとめてもやっぱり参加してほんとによかったです。

特に主催の@atsushienoさん、レビューしてくださった@ailen0adaさん、一緒に技術書典3を仕上げてくださった執筆陣のみなさま、イベントの企画運営をしてくださったみなさま、足を運んでくださったみなさま、修正手伝ってくれた嫁氏、ありがとうございました!!

業務連絡

拝借します。
※情報が増えたら随時足します

booth

10/1に Microsoft MVP を受賞しました。カテゴリは Visual Studio and Development Technologies です。

Microsoft 関連のテクノロジーを使用した開発を行う上で各コミュニティの先輩方の助けがあってなんとかなった部分は数え切れません。

感謝するとともに、自分もより多くの人の役に立てるようにいっそうがんばります。

以下、自分とコミュニティの関わりについて書きます。

MS MVP が何か、どういうメリットがあるか等については何も触れていないので、そういう情報が必要な方は公式サイトをご覧ください。

C# との出会い

僕は「エンジニア」という職業に憧れ、2015年1月に SIer 営業から転「職」しました。

SIer企画営業をやめ、クラウド会計ソフトのfreeeでエンジニアとして働きます

最初の7ヶ月くらいは大体 Ruby を書いて(※書けない)過ごしましたが、2015年7月頃突然 Windows デスクトップアプリのプロジェクトにアサインされました。

それが C# や Visual Studio との出会いです。

まぁ何もわからなかったです。

前職で C# で書いていた UXデザイナーさんに Visual Studio の使い方を教えてもらったのは今となってはよい思い出です。

レビュー以外は基本的に自分しか触らない、ということは自分が開発を進められなかったらこの機能は世に出ない…!というプレッシャーがすごかったです。

(会社の中でわからないことを聞いても教えてくれる人はいたのかもしれませんが、)そのタイミングで利用し始めたのが teratail (もちろん Stack Overflow とかも)だったりします。

@Tak1wa さんを始めたくさんの方にすごいスピードで助けていただきました。

その助けがなければリリースまでたどり着かなかったかもしれない機能もたくさんあります。

感謝してもしきれません。

ここからオンライン・オフラインでの「コミュニティ」との関わりが始まりました。

はじめての Qiita

助けてもらってばかりの日々が続きましたが、無事大きな機能もリリースにこぎつけ、今度は自分も何か書いてみよう!と思っていると、世間は Qiita の( Qiita をはじめとする?) Advent Calendar で賑わっていました。2015年の12月のことです。

はじめての Qiita 記事は C# の Advent Calendar です。

Windowsアプリで出たバグをBugsnagで管理し、Trelloでタスク化し、slackに通知する

C# との闘争

2016年になり、Windows アプリのメンテや機能拡張が半稼働、Ruby で書くのが半稼働という日々が続きました。

正直頭切り替えるのしんどいし、どっちも中途半端だし、C# での開発は社内でメインストリームではない…ということでだいぶモヤモヤしていました。

しかし、紆余曲折を経て、腰を据えて C# を勉強することに決めました。

2016年の5、6月には C# の基本書を改めて読み、 Qiita 記事も色々と書き始めます。

設計もできるようになりたいという思いで、『Java言語で学ぶデザインパターン入門』を C# で書き直すという Qiita 記事も書き始めました。

C#で学ぶデザインパターン入門 ①Iterator

はじめての .NET 関連勉強会

そういう言えば C# なり .NET なり勉強会行ったことないよな…と思い、行ってみることにしました。

近々開催予定だったのが .NET Fringe Japan 2016です。(2016/10/1)

Ruby や JavaScript の勉強会と雰囲気(いる人の層?)が全然違うし、何より何言ってるかさっぱりわからなかった気がします。

今思えば最初に行く勉強会としては誤りだったと思う一方、メンバーの濃い本当に貴重な勉強会だったと思います。

はじめての Xamarin

C# でモバイルアプリの開発ができるとか何とか?という話を聞き、へ〜って思っていると、Xamarin Dev Days Tokyo というイベントがあるというのを知りました。

世界中で Xamarin のハンズオンイベントをやるとのことで、参加してみることにしました。

環境構築が全然進まず困っていたところ、@_shunsuke_kawaiさんや @atsushienoさんに助けていただきました。

atsushieno さんが Xamarin の中の人だということは後から知りました。

Japan Xamarin User Groupという日本の Xamarin ユーザグループもあり、勉強会もほぼ毎月行なっているということを知りました。

その年の会社 Advent Calendar では C# というかなんというかな話を書きました。

技術的マイノリティプロジェクトで幸せに過ごすための5つの方法

年が明けるともっと Xamarin のことを知りたいと思い、 Xamarin.Forms 本の邦訳読書会にも参加し始めました。

XamarinFormsBookReading

そして自分でも Xamarin.Forms を使って簡単なアプリを作り始めました。(2017年4月)

Xamarin.Formsで家の日用品管理アプリを作り始めたお話

はじめての機械学習

Xamarin に触れる一方で、社内では機械学習の勉強会に参加していました。

Coursera の機械学習を見つつ、その演習問題をやってみたり、Kaggle の問題を解いてみたり。

その文脈で Azure Machine Learning に出会い、そのわかりやすさに感動してこの本をベースに社内でハンズオンをやってみました。(2017年4月)

インサイド Xamarin

会社でも Xamarin で開発をすることが決まり、de:code にも参加して Xamarin の話を聞くぞ!予習するぞ!というときにある連載に出会いました。

インサイドXamarin

Xamarin に限らず、ビルドとかコンパイルって何することなんやろう?そもそも .NET って何?みたいなことがとても気になり始めていた時期(遅)で、衝撃的に面白かったです。

理解できてない部分は多いとは思いますが、詳しく知りたい気持ちが増す大きなきっかけになりました。

はじめての LT

思うところがあり、2017年6月から LT をし始めました。

その経緯はこの記事に詳しく書いています。

Tokyo Jazug Nightで「Azure FunctionsとAWS Lambdaの開発フローの違い」を話してきました。初めての登壇とその理由 #jazug

はじめての LT は日本の Azure のユーザグループである JAZUG で行いました。

これからもっと Azure を使って行く予定なので、もっともっと実践的な知見を共有できたらと思います。

Microsoft MVP

その後もイベントでの登壇やサポートをしたり、業務関連の Xamarin 記事を書いたり翻訳したり、たまにコードを GitHub に上げたりしていました。

その結果、2017年8月までの1年間の活動を評価していただき、Microsoft MVP を受賞しました。

自分のエンジニアとしてのキャリアと Microsoft 関連技術は密に結びついており、とても嬉しくて受賞した日はほとんど眠れませんでした。

(訳あって9月以降の実績を含まずに受賞できたら嬉しいなぁ…と思っていたりもしました)

会社のチームに報告したり、全社集会で報告したり、察して祝っていただいたり、全社集会で報告する日にMVP Kitが届き開封の儀を執り行ったり、自分のことのように喜んでくれる人がいたりで徐々に実感も湧いてきました。

ただ、評価指標はあくまでコミュニティへの貢献で「エンジニアとしてどうか」ということではないと思っています。

今後、MVP を受賞したことで得られる機会を最大限活用し、これまでお世話になった方々のように多くの人が一歩踏み出す力になれるよう努力し、エンジニアとしてより大きな問題を解決できるよういっそう精進していきます。

2017/10/7の .NET Conf 2017 Tokyo, Japan でお話して来ました。

発表に使用したスライドはこちらです。

下記について書いていきます。

  • 登壇のきっかけ
  • テーマ選定の理由
  • 準備
  • 振り返り
  • お知らせ
  • おまけ

登壇のきっかけ

Microsoftの方からXamarinについて登壇してみませんか?というお話をいただいたのがきっかけです。

Xamarinのユーザーグループには登壇してくれそうな人はいるものの、今回は普段あまり喋ったことない人がよいということでお声がけいただいたようです。

聴衆として参加登録はしており、「セッションは公募」というのを見たときは「さすがにこれまで5分しか喋ったことないし、いつかは喋ってみたいけどさすがに長時間(まだセッションの尺も掲載されていなかったので雰囲気)は無理やなぁ」くらいに思っていました。

お声がけいただいてもこの状況や思いは変わらなかったのですがw、ひとしきり周囲の人(たまたま家族旅行中で沖縄にいました…!)ときゃーきゃー騒いだあと、いつものようにネタは何も決まってないけどとりあえず引き受けることにしました。

たぶんいつかやりたいそのいつかも「はいはい45分セッションね?あれとあれとあれ話すから余裕ですよ!やりますよ!」みたいな状態ではないので、この機会逃すのは勿体なすぎる!

テーマ選定の理由

引き受けたものの、Xamarinに詳しいわけではないので、 準備しながら勉強したい、といういか勉強するプロセス自体がテーマにならないかなぁ?と思いました。

  • 体系的に勉強したい(学ぶべき領域整理されててほしいという甘え)
  • 45分という自分にとっては未知な時間を「埋め」やすい

というのを考えたとき、Xamarinの技術書の話をしようと思いました。

技術書にはある程度体系的(深くなくていいから網羅しててほしい)な知識が期待できるし、記憶ではこの1年でたくさん本が出ているので「m分 × n冊」みたいに時間も把握しやすいかなぁと。

そういうわけで、お声がけいただいたその日にXamarin本をテーマにすることに決めました。

5分のLTでも1ヶ月前から準備するタイプなので、本番3週間前スタートだと悩まず進み切るしかないのです…!

準備

本の数を把握する

本の話をするということで、まずはAmazonで「Xamarin」を検索しました。

ここ1年の日本語技術書は8冊。

本番2日前に発売されるものはスルー(しようと思っていましたが買えたので触れました)するとして、読めなくは無さそうです。

去年のスライドを眺める

ちょまどさんが当日の雰囲気や登壇者のスライドをまとめてくれいていて助かりました。

dotnetConf Japan 2016 で登壇してきました!

資料の枚数などを参考にしようと思いましたが、きっとそれぞれ芸風が異なりそうだったので一通り読んでそっ閉じしました。

本を買う、読む

すぐ読み始めたいものはKindleで買い、ある程度業務に関連あれば会社で買ってもらえるので他は購入申請しました。

既に買って読んでいるものもありました。

スライド作成

本を読むのにそれなりに時間がかかったのと、タイミングがいろいろと重なってしまったのとで10/3から当日(10/7)の朝に作成しました。

本を読んだ感想を念頭に構成だけ文字にしてスライド作成していくものの、意外と流れが作れなくて悩んでいる時間が多かったです。

「本を見ていく「基準」を提示して、その基準に各本を当てはめ、最後に傾向と感想を述べる」という大まかな流れの中で、突然本が出てきても流れがよくわからないし、基準の粒度が荒すぎると特徴を見出せないし、細かすぎると自分がわからなくなるしで最終的に資料のような形で腑に落ちたのは当日の朝でした。

練習

無事資料の作成が終わってスライドの枚数は60枚と少し。

いざ練習してみて、余るなら削ろうくらいの気持ちでいたら42分。

狙ってそうなったものでもなく、気持ちゆっくり目に話せばちょうど時間くらいで運よかったなぁ…という感じでした。

練習中に嫁氏が校閲してくれたときにいくつか誤字見つかったので感謝感謝でした。

振り返り

振り返ります。そういう芸風なので…。

Good

引き受けたこと

これは間違いなくよかったです。

準備期間は瀕死状態が続きましたが、そうやって大きくなっていくんです。(てきとう)

テーマ選定

自分が向き合うべきテーマだったのが何よりもよかったです。

前回のXamarin関連のLTではテーマが曖昧過ぎてちょっとアレだったという反省がありました。

XamarinのLT大会で「LottieXamarinで始めるXamarinアプリのアニメーション」を話してきました #jxug

今回はLTのタイトルとは別に「Xamarinやりたいけどよくわからんので、まずは広く見渡して知識を整理する、サンプルアプリで手もできる限り動かす」というテーマをおいて取り組んだので、目的がある程度果たせたのもよかったです。

内容(Xamarin本の整理)自体も、もし自分がやらなかったら他で企画があったかもしれない(関心がある人がいそう)ものだったようでよかったです。

(企画のネタの目を摘んでしまっていたら事故としか言いようがないですね…)

セッション終了後も本の紹介でちょうど困ってたところでよかった等コメントいただけて嬉しかったです。

セッション2日前発売の本にも触れたこと

たまたま入手できたからという側面はありますが、この本の内容自体が価値あるものだったので少し無理してでも触れることができたのはよかったです。

ただ、反省としてはこの本についてはパラパラ目を通したくらいなので、フェアな比較にはできてなさそうなことです。

これからサンプルも手を動かして追って、印象が変わったり事実と異なる扱いになってしまっていたりしたらスライドを修正します。

Challenge

誰向けのセッションなんや

僕は初心者なので初心者向けのセッションしかできないはずですが、初心者向けセッションなら「Xamarinアプリ開発に必要そうな知識」をもう少し整理?わかりやすく話す? などできればよかったかなぁと思いました。

本を評価していく「基準」なので、伝えられなければ前提が崩れてしまう…。

それか「どんなときXamarin使いたくなると思いますか?」じゃなくて、「Xamarin使ったことありますか?」「なんで使いましたか?」みたいに経験の有無やどういう説明必要か(はしょっていいか)確認したり、セッションの前に告知するとかしておくとよいのかなぁと思いました。

何はともあれ、自分が詳しくないと話すレベルの調整もできないので、詳しくなるところからです。

スライドが文字文字しい

自信の無いことの表れ…という側面と、発表するというか後から読める資料にしたいという側面どちらもあった気がします。

文字ばっかりのスライド見たくないですよね?書いていることをそのまま喋るだけならブログとかでええやんという感じです。

スライド自体は文字減らすか図にするかして、詳しく話ができる程度に準備するのがよさそうです。

また、サンプルアプリがついている本が大半だったので、その本で出来上がるアプリのGIFとか貼っときたかったです。

途中までGIFを準備しながらやっていたのですが、時間が足りなさそうで断念しました。

機材

USB-CとHDMIのコネクタを会社に忘れたのと、持参したUSB-CとVGAのコネクタが動作しませんでした。

Xamarin.Macの人に助けてもらいました。

純正奴買います。

こんなんなんかぁ…。

あと、ひらりんさんのブログ記事に触発されて本番直前に買ってはみたものの、余裕(論理/物理)がなかったので諦めましたw

発表中ずっとPCの画面見ていて発表っぽくないので、しゃべり方も変えてけたらなぁと思います。

お知らせ

発表でも触れましたが、技術書3で出展・販売されるXamarinの同人誌の1章分(Xamarin.Macアプリケーションの配布方法)を担当させていただきました。

技術書典3 出展情報 - Xamaritans

当日はブースにもいる予定なので、ぜひ遊びに来てください!

おまけ

5000兆年ぶりにTogetterで当日の自分のセッションやスライド関連のものをまとめてみました。

あと、動画撮っていただいてないと思ってたのですが記念に置いておきますw

まだ全部見てないのに、「まぁ」と「というところで」何回言うねんという喋りになっています。改善ポイントいっぱいですね。

運営のみなさま、聴いてくださったみなさま、資料見てくださったみなさまありがとうございました!

無事終わってほんとによかったーーーーーー

2017/8/30の 初心者歓迎XamarinのLT会!Xamarin入門者の集い #3 で LT して来ました。

発表した資料はこちらです。

もうちょっとだけ詳しく Qiita に書いた記事はこちらです。

LottieXamarinで始めるXamarinアプリのアニメーション

今日は

  • 登壇のきっかけ
  • テーマ選定の理由
  • 振り返り

について書きます。

登壇のきっかけ

Xamarin に強くなりたい!以上。

テーマ選定の理由

今回は単なる興味です。

LT のテーマは「身近な問題に向き合う」にすると決意していながら、自分が Xamarin について何か発表する姿がイメージできな過ぎて、

  • 取り組んでいる人あまり見かけない
  • もともと気になっていた

ということで、アニメーションのライブラリ Lottie の Xamarin 版を調べることにしました。

振り返り

結論としてはやっぱり何か直面してる問題を解決したかった一方で、特定のライブラリを(ある程度危機感を持ちながら継続的に)追いかけるのは良かったなぁと思いました。

K

ライブラリ(github上のリポジトリ)を追いかけるようになったこと

ライブラリの動作検証しているとき、最初に試したバージョンが iOS でバグがあり動かない状態でした。

リポジトリを見てみると issue が立っていて、何人か同じ問題で困っている模様。

リポジトリにスターをつけて issue に動きがある度に届くメールを見ていると、数日後に issue は解決。

(正確にはリポジトリで Watching 状態にして、特定の条件でメール通知するように設定)

本来使っているライブラリの動きくらい追えよという感じかもですがやってなかったので習慣にします。

ついでにこれまでスルーしてたメールのフィルタも整理したので業務効率もアップですw

あと、リポジトリにスターつけたら twitter に垂れ流すやつ( IFTTT )割とこけるので困ってます。

Microsoft Flow なんとなく見てみたら GitHub 系は issue 立てる系とかしかなかったのでリクエストしようと思います。

こんな感じで使える IFTTT みたいな iPaaS です。

Microsoft Flowを使ってSlackからVisual Studio Team Servicesのビルドを実行する

スライドの枚数少なくして DEMO 入れた

前回、前々回とスライドの枚数が多く、時間もキツキツで喋る方もしんどかったのでスライドの枚数を減らし、せっかくのアニメーションだったので DEMO (ってほどでもないですが)スライドから別ページに切り替えて動かしました。

趣旨にもよるとは思いますが、今回は動いてて楽しいやんなーみたいなのが伝わればよかったので…伝わってたら嬉しいです。

詰め込み過ぎもやめてよさそうです。

記事書くのマークダウンにしたら捗った(ブログの話)

効率は上がった気がします。

今更ながら読んでる『達人プログラマー』の影響です。

P

自分が解決したい問題ではなかったこと

今回はこれに尽きる気がします。

気になっていたライブラリだとは言え、自分がアニメーション導入したかったわけでもなく気合が足りませんでした。

気合とは具体的に

  • サンプルよりもっと踏み込んだ使い方をしてみる
  • どういうコードなのか追ってみる
  • ライブラリを使ったときと使わなかったときの実装を比較する

などのことです。

いきなり本質に切り込めなくても改善していこうと思います。

T

テーマ設定時に問いかける

  • 何が問題で、どうやって解決したのか
  • なぜ解決する必要があるのか
  • その解決策はどのように成り立つのか
  • 考え疲れた?まぁ LT は LT やし全部満たせんでもええよ

Microsoft Flow に GitHub スターのパーツリクエスト

とりあえず言ってみる。

Japan Xamarin User Group (JXUG)主催のイベント、初心者向けXamarinハンズオン! #3でメンターをやってきました。

と言っても、 今回のハンズオンのテーマになっていたXamarin Dev Days Tokyoに参加したのが去年の11月、それを元にアプリを作って少しいじっただけ、という感じなので「メンター」と名乗るほど詳しくないですし、メンター枠でイベントに参加するのも初めてでした。

そんな前提のもと、

  • やっといてよかったこと
  • 答えられた質問
  • 答えられなかった質問

をまとめておこうと思います。

やっといてよかったこと

実際にハンズオンの題材をやってみる

事前に題材を嫁氏(エンジニア)とやってみました。

Xamarinの概要説明、環境構築、ハンズオンを一緒にやってみることで、つまずきそうなところに事前につまずきw、ある程度解決策・回避策を予習したり、自分が特にわかってない部分を勉強し直したりできたのはよかったです。

ハンズオンの題材をいじる

ちょっと前ですが、ハンズオンの題材をベースに簡単なアプリを作りました。

Xamarin.Formsで家の日用品管理アプリを作り始めたお話

ハンズオンを単になぞるのに加えて、いじってる方が次どういう風に勉強してったらいいのか実感がわくのはよかったです。実際参加者の方とそういう話をすることはなかったですが…!

答えられた質問

"XamlCTask" task failed unexpectedly

数人。今回の題材だと、Xamarin.FormsのバージョンアップすればOKでした。本質的な理解ができているわけではない…

Androidの実機デバッグをするとき、デバッグ対象に接続した実機が出てこない

その場で一緒に調べたところ、XamarinとかVisual Studio以前にドライバが端末を認識できていない状態でした。

この辺(Windows のデバイス マネージャーのエラー コード)見ながらの対応でした。

どんな質問にも怯まずとりあえず一緒にぶつかってみる姿勢大事そうでした。

ビルドし直しても変更内容がエミュレータに反映されない

コード絶対正しいはずなのに何でだろう…と思って、最終的にVisual Studio再起動したら反映されました。

本質的な理解はしていませんが、どこでVS側で新しいソースビルドできてかったのか、エミュレータが古いソース見ていたのか、もう少し問題切り分けできたいなと思いました。

コード正しいはずなのにコードビハインドで赤線が表示されている

多分できるのでビルドしてみください、でビルドできました。

正しいコードでも即座に反映(コード解析的な意味で)してくれないこともある…けど何でなんだ…

APIからデータ引っ張ってきてくれない

データ引っ張ってくる部分コメントアウトされていたので、コメント外してもらいました。

基本コードのコピペで進めていくハンズオンだと気付けないこともあると思うので、実際追ってみてから参加するのとても大事だと思いました。

Azureのポータルの見方よくわからない

本筋はXamarin.Formsであるがゆえに、バックエンドのサービス構成の基本事項等々まで説明するわけではないので、なおさらこういう部分まで丁寧にサポートできると安心して本来の勉強したい部分にフォーカスできるのかなと思いました。

Commandの書き方がしっくりこない…どう勉強したらいいか?

MVVMでUIからビジネスロジックを呼ぶ手段であること、メソッドと動作可否を引数にとること、ActionやFuncの元になるラムダ式の仕組みがあることをお話したものの、自分でもあまりしっくりこず…

勉強していくための記事とか添えれたらよかった気がしました。

他にもあった気がしますが、覚えてるのはこれくらいです。

答えられなかった質問

iOSのプロジェクトをiPhone実機でデバッグするために必要なこと

iOS持ってなくて、事前にも調べてなくてその場で調べました。

が、強い人が教えてくれてました。

Xcodeから設定してましたがよくわかったないので調べてみよう。

Androidのエミュレータが起動できない

今の自分の環境では特に問題なく動いた(理解してるわけではない)ので、何かあったときに何もわからず…

別の方に助けていただきました。

エミュレータ系は環境構築でハマるお決まりなのでもうちょい勉強しといてもよかったかもですね。

まとめ

自分の力不足感は否めなかったものの、自分が勉強できたこと、本質的な提案ではないけどハンズオンを進めるための手助けにはなった(はず)ということで勇気を出して申し込んでみてほんとによかったなぁと思いました。

次はこのイベント(初心者歓迎XamarinのLT会!Xamarin入門者の集い #3)で、JXUGでは初めての登壇です。

まだ1ヶ月半くらいあるので、それまでにもっと強くなって臨みます。

弊社freeeでもXamarin案件があるので、興味ある方ぜひお声がけください!!

日本を変えたいWindowsアプリエンジニア募集!!