読者です 読者をやめる 読者になる 読者になる

2012年振り返り

さて、2012年もあと2時間ちょいとなったあたりで振り返りをまとめたいと思います。

個人的には、今年は海外で過ごしていた時間が割と長く(と言っても全部で3ヶ月もありませんが)、その間は割と仕事以外でほとんどコードを書きませんでした。

今年のはじめの2ヶ月くらいは、今や素晴らしい理由で放棄されることになったmono-reactiveの実装に費やしていました。Rx1しか無かった頃にfeature completeまで持っていくのは、まあやはり相当大変だったので(冬休みの大半をコーディングで消化していたので)、同じペースでRx2を実装するというのはちょっとそこまで思い入れ無いし無理だなあという状態のところでOSS化されたので、実にありがたかったところです。

Rx以外では、今年はmonodevelopのアドインを作るという個人的には新しい試みを始めました。仕事がほぼプロプラエタリ製品のプログラムだけになってしまったので、何とかオープンソースの領域で出来ることを見つけたかったということはあります。monodroidの仕事でちょっといじっていたので、手を出せる程度に知識がついたということもあります。最初の自作アドインの成果としては、既存のgitアドインにちょっと手を加えてMercurialサポートのアドインを追加したmonodevelop-mercurialです(詳しいことは以前に書いたのでそれを見てください)。monodevelopのアドインについて勉強できただけでなく、hgの基本はわかるようになりましたし(個人的にはgitで満足していて全く思い入れがないので他人のモジュールをいじるとき以外全く使っていないです)、必要な機能を探したり追加を試みるためにpythonで書かれた本体のソースを眺めたりもしたので、割と勉強になったのではないかなあと思います。

今は2つ目のアドインとして地味にtypescriptサポートを実装しようとしているのですが、これもどちらかと言えば言語バインディングの勉強のようなノリでやっている側面が強いです(javascriptをいじることが滅多に無いので、今のところtypescriptにはほぼ思い入れがないし大して魅力も感じていないです)。書いているコードも実験的なものが多く、たとえばJurassicを使ってJavascriptで書かれたtypescriptのコード(typescript本体をコンパイルしたJSコード)のAPIを呼び出してみたり、それを実現するためにtsc本体のソースを読んでC#スタブコード生成用に書き換えたりとかしていて、これもこれでメタプログラミング遊びとしてはなかなか面白いです(tsを「使いたい」という気持ちはほとんど無いので、実際の目標?に向けた歩みは遅いです)。ちなみにコレ、前回のエントリではフルにjurassicで動かそうとしていましたが、どうもコードジェネレータにバグがあって個人的には追い切れない(何日も使うほどの動機がない)し別途送ったパッチにも現状で反応がないので、今はそっちは放置してnode.jsを走らせて動かしています。

音楽ソフトまわりでも書きたいアプリはいろいろあるのですが(特に今年はHTML5とWeb Audio APIまわりで楽しい作品がいろいろ出てきましたね)、この辺は来年時間が取れたらなあと思います。

mono方面では、個人的には割と書きたいコードが全然書けずにストレスが溜まった1年でもあったのですが(!)、monodroidはいろいろ目覚しい新機能(ビジュアルデザイナーとか)や地味な新機能(Javaバインディングとか)を追加して、ユーザビリティと安定性がどんどん良くなってきたと思います。monotouchもどんどん安定してユーザー層が拡大してきましたね。これらの両製品は、来年も刺激的な新バージョンが公開されることが期待できそうです。

あとXNAのdisconもあってかMonoGameの知名度が格段に上がりましたね。うちのチームにもMonoGame方面から流れてきたメンバーが何人かいます。

monodevelopも3.0系列が公開されて、mcsが緊密に統合されたNRefactoryに裏付けられたC#エディタ アドインによる、強力なコーディング環境が整った年になったと思います(2.x系列ではまだ参照の探索が不完全だったりするような問題が残っていたので)。Linux版がともすれば置き去りにされつつある程度にWindows/Mac版の改良が加えられた1年でもありました(個人的には全くありがたみがないところですが…)。monodevelopは今monoチームの開発するコードの中で一番ホットに改良が加えられている部分なので、来年も期待できるのではないでしょうか。

mono本体は、主にC# 5.0のサポートとランタイム(特にGCまわり)の改良が大半を占めた1年になったと思います。わたしとしてはrxが補助的な位置付けでここに入ると考えています(いました)が、それもめでたく別の流れとして実現ました(モバイル方面がまだなわけですが、それも来年入ります)。

とまあそんなわけで、2012年はXamarinが拡大し製品が成熟した1年になったと思います。来年も楽しみにしてください。

あとうちで仕事したい人がいたら、話を通しますので、是非相談してもらえればと思いますw 特に渡米して(SFやボストンで)仕事したい人にはビザサポートもあるので、きっと良いと思います。わたしは行きませんがw