.NET Micro Framework 4.0 がオープンソースで提供されるそうです

CodeZineマイクロソフト、省リソース機器向けの開発・実行環境 「.NET Micro Framework 4.0」をオープンソース化:CodeZine(コードジン) で知りました.組み込みボード用のMicro FrameworkがApache 2.0ラインセンスのもとオープンソース化されるそうです.プロジェクトサイト http://www.netmf.com/

.netで開発できるプラットホームは,MicroSoft社の提供するWindows環境からhttp://www.novell.com/:TitleがスポンサーをするHome | MonoによるLinux, Mac そしてiPhoneWiiまで,その領域を広げてきました.今回,組込機器向けのMicro Frameworkがオープンソースで提供されたことで,.NETで開発できないプラットホームはほぼなくなったといえるでしょう.使えない領域といえば,しいて言えばPICやAVRのような100バイト~1KB程度のRAM,ROMを内蔵するマイコン開発のような極端にリソースが小さいものくらいでしょう.Javaの理念Write onceが今現実のものになったと思います.

.NETの領域の広がりは,.NETのライブラリの知識が様々なプラットホームで使えますから,とても魅力的です.今のソフトウェア開発者の学習量はかなり膨大なものになっています.それはプログラミング言語だけではなく,データベースやネットワークを操るための膨大なライブラリを使いこなす必要があるからです.(プラットホームで若干の差異はあっても).NETのライブラリが様々なプラットホームで共通して使えると,プラットホームを移行するときの学習量が少なくてすみます.また.NETは様々な言語をサポートしますから,1つの言語を深く学習すれば.NETという共通のフレームワークに乗っかれるのも,開発者としては助かります.

面白いのは,Micro Frameworkは単なるライブラリではなく,様々なハードウェアにカスタマイズ可能で.NETの中間言語を直接実行するオペレーティングシステムを含むことです.詳しい特徴はhttp://msdn.microsoft.com/en-us/netframework/bb267253.aspxhttp://download.microsoft.com/download/a/9/c/a9cb2192-8429-474a-aa56-534fffb5f0f1/.NET%20Micro%20Framework%20White%20Paper.docにあるのですが,その2ページに書かれている特徴を引用すると:

  • .NETで最小のメモリフットプリント (ランタイムなどの格納領域に約 300KBのRAM),
  • Windows Presentation Foundation (WPF)を含む,組込機器向けに調整されたクラスライブラリ,
  • ハードウェアからオペレーティングシステムなしで直接ブートできるCLR(Common language runtime)
  • 汎用ハードウェアなどのサポート(nvram, gpio, i2c, rs232c (eia232), spi),
  • 拡張した弱参照による,シームレスな永続化ストレージ,
  • Visual Studioとの連携,
  • PCでのテストを提供する拡張可能なエミュレータ,

となっています.Db4Objectsでの体験を思い出すと,object-base file systemのような永続化ストレージは面白そうだなと興味を引かれます.

あとはandroidが対応すれば,うれしいのですが.