2016 + 2017 EP (技術編)

2016年振り返り

2016年もいよいよ最後の1日となりました。今年は実にさまざまな物事に振り回された1年でしたが、何とかわたし1人の実力で乗り切ることが出来ました。自分自身に感謝を述べるとともに、来年も気を引き締め、誰に何を恥じることもないよう誠心誠意筋を通して適度にがんばっていこうと思います。

今年はややランダムにアウトプットを出してきた1年だったと思うので、いろいろ引っ張り出しつつ主だったものを振り返ってみます。

.NET Platform Standard日本語訳

.NET Coreは標準的なAPIを提供するんじゃなかったの? PCLプロファイルが増えすぎてワケわからなくなってんだけどどうするの? みたいなところを解決するための方法として導入された仕様でしたね。今年はこの話がいろんなところで地味に出てきたので、.NET技術者クラスタでは関心の高いネタのひとつだったと思います。

Android Studio 2.0のInstant Runの仕組みを解読する

DroidKaigi2016でしゃべったネタ。信じがたいことに、コレがまだ2016年の話でした。DroidKaigi、初参加でしゃべる側でしたが、他のセッションも面白く、たいへん充実した2日間でした。Instant Runでしゃべることになったのは、もちろんXamarin.Androidのfast deploymentを見てきたからイケると思って応募したためなのですが、Android開発者クラスタには新しいトピックだったこともあって、また次世代の話としてinstant programmingのストーリーまで用意していったこともあって、今年一番完成度の高いセッションが出来たのではないかと思います。そしてセッションよりまとめ解説のほうが本気度が高いです。わたしの技術情報まとめとしてはここ数年で一番の出来だと思います(ワインっぽくなってきた)。この頃から、技術セッションを事前の長文まとめをもとに用意する、という流れを作るようになりました。

長かったこれまでと、分からないけど楽しみなこれから

ご存知MicrosoftによるXamarin買収の発表を受けて書いたポエムです。qiitaに書けばよかったかしら。消されないはずだし。この頃から「所在不明で海外の会社で仕事する謎の生き方」からの引退を意識して、同じことをしたい人たちに道筋を残しておかなくては、みたいなことを考えるようになりました(概ね日本の会社ではたらくより自己実現しやすいと思うので)。日本ではXamarin最後の日と合わせてポエム2本書いたし、台湾でもXamarinコミュニティ第1回meetupでその話をしてきました。

Xamarin.Android SDK解説 @ 技術書典(1)

6月には技術書典が開催されました。Xamarin関係の原稿を書けという指令があったところだったので、4月のBuildで告知されEvolveで公開されたオープンソースXamarin platformのうちXamarin.Android SDKについて、そこそこ詳しく踏み込んだ話を書きました。30ページくらいでだいぶパワーを使ったのですが、正直なところ、踏み込み度合いで考えると、まだまだ雑な部分が多い感じです。ともあれ、これをもとに、7月にはYAP(achimon)Cで、8月には台湾のCommunity Open Campで、いずれもXamarin.Android SDKについてしゃべりました。来年4月には技術書典2もありますし、Xamarin本もまとめたいと思っています(Androidの話は書かないかもしれません)。技術書典自体にもスタッフとして参加していたのですが、来場者も1500人ほどで、イベントとして大成功でした。

language server protocolについて(前編)

