ASP.NET 5とDNXの1.0.0-beta8がリリースされてた

2015年10月22日木曜日

2週間ほど前に最近のASP.NET 5について調べたメモ(2015Q4)を書いたタイミングではまだ出ていなかったASP.NET 5およびDNXのbeta8がリリースされていました。
調べてみると1週間ほど前にリリースされていました。https://github.com/aspnet/dnx/milestones
図1 DNX 1.0.0 beta8を入れた

beta8?

なぜわざわざbetaリリースでエントリを書くかというと、ASP.NET 5のロードマップ中でbeta8は最後のbeta版と位置づけられているためです。
このあたり、時系列では
  • beta8までに機能追加系はすべて完了
  • 安定性を高めたRC1版を来月(2015/11)中にリリース
  • その後は適宜RCを重ねて2016年のQ1(1-3月)に正式リリース
ということになっています。
つまりSignalR 3などのASP.NET 5初期リリースからオミットされてしまった要素を除けば全部実装済み!という状態ですね。

これ完成するのかなという不安

サーバ環境での完全なSxSデプロイ*1はASP.NET 5の目玉のひとつで、その完成度は.NET Core(CoreCLR+CoreFX)の完成度に大きく依存します。
CoreFXの完全NuGet主義なフレームワークコード開発はだいぶ進んでいますが、CoreCLRのクロスプラットフォーム実装はまだまだ発展途上にあります。どれぐらい発展途上かというと、CoreCLR版のDNXでASP.NET 5のシンプルな公式サンプルをいくつかいじり回すだけでボコボコとクラッシュするような状態です。
個人的にこれはstabilize という領域のだいぶ手前にあるように感じられます。明らかに無理な*2スケジュールを押し通したUnity Technologiesぱいせんなども世の中にはいるので、短期間に完成度を上げるのも不可能ではないと思いますがMicrosoftがCoreCLRの完成に向けて極端な量のリソースを投下して頑張るかというと現状そんなインセンティブのあるエリアでもないはずです。
クロスプラットフォーム実行に関してMicrosoftは「Monoを一切使わずCoreCLRのみで実行する」なんてことは言っていないので、非Windows環境のCoreCLRバグは割と放置したまましれっと-runtime mono状態でリリースするのでは、というのが今のところの見立てです。
つまり極端な話OS X上のCoreCLRで動作するDNX上でASP.NET 5のコードが一切動かない状態でもリリースは可能と。
とはいえ、そろそろバグを見つけたら可能な限り切り分けてせっせとissueを作っていくフェーズには来てるのかなーという気持ちの高まりを感じたbeta8リリースでした(前回書いたように、私はDNXベースでクロスプラットフォームなツールをほいほいと作っていきたいので)。
[*1] ここでは複数バージョンのフレームワークをお互いに干渉させることなく同一環境へ同居させて使い分けられる仕組みを指します。
[*2] IL2CPPによる64-bitサポートをAppleのデッドライン付近でひとまずの着地まで持っていったのは本当に凄いと思います。

0 件のコメント:

コメントを投稿