あがく三流デザイナー

20代フリーランスWebディレクターがTipsを紹介

ちょまどさん文字起こし@20160507

5/7に東京で行われたJXUG勉強会の文字起こし、ちょまどさんパートです。

 

たいだいこちら(https://blogs.msdn.microsoft.com/chomado/)に

 

わかりやすく書かれてあります。

 

====================

 

田淵さん「ちょまどさんなんですけれども、今回、こういう大人数の人前で喋るのが、ほぼ初めてらしいので、みなさん生暖かい目で、あまり目線を合わせないようにしてただけると、彼女にとって嬉しいんじゃないかなと思います。あの、初めてなので温かい目で見守ってください」

 

 

 

~~ちょまどさんパート~~

 

よろしくお願いします。ふぅ……。あ、ちょまどです。

 

セッションタイトルは、『ちょまど、Xamarinへの愛を語る』。

 

自己紹介をちょっとしたいと思います。


私、"ちょまど"で検索して……(検索をはじめる → ちょまど帳表示)あ、これ、私が描いた絵です。私は漫画を描いたり、コードを書いたりしています。これが私の絵で、文系出身のエンジニアで、漫画家で、あと、先月……ん? 違う。3月22日からマイクロソフトでXamarinとC#のテクニカルエバンジェリストの仕事をしています。

 

人前に出るのが苦手なんですけど、漫画とかで伝えられるような感じにできたらいいなって。これから人前でモニョモニョ……

 

それで今回『ちょまど、Xamarinへの愛を語る』ってことで、その、手を上げてほしいんですけど、Xamarin触ったことないって人どのくらいいますか?(3~4割ほど挙手)

 

あー! よかったー! 私今からすごい初歩的な話しようかと思って、よかった! ありがとうございます! 今回コミュニティだから、すごい人たちばっかりだから、退屈しちゃうんじゃないかなと思って、よかったー!

 

(ホワイトボード用意。スタッフざわつく。シャッター音の嵐)

 

えっと、Xamarinがどういうのかっていうのを軽く、愛を語る前に軽くどういうのかを書こうと思うんですね。


普通はAndroidアプリはJavaで書きますよね。Javaで書く。で、iOSアプリは、Swiftとかobjective-Cで書きますよね。ふつうはこうなんです。でも、Xamarinを使えば、このAndroidアプリもiOSアプリもC#で書けます! 


これはすごいと思うんですよ。すごいんです。C#で書ける。C#で書けます。
で、あとコードも共通化ができます。
えっとそういうのがXamarinです。Xamarinを使えばC#androidアプリやiOSアプリが書けます。
あと、Macアプリも書けます(半笑い)。

 

今回話そうと思うのが、Xamarinへの愛なんですけれども……この人(ホワイトボード)退場して……。

 

(ホワイトボード退場。会場爆笑)

 

ありがとうございます。あの、Xamarin社の歴史を話そうと思うんです。

 

Xamarinについての記事はいっぱい探せば田淵さんとか、いろんな人が人柱……じゃなくて、えっと色んな先陣を切っている人たちがいっぱい書いてくれてるんです。だから今回はXamarin社の話をしようと思うんですね。

 

クロスプラットフォーム開発ツールのXamarinについての記事はよく見かけるのに、Xamarin社についての記事は少ないって言われたので、ここにまとめようと思います。

 

現在Xamarin社はマイクロソフトに買収されてマイクロソフトの一部となってしまったんですけど、すごい波乱万丈なんです。あの、途中でAttachment社に買収されちゃった翌月……あ、これ翌週らしいです! あ、さっきXamarinの中の人に初めてお会いしていろいろ聞いたんですよ。翌週、買収された翌週に全員解雇されちゃったりとか、すごい波乱万丈だったので、発表したいなって思ったんです。

 

あ、そう、Xamarin社がXamarinを開発してたんです。製品名と会社名が同じ……クックパットみたいな感じですか?

 

で、登場人物は二人いるんです。Xamarinはふたりの創始者がいるんです。

 

ナットさんと、ミゲルさんです。

 

ナットさんが、超すごい企業家です。旅行好きで自家用飛行機も持ってる……これも中の人から聞きました。飛行機も持ってるらしいです。

 

で、Xamarin社が生まれた直後資金が無くて、元会社との権利関係で大変だったときCEOとして招かれたんですね。直後に。そしたらすごく資金を調達したり、卓越した交渉能力で権利関係を解消したりとか、すごい人です。Xamarinを会社としてすごく大きくした超天才です。

 

で、ミゲルさんは超すごいデベロッパーです。OSSが大好きです。GNOME……GNOMEってなんか有名? なんすよね? で、UNIX系のOSでよく利用されるデスクトップ環境の一つのMonoという超変……超有名なOSSプロジェクトを始めた人なんです。父は物理学者、母は生物学者という科学者の家庭で育ちました。Xamarin作った人です。

 

まあこのふたりが登場人物なんです。ナットさんとミゲルさん。

 

で、Xamarin社がどうやって作られたかっていうと、Xamarin社はもともとミゲルさん、さっきの超すごいデベロッパーをリーダーとするMonoプロジェクトの開発メンバーがあつまって2011年に独立した会社として結成されたものです。Monoプロジェクトも……なんか有名なんですかね? えっと、マイクロソフト.NET FrameworkLinux上でも動かせるようにしたいねーって思想から始まった、まぁMSの.NET FrameworkUnix移植を目的としたOSSプロジェクトです。

 

今は.NETはマイクロソフト自身によりOSSなってGitHub上に全部公開されてるし、普通にLinux上でも動くようになってるんですけどね。

 

XamarinはMonoベースのアプリケーションを作るための開発ツールなんです。

 

なんでMonoベースじゃないとダメだったかっていうと、.NET FrameworkWindows上でしか動かないので。

 

C#っていうのは、そう、その、私最初Mono知らなくて、C#のアプリがiOSAndroidで動くってすごいびっくりしたんですよ。だって.NET Framework上じゃないと動かないんじゃないか、.NET FrameworkWindows上でしか動かない、

 

おかしい!

 

って思ったんです。

 

どうしたのかなー? って思ってたらMono、ここでMonoですよ!

 

あの、例えばAndroidアプリってしたにOSがいる、AndroidOSがあって、Dalvik VMがあって、その上でJavaのアプリが動いてる。Xamarin.Androidがどうしてるかって言うと、AndroidOSがあって、その上にMonoのVMが動いてます。で、C#のアプリが動きます。Dalvikもちょっと噛んでるらしいんですけど、まあそんな感じでMonoがあるからWindows以外でもC#が動きます。

 

で、4行で説明する流れです。

 

これすごい私がんばって4行で収めm

 

ほんとは3行がよかった!(今日一番の大声)

 

えっと、Monoの開発などをする会社……これXamarinじゃないです。最初Ximian(ジミアン)って言うんです。Ximianをナット……あの超すごい経営家のナットと、超すごいデベロッパーのミゲルがふたりで作ったんです。

 

これが、この会社が何したかっていうと、さっきのミゲルが作ったGNOMEとかMonoプロジェクトをなんか、推し進め、製品とか作る会社だったんですね。Ximianが作ったんです。

 

そしたら数年後、Ximianがほかの企業に買収されたんです。

 

まあ何回か買収されてるんですけど、二社目の時にMono開発チームが全員解雇されちゃったんです。

 

これやばくないですか? だってさっき中の人に聞いたんですけど、attachment社に買収されたらしいんですね。そしたらすぐにポーン! ってみんな……ミゲルもクビになっちゃったんですよ。

 

ミゲル激おこじゃないですか。

 

できればミゲルはMono続けたくて、Xamarin社を作ったんです。でも、あとから言うんですけど、解散されたMonoの開発者たちを集めて作った会社で、だから開発者ばっかりで、マーケティングチームとかセールスチームとか無かったらしいんですね。

 

で、すぐにあとからナットが参加して、会社として交渉したりとか、いろいろ形にした感じです。

 

Xamarin社は2016年にマイクロソフトとひとつになって今ここです。

 

……あと少しかな。大まかな流れ……大まかっていうかすごく長くなっちゃったんですけど。

 

まあ、さらっと言うと、さっきのミゲルとナットがXimianを作る。

 

Ximian社はオープンソースLinux向けデスクトップ環境であるGNOMWEや、MSの.NET Frameworkの互換実装のひとつであるMonoを開発するアメリカの企業。

 

で、ミゲルがMonoを発表……発表っていうかMono開発してて、これもともとOSSにするつもりだったんですけど、まあちょっと開発して、ついにできたんですね。Monoが。

 

だからOSSにするよー! バーン! って公開したわけです。

 

次にXimian社がNovell社に買収されます。

 

Novell社、いいやつです。

 

Novell社はXimianの名称と、開発プロジェクトをすべて存続させました。

 

ナットは途中でNovell社を辞めます。

 

あ、これは嫌になって辞めたんじゃなくて、さっき聞いたんですけど、旅行……あ、やっぱいいや。

 

それで、ここですよ。ここ。

 

Novell社がattachment社に買収されるんですね。

 

Novell社時代に開発した今のXamarin.iOSと、Mono for Android……今のXamarin for Androidもattachment社の所有物になるんです。これが後で響いてくるんですよ。

 

で、ライセンス周りの補足ここでやっておくと、Mono自体オープンソースGPLなんですけどMonoTouch、Mono for Androidは会社の著作物だったんですね。

 

そしたら翌週なんとMonoの開発チームが解散させられる! 

 

Monoチーム全員解雇なんですね。ミゲルも解雇!

 

で、理由はattachment社はMonoの将来を疑問視していたらしいんですね。当時は。だからGNOMEがほしかったんですかね。

 

だからMonoはいいよ。ポーイって、全員解雇。これ大規模なリストラだったんですね。

 

で、で! すごい怒涛なんですけど、その次の週、ミゲルはMono続けるためにXamarin社を立ち上げます。

 

Monoベースの製品を中心とする新しい会社を立ち上げたよーとか。iOSAndroid向け.NET互換環境を提供する商品をつくるよーとか。オープンソースのMonoの開発・サポートも続けるよ。

 

でも最初はすごい厳しかったんです。これ中の人のブログで読んだんですけど、なんかすごいスタートアップって大変だなって思いました。

 

解雇された翌週にすぐ立ち上がったXamarin社には、メンバーはすぐには集まらないし、集まっても彼らに十分な給料を支払えるお金が生まれる保証が無かった。そのためjoinしないことに決めた人もいた。主に家庭持ちの人たちとか。

 

なにより権利関係が一番問題だった。

 

さっきのライセンス周りがここで影響してきて、Novell社時代に開発したMonoTouchと、Mono for Androidはattachment社に著作権が残ってて、これをフルスクラッチする、再実装するところからはじめなければいけなかった。

 

これやばい! どうしよう! ってさっきの超すごいデベロッパーのミゲルが、旅行中のナットに相談したところ、なんとナットがCEOとしてXamarin社にくることになった。

 

ミゲルとナットのコンビ再結成なんですね。

 

最初Ximianをふたりで作りましたが、またコンビ再結成で、ナットの交渉能力と経営手腕はすごいものでCEO就任後、瞬く間2か月間のうちに、めんどくさかった権利関係の問題を解決し、資金調達もこなした。ナットはその後も矢継ぎ早に経営策を立てていって、当時存在しなかったマーケティングチームなど設立。で、これでXamarin社が今の私たちの知るXamarinを開発して、マイクロソフトとパートナーシップ結んで、今ここなんですけど、買収される。

 

あーもう時間がない。

 

私が、一番、今回一番言いたかったのは、私ミゲルとナットが大好きなんですけど、ここですここ、この出来事、こここここここここ(モニター見ながら)

 

ミゲル、あ、ふたりは5歳差なんです。ミゲルが紹介受けてマイクロソフトに採用面接を受けに行ったんですね。なんかIEのチームに紹介受けたらしくて。でも結局大学の学位の不足により合衆国就労ビザを取得することができなかった。私ビザよくわからないんですけど、まあこなかったらしい。

 

で、ちょうどそのとき、当時、マイクロソフトインターンしていたナットと出会う。出会いはマイクロソフト社らしいんですよ。

 

なんかすごい萌えたんです。

 

えっとそんな感じです。これはブログとして公開しようと思うんですね。

 

いまちょうど中の人がいらっしゃったので、チェックしてもらって正しかったら公開しようと思ってるんです。あ、ちなみにこのブログのURLは(aka.ms/chomado)ここに公開する予定……たぶん今夜くらいにはさっきの渾身の、徹夜で書いたんです。正直。これを公開します。

 

えっと、以上です。

 

ありがとうございます。

 

====================

 

 

以上です。

 

ストリーミングとして配信されていた音声が残念だったため、文字起こしを始めようと思ったのですが、きれいな音声の動画(

https://www.youtube.com/channel/UCtmSdXmQWhBIiLuq3Xo3hLQ

)が公開されたということで、お役目ごめん、これにて文字起こしを終わろうと思います。

田淵さん文字起こし@20160507

JXUGの素晴らしいセッションが行われました。

私も参加してきたのですが、配信されている映像・動画の調子が悪そうだったため、録音しておいた音源の文字起こしをチマチマと上げていこうと思います(大丈夫ですよね・・・?)。

とりあえず今回は田淵さん分です。

私自身ガッツリ開発者じゃないので専門用語とか聞き間違えているかもしれません。

(音声を公開していいのであれば、どこかに上げちゃいますがどうしましょう・・・?(休憩後などの2分くらい録音し忘れていたりしますが))。


~~田淵さんパート~~


====================


すごいですね。
久しぶりに満席の状態を見ました。よろしくお願いします。


最初にですね。まず会場について少しだけご案内いたします。
まずマイクロソフトさんの会場をお借りしている関係で、お飲み物をご自由にとっていただけるようになってます。
(冷えたペットボトル数種類&紙コップ式の自動販売機が全て無料でした。すごい)


結構、今日ですね長丁場になりまして、時間ガンガン押していくと思います。
……押していかないようにタイムキーパーさん、つけてありますので皆さん一所懸命ついてきていただければと思います。
じゃあ始めますね。よろしくお願いいたします。


自己紹介ですね。エクセルソフトの田淵義人と申します。
一応JXUG、ジャパンザマリンユーザーグループ、主催しておりまして、Xamarinのコミュニティエバンジェリストを名乗ろうかなと思っております。
正式なエバンジェリストは、あとでご登壇いただきます。
2016年の4月にMicrosoft MVP Visual Studio and Development Technologieを、受賞させていただきました。


基本は営業なんですけども、開発もちょっとできる営業というのを目指して頑張っております。
SNSの活動もやっています(https://twitter.com/ytabuchi)。是非フォローなりしていただけると嬉しいです。
ブログですね(http://ytabuchi.hatenablog.com/)Xamarin日本語情報というブログをやっていまして、こちらもXamarinの情報ばっかり、いま320件くらいエントリー溜まりましたので、ぜひ検索していただけると嬉しいです。


一 応ストリーミングでこの録画がすぐ公開されます。登壇者のみなさんたくさんいらっしゃるんですけれども、conpassのページ (https://twitter.com/ytabuchi)に資料を全部アップしていただくことになっていますので、資料見たいという方はご案内しま す。

あと連載とか執筆とかちょこちょこやっておりまして、Build Insider(http://www.buildinsider.net/mobile/xamarintips)ですとか、
マイナビニュース(http://news.mynavi.jp/series/xamarin/001/)とかで記事を書かせてもらっています。


もしかするとXamarin本体のほうも書くかもしれないんですけど、もし決まったらまたご案内したいなあと思っております。


まずXamarinですよね。なんでXamarinなの? っていうことなんですけれども、VisualStudioに無料でついてくるようになりました。
す ごくエキサイティングな発表で、すごくみなさんびっくりされたんじゃないかなと思いますけれども、ただ無料でついてくると言いましても、MSDN Subscriberの人だけがXamarin iOSが使えるらしいと、VSpro単体のひとはXamarin iOSは使えない。
しかもWindows版は45GBくらいインストールに容量が必要だったりして、なかなかハードルが高いというような感じですね。


ま、ツンデレなわけですよ。


ただもう私どもが使い始めて2年くらい経つんですけれども、ツンの部分はたいぶ先行者たちが潰してきたと思っていますので、みなさんはこれからデレの部分を味わっていただきたいなというふうに思うわけです。


ただまあXamarin.Formsなんかは若いプロジェクトなので人柱がまだまだ必要だと思うんです。
なので是非、人柱になっていただければなあという風に考えております。


Xamarinのいいところはこれから登壇者の方が紹介してくれると思いますが、簡単にC#で書けて、LINQ、async/awaitが使えて、XAMLが使えるってのはまあ、いいですよね。
windowsの開発者の方は、WPFとかの開発手法がそのまま使えますよと。


逆にiOS、アンドロイド、ネイティブの開発者の方々は、APIが同じ名前でだいたい用意されていますので見慣れたAPIがそのまま使えるよ、というような利点があります。
さらに、Xamarin.Macというのもありまして、Macのアプリも作れますので、是非忘れないでほしいなと思います。


(モニターを見ながら)まあC#なんで、こういう感じの素敵なコードでXMLを引っ張ってきて、
シリアライズして、そのままLINQでフィルタしてみたいのが、さっくりと書けるわけですよね。
非常にC#の利点が活きてる感じのコードなんじゃないかなと思います。


ネイティブで書く場合にも、ネイティブのAPI、CoreMotionとか、Foundationとか使ったりした、
まあこれCMMotionManagerなんでセンサーですね。Accelerometerにセンサーを引っ張ってくるコードなんですけど、そのイベントをデータエラーでそのままラムダ式で書いて、みたいなこともできるようになっているわけです。


Android の場合も同様にクリックイベントをそのままラムダ式でかけたり、あとは同じような感じですね。FindViewIDでオブジェクト引っ張ってきて、みたい な見慣れた感じのコードをC#のいいところだけとって書けるといったところが非常にいい利点ではないかなあと思います。


さらに、Evolve2016でいろんなのが発表されました。
ついにXamain.FormsにPreviewerができましたということで、初めてXamarinを知った方は、
「え? そんなの今までなかったの?」って思うのかもしれないんですけど、


無かったんですね。


みんな"エアXAML"で書いて、想像しながら書いて、ビルドしてはじめてXAMLがエラーを吐くといった状況になって、泣く泣くもう一回調べて……といったふうにやっていたわけです。それが無くなるということですね。


あとWorkbooksっていう非常に変なのができまして、コードと仕様書みたいなのを一緒に書いて、それをマークダウンで保存できる、で、しかもそれが動 くという非常に変なのがでました。これもリンクをあとで見ていただくと(http://qiita.com/amay077/items /11255f6bafa53f1dd5d1)、それを書いていただいたエントリーがありますので、見てみてください。


あとiOS Simulator for WindowswindowsiOSのシミュレーターが動きます。ですが、ビルドはMacが必要なので必ずwindowsで開発がしたいという方は、どうしてもMacは必須ということになります。


“JXUG”はXamarin専用の勉強会です。最低3か月に一回ぐらい開催しておりますので、是非今回ご興味をもっていただけたら継続して来ていただけると非常にうれしく思います。


今日最後まで聞くとわかるんですけど、非常に濃いです。
すごい方たちばかり登壇しますので、非常に面白い話が聞けるんじゃないかなと思います。


今日はたくさんスタッフの方に参加していただいたんですけど、スタッフの方も募集しておりますので是非、運営で入っていただける方も募集しております。


あと今回、Xamarinを個人じゃなく、会社でも使いたいなと思ってる方いらっしゃいますか?
あんまり多くないですか? あんまり多くないですね。


個人の方は完全無料なのでガンガン遊んでください。会社で使いたいなと思っている方は、モニターの右側がすでに開発ができる会社さんです(フェンリル株式会社・ソニーデジタルネットワークアプリケーシ ョン株式会社・株式会社フロッグポッド・株式会社クレスコ)。
事例とかは左に載せてあります(エクセルソフト事例・NHK紅白・LifeBear)。


LifeBearは手帳のアプリで、これはいまXamarinで頑張って作りなおしていますのでリリースされたらJXUGにも出ていただこうかなと考えております。


あとエクセルソフトはXamarinの代理店をしておりましたので、Visual Studio MSDNとか買いたい方はぜひご連絡いただけると嬉しいです。


====================


以上です。


このあとXmarinの中の人のご紹介と、Previewerの説明があったのですが、動画の調子がよさそうだったので割愛させていただきます。


次回、ちょまどさんの文字起こしをさせていただきます。