Xummit、Xamarin at BUILD、Roslyn、そして.NET Foundation、すまべん関東

Xummit

どうも、先々週にXummitと称する全社ミーティングに参加してからすっかり直す気のない時差ぼけにやられていますが、辛うじて生きているatsushienoです。入った時は15人くらいしかいなかったのが、いつの間にか150人とかになっててもう覚えきれん…

Xamarinは、普段は100人くらいの米国メンバーと、50人くらいの米国外メンバーで(現状です。2〜3ヶ月前までは100人くらいだったので、あんまし参考になる数字じゃないです)仕事をしていて、米国メンバーも約半分がボストン、約半分がサンフランシスコ、残りが米国各地ということで、全員が顔を合わせる機会は、この全社ミーティングと自社イベントであるところのXamarin Evolve(今年も10月にやります)しかないわけです。われわれ米国オフィス外メンバーは自宅で仕事するわけですね。そんなわけで、全社ミーティングは主に顔合わせとミーティングの場となります。

今年は特に会社の成長が著しかったこともあって、社内のチームを紹介する場でもありました。それでセールスチームはこんなメンバーでこんな仕事をしているよ、とか、マーケティングチームはこんなことやってるよ、みたいな話が、全社員向けになされる(!)わけです。でフツーに考えたらつまらんわけですが、これが割と面白いんですね。日本だとちょっと想像できないですが、自分たちのチームメンバーをとにかく褒める。全社向けセッションだけど自分のチームメンバーにひたすらthank youって言っている。いいモチベーション作りになっているんだと思います。

Xamarin @ //Build

さてさて、先週はMicrosoftBUILDカンファレンスでいろいろ話題を提供した1週間でした。Xamarinの中の人としては、特にMiguelが2日目に行ったセッションが大盛況でナニヨリでした。channel9に動画が公開されているので、見ていないという人はこちらからどうぞ。割とがっつりライブコーディングしていて、参考になると思います。しれっとVS版iOS designerとか見せたりしたりな(!)

Go Mobile with C# and Xamarin | Build 2014 | Channel 9

このBUILDにおいては、Microsoftからいくつか重要なアナウンスメントやリリースが発表されたわけですが、特にMono/Xamarin方面で大きい話題が2つありました。(他の話題、たとえばWindows 8.1とかTypeScript 1.0リリースとかAzureまわりは関係ないのでパス)

opensourced Roslyn

1つはRoslynのオープンソース公開です。<del>vaporwareからの</del>素晴らしい進歩ですね。わたしは見ていなかったのですが、BUILDではリアルタイムでcodeplexのプロジェクトを公開していたそうで、現場の興奮が想像できます。MonoDevelopでは既にNRefactoryを使用していて、そのCSharpサポートではMono.CSharpが利用されていて、われわれのC#コンパイラは最初からC#で書かれていて、完成度は既にかなり高く、C#に関してはNRefactoryとRoslynの機能は(少なくとも直前のバージョンまででは)ほぼ同様…といった状況から、MonoDevelopがRoslynに切り替えることで得られるメリットはあまり無いと思います。ですが、MonoDevelopハカーはRoslynの公開を歓迎し、NRefactoryベースのコードを(一部かもしれませんが)Roslynに切り替えるつもりであることを公表しています。まあ、NRefactoryの開発はそれなりに大変なので、ほぼ目的のかぶるコードを重複して開発する意味はあまり無いということでしょう。

Roslynはコンパイラ インフラストラクチャであって、われわれとしては同様にC#コンパイラそのもの(mcs)も置き換えることが出来るとは言えそうですが、聞くところによるとRoslynベースのコンパイラはまだコンパイル速度がかなり遅いそうなので、少なくともまだしばらくは置き換えられなそうです。

まあそんなわけで、個人的にRoslynが公開されたことで変わる部分はそんなに無いと認識しているのですが、ひとつ大きな可能性が広がったのはVB.netですね(!)。これまで完全にクローズドで開発されていて、Monoでも開発が止まっていたものが、これでVBコードの利用可能性が広がっただけでなく、language serviceまで公開されたことで、MonoDevelopのプロジェクトとして高度な補完機能やリファクタリング機能も実現できることになるんじゃないかと期待できます。まあこれは個人の感想であって、MonoコミュニティがVBを発展させるかどうかは分かりません(個人的にも使っていないので特にVBサポートを発展させたいという意思はありません)。

.NET Foundation

さて、もうひとつの重要な発表は、.NET Foundationの公開です。.NETベースのオープンソース開発のコミュニティの基盤となるべく設立されたようです。MicrosoftとXamarinが主にコードを提供していますね。現状ではMicrosoftが大量にコードを提供していると言えるでしょう。とはいえ、割と小規模なライブラリも含まれているようですし、.NETのオープンソースコードを公開していれば、普通に参加できるんじゃないでしょうかね(!) 個人の参加を受け付けているかはわかりませんが、詳しくは連絡してくれと書いてあるので、そうしてみるといいと思います。

MiguelはNovell時代からしばしばMonoのfoundationみたいなものが必要だと言っていたのですが、.NETベースのオープンソースを支援するための基盤として設立された(であろう)これは、それに近い存在と言えるかもしれません(まあ、Monoのfoundationとしては、うちの社外でMonoの基盤を積極的に開発する、GNOME FoundationにおけるSunやRed Hatみたいなプレイヤーを念頭に置いていたんじゃないかとは思いますが)。

ともあれ、Microsoftがさらにオープンソースにコミットしてきていることは間違いなく、今後も.NETはオープンな方向にシフトしていくと期待して良さそうです。あとはもっとLinux/BSD方面のプレイヤーが出てくればなあと個人的に思いますが(Xamarinにはあんまし期待してない)、難しいところかも。

すまべん関東「Xamarin 2.0であそぼう!」

さてそんなわけでここ2週間ばかりは謎の熱狂と時差ぼけで朦朧と過ごしていたわけですが、そろそろ意識を取り戻して4月は日本でばたばたと過ごそうと思います(今年そろそろ5週間目くらい)。

まず、4/19(土)にすまべん関東「Xamarin 2.0であそぼう!」というイベントがありまして、そこでXamarin Studioについて1コマぶんセッションを担当します。XSの開発にはタッチしていないのにXSについて語る…というのは昨年にも台湾のCOSCUP 2013でやらかしてきたわけですが、今回はVSから離れられないWindows厨の皆さん向けの内容にしようと思っています。

以前に書いてきた勉強会資料やC#エディタの解説なども話の中に取り込みますが、コードエディタとは何ぞや?的な講学的アプローチは措いておいて、機能紹介などを中心にしようと思います。

まだ残席はありそうなので、興味のある方はぜひおいで下さい。あめいさん @amay077 のReactiveUIのセッションとか、伊勢さん @iseebi のMvvmCrossのセッションとか、だいぶ最先端のトピックが並んでいて、この密度のイベントはこれからもなかなか無いんじゃないかと思います。普段アプリケーション開発に着手できずにこの辺を眺めているだけで終わっているわたしとしても、とても楽しみです。

後は、あまり関係ないですが、monoコミュニティの友人がしゃべりに来るUnite Japan 2014にもちょろっと顔を出すつもりです。普通に仕事日なので、2日間の参加は厳しく、火曜だけになると思いますが、万が一見かけたら適当に声かけてみて下さい。