2016年はVisual Studio Codeが大躍進した1年でした。単なるエディタの実装というより、オープンなIDE技術の標準仕様を策定して「みんな」を幸せにしようという本家MSの開発者の姿勢は素晴らしいですね。language serverはそのオープン仕様の主要な例ですが、IDEのコードエディタの仕組みって、なかなか理解してもらえない難しいトピックなんですよね。なので、この文章はわたしらしくもなく「わかりやすさ」を第一にまとめたものです。台湾のイベントの後でVSCodeの話をしていたスピーカーに見せたら、これは他で読めない内容だから是非とも英語でまとめてくれ、と言われて、これは成功した!と思ったものでした。いや英語化できていませんががが。あと前編と言いつつ後編が書きかけのままなのですが…そのうち…(汗

.NET Fringe Japan 2016が見せた「オープンな.NET」という世界

今年わたしが主催側で開催したイベントは多分これしかないのですが、オープンソースを主軸にさまざまな.NET開発のセッションを集めることができて、大成功だったと思います。わたしは9月頃はけっこう他でテンパっていてセッション準備がおろそかになってしまった側面があるのですが、あのセッションの後、Xamarinのソースをカジュアルに見てくれる人が多くなったし、今年はちらちらとPRを出してくれる人も出てきたし、ある程度は種を蒔けたのではないかと思います。monoやXamarinに恒常的にcontributeしてくれるような後継者は出てきませんでしたが、来年もこりずに新しく挑戦してくれる人たちを待ちたいと思います。

vscode-language-review

VSCodeの技術解説を書いておきながら、アドインのひとつも書いたことがないというのは、ちょっと忸怩たるものがあり、冬コミ向けの原稿執筆で使われることもあろうと思って、ちまちまとVSCodeアドイン開発…というかTypeScript開発全般…を勉強しながらアドインを作りました。動くようになってくると面白かったです。今はRe:VIEW原稿を書くのに使っています。10月までは技術セッションでしゃべりすぎたので、今年書いたコードは少なく(まあもともと多くありませんが)、完成したのはこれくらいでしょうか。VSCodeアドインはもうひとつ作りたいネタがあるのですが、当面は重厚な監訳タスクが邪魔をしていて、それに着手できるまではしばらくかかりそうです。

AndroidでJavaCPPを使用する in なないろAndroid @ C91

(公表順ではありませんが、書いた順としてはこれなので…)唐突にJava?と思われそうですが、5年前にまとめたBridJ以来のC++相互運用フレームワークの調べ物のJava編の流れだと理解してもらえればいいです。100% Javaの話を書いていますが、当然ながら.NET方面の実装についても関心があるわけです。ただ、現状のCppSharpが最適解だとは思えないので、まずJava方面を見て歴史に学ぶべきだと思っています。同じネタでDroidKaigi 2017トークに応募したのですが、さすがに周縁トピック過ぎて不採用でした…。次はJNAかな?

Visual Studio for Macの.NET Coreサポートの実装について

Connect();に向けたXamarinの大きなアップデートで発表されたVS for Mac、その中で特に面白かったdebug protocolの取り込みの話を中心に書きました(.NET Coreプロジェクトのサポートについて調べていたらそこに行き着いた)。これも動機付けとしてはlanguage server protocolのネタと重複する部分が多いです。最後のまとめといい、こんなに「MSの手先」みたいな雰囲気の記事を書くつもりはなかったのですが(今年日本MSの中の人が書いた技術記事の中でも、トップクラスの前向きかつマトモなMS推し記事だと思いませんか?)、まあたまにはいいでしょう。

Xamarin.Formsに新しいプラットフォームを追加する: 前哨戦)

Xamarin Advent Calendarでは、余人の追随を許さないネタを書くつもりでした。さんざん手垢の付いたXamarin.Formsを選びつつ、わたしはただの消費者にすぎないおまいらとは違う!みたいな気持ちで(!?)、新しいプラットフォームのサポートなら誰もやるまいと思ってソースをいじり始めたのでしたが、いかんせん12月は海外渡航業務が重なって週末が完全につぶれるという憂き目にあい、すっかり不完全燃焼で終わってしまいました(もちろん未完成でも現状有姿で当日に出すつもりでしたが)。しかもTizenで先鞭をつけられちゃうしィ。Xwtでまともに動くようになるまでは、まだまだかかりそうです。

…とまあ2016年はこんな感じです。

2017年の予定

いつもなら年末年始はのんびり過ごしつつコードを書いたり長大な記事を書いたりしているところなのですが、今年はいつもより少々慌ただしい感じになりそうです。とりあえず明日を目標に、以下の3つについて書く予定です。また来年もよろしくお願いします。

  • Raspberry Pi etc.で楽器を作ろうハッカソン
  • 技術書典2でXamarin本を出そう
  • Xamarin.Forms訳本勉強会について