日経ソフトウエア 2015年3月号に寄稿しました

2015年2月20日金曜日

Roslynのホームとしてgithubへの移行(2015年1月11日)後のものが掲載されたおそらく日本初の雑誌です*1。
この号からKindle版にも付録小冊子の内容が付くようになったとのことで、好評を博しているようです。

2015/01/24発売で、そろそろ1ヶ月経ちます。
週明けには次の号が出るので、せめて次の号が出る前に告知記事をば><

執筆したのは第2特集の「プログラマ必見! 2015年ヒット技術予測ランキング」です。

概要:
2014年はプログラミングに関連する様々な新製品や新技術が登場しました。Java 8や新言語Swiftなどはその一例です。では、2015年はどんな技術・製品が登場し、注目を集めるのでしょうか。編集部が考える今年ヒットしそうな技術・製品を、ランキングを交えて紹介します。

ネタの選定に偏りを感じるとか、「なんでこれ入ってないの」とか「これもう流行ってるじゃん、いまさら入れるまでもないじゃん」とか様々な突っ込みが自然と出てくるようなテーマですが、年明け恒例ということでひとつ。




この特集記事で、私は
  • Visual Studio 2015を使ったAndroidなどのC++開発
  • ASP.NET 5
  • Blueprintを活用したUnreal Engine 4でのゲーム開発
  • 64-bit ARM
  • 携帯電話端末以外にも広がるFirefox OS(OpenWebBoard、Matchstick、FxOS TVなど)
  • Emscripten
  • Crosswalk
  • Docker
について計14.2ページ書きました。他に日経ソフトウエア誌の編集者さんによるC# 6.0とRustのトピックが掲載されています。

このエントリでは、私が書いたエリアについて簡単な紹介と補足を記します。

Visual Studio 2015を使ったAndroidなどのC++開発

2014年の暮れにPreview版がリリースされたVisual Studio 2015に関する記事です(年が明けてCTP 5も出ました)。
Android NDK支援機能が結構筋良かったので年末にかけて実用一歩前ぐらいまで使っていた結果をまとめた内容です。
Android NDK向けのIDEとして、他環境との比較を含めて書きました。

ここでの内容と一部重複しつつ、更に幅広いAndroid NDKの最新事情(NDK r10含め)をまとめた記事を実は昨年の冬コミ向けの同人誌に寄稿しました。 甘味アンドロイドパーク - TechBooster - BOOTH(同人誌通販・ダウンロード) から電子書籍版を購入できるようなので、興味のある方はどうぞ!

ASP.NET 5

2014年の後半にalpha版がリリースされたASP.NET 5(当初はvNextと呼ばれていた)に関する記事です。
私は以前からMono+ASP.NET+ServiceStackなどでひっそり社内向けサービスを作っていたのですが、ASP.NET 5はMonoサポートやCore CLRなど、かなり可能性を感じる部分が多いです。そのあたりが伝わるように書いたつもりです。
何より、公式のDockerイメージ が用意されている点がやはり最高にクールですね。

Blueprintを活用したUnreal Engine 4でのゲーム開発

2014年のGDCでサブスクリプションモデル提供開始が発表されたのをきっかけにじわじわと爆発している(混乱)感のあるUnreal Engine 4に関する記事です。
ハイエンド3DゲームIDEとしての優秀さに加えてバージョンアップ速度が異常に速い点とソースコードへのフルアクセスが認められていて一定範囲をカスタムできるところが最高です。
個人的には2014年10月下旬に発表されてプレビュー版が提供されている Mono for Unreal Engine に感じる可能性がとても大きかったので、年末にかけてホットさを増していったトピックでした。
今年のGDCでも期待が高まりますね。
記事中ではビジュアルスクリプティング環境であるBlueprintの面白さと可能性の一端を紹介すると共に、UE4自体が銀の弾丸となるわけでもない旨を挙げました。続きは自分の手でまず使ってみようね感の構成を心がけましたが成功しているかは今ひとつ自信がありません。

64-bit ARM

メインメモリ容量がせいぜい2-3GBの現行携帯端末でも64-bit ARMの意味ってあるの?→あるよ。という記事です。
主にARMv8で拡張されたレジスタによって通常のCプログラムでも恩恵を受ける可能性がある点と、拡張命令セットである暗号化支援機能に関するトピックを紹介しました。
2015年2月からiOS向けのバイナリsubmitで64-bitバイナリが必須化されるという結構大きな転換もありましたね。
本文中で厳密な記述を避けた内容として、iOSの構造に関するものがあります。32-bit onlyアプリが存在するとシステム上へ32-bitと64-bitの両方のランタイムライブラリをロードする必要があって無駄にメモリを食う(よって、一定以上先の時点で32-bit onlyアプリは当該アプリの消費メモリ以上にシステムへのお荷物となる)というトピックなのですが、さすがに細かすぎました。
あと、きっとAndroidで64-bitバイナリが強制される日は来ないので、さほど64-bit化の恩恵がないエリアのアプリ開発者はのんびり構えておいて良いのではないでしょうか。

携帯電話端末以外にも広がるFirefox OS(OpenWebBoard、Matchstick、FxOS TVなど)

2014年12月25日にFx0が発売された、というタイミングでしたが、書いたのは携帯電話以外にも広がるFxOSという話です。
個人的には今もFxOSが携帯電話向けOSとして、とりわけ先進国でのシェアを獲得するシナリオはだいぶ薄いと考えています。携帯端末面では$25-$50がメイン、$100あたりがサブ(ハイエンド)の発展途上国向けという認識です。
実際の国ごと出荷・販売台数情報があまり出ていないので、この読み自体は1年ぐらい前に立てた範囲からあまり進歩していないのですが(どなたか良い情報をお持ちの方は教えて下さい)。
丁度原稿執筆中にパナソニックのFxOS TVが発表されて、「うむ、この方向だな」という認識が深まったりもしました。
しかしFxOSベースのメディアプレイヤー(というかメディアハブ)の Matchstick には本当に可能性感じますね。JSからいい感じに周辺機能を触れるAPIなど、よい未来が近づいているのを感じます。
リリースされたら1台欲しいです(ニッコリ

Emscripten

C/C++コードをそいやぁとJavaScriptへ変換する例のアレです。
登場当初はMozilla&Unreal Engineネタの色が濃かったのですが、最近流行りつつあるのを改めて感じたので、UnrealEngineが5日間でasm.js化できたと聞いた俺たちは… のスライドの元ネタになった情報を再構成して紹介記事の形にしました。
EmscriptenでJS化したコードを眺めてみるとほんと感心しますよ。
なお、紙面に掲載されませんでしたが、最近一番ウケたEmscripten芸は Redis をWebブラウザ上で実行する In-browser Redis でした。

Crosswalk

少し変わり種の可能性を感じるものとして、高機能Android向けWebViewのCrosswalkを挙げました。
AndroidのWebViewが抱えるバージョンやベンダーごとの差異を吸収する基盤を利用することで、Webベースの技術(Cordovaなど)を使ったクロスプラットフォームアプリ開発系の領域を広げようという流れのものです。
類似のアプローチとしては Chromium WebView があります。CrosswalkはIntel肝入りのプロジェクトという点、アップデート速度が一定はコミットされそうな点、WebGLやWebRTCといった本家Chromium系WebViewでもサポートの怪しい機能シリーズを強化しているぶっ飛んでいる点が面白いところです。
何を間違ったか、x86版ではSIMD命令をJavaScriptから呼べるように拡張機能が組み込まれています。Intel系ゆえのロックさで、現状の実用性はともかくアプローチの筋としてユニークなので紙面でも紹介しました。

Docker

すでに未来へ向かってテイクオフ!!している感もあるDockerですが、去年1年間の環境変化が激しかったことに加えて日経ソフトウエア誌の想定読者層ではまだ馴染みが薄い方も多いかも、ということでおさらいの意も込めて書きました。
ここではポータブルな環境セット作成の例として@futoaseさんのGrowthForecastイメージを紹介しました。
PerlbrewはほんとPerl文化圏の人以外には苦痛度高いと思うんですよ(小声)
Docker Hubの半端ない便利さも気持ち伝わるように書いたつもりです。

以上、いろいろ書きました。

もちろん私の執筆した記事以外にも興味深い記事が目白押しなので、よければお買い求め下さい(宣伝)。

*1: 締切ギリギリまで編集者さんにお付き合い頂いてしまった...

日経ソフトウエア 2015年 03月号

日経BP社 (2015-01-24)

0 件のコメント:

コメントを投稿