DSDP-NAB プロジェクトプラン

リリ−ススケジュール

NAB プロジェクトは、現在マイルストーン1をリリースしています。

  • Milestone 1 - 2006年6月

背景

NAB プロジェクトは、オープンソースのマルチプラットフォーム GUI ツールである WideStudio/MWT プロジェクトから生まれました。 WideStudio/MWT は PC 上でのデスクトップアプリケーション作成のために個人やプロ開発者によって使われています。 また、他に主に組み込み機器ソフト開発者によって、組み込み機器の GUI の開発や動作のためにも利用されています。

WideStudio/MWT は2つの部分から構成されます。 ひとつは我々が移植した独自のビジュアル GUI アプリケーションビルダ (VE に似ています)、 もうひとつは MWT (Multiplatform Widget Tookit) と呼ばれるマルチプラットフォームGUIライブラリです。

MWT は軽い GUI ライブラリですが、単純なボタンから複雑なツリー表示のような物までいろいろな部品を持っています。 さらに、非 GUI 部品としてイベントハンドリング、スレッド処理・同期処理、リモートコンピューティングのためのクライアント・サーバ機能 などの多様な部品も持っています。 一度 MWT ライブラリーの上に GUI アプリケーションを開発すれば、ソースコード互換性があるため、 コンパイルするだけで多種 (Win32, Linux/X-window, ITron 他) のプラットフォーム上で動作させることができます。

NAB プロジェクトは WideStudio/MWT から生まれましたが、 多種のツールのための拡張可能なプラットフォームを目指しています。

MWTサポート
プラットフォーム
 X11
 Linux + DirectFB
 Linux /dev/fb
 mu-CLinux /dev/fb
 ZAURUS (Frame Buffer)
 Windows 95/98/Me/NT/2000/XP
 WindowsCE
 MacOSX native
 Standard T-Engine ARM / SH / MIPS(T-Shell)
 Standard T-Engine ARM / SH / MIPS(FrameBuffer)
 ITRON (Frame Buffer)
 BTRON/Cho-Kanji

詳しくは以下の WideStudio/MWT サイトをご覧ください。
英語, 日本語, 中国語(簡体字), 韓国語, ポルトガル語

アーキテクチャ

我々は「フレームワークと、実装例としてのツールモデル」アーキテクチャを仮採用しています。

NABNAEF (Native Application Editor Framework) と NCGF (Native Code Generation Framework) の二つのフレームワークから構成されます。 NAEFNTK (Native Tool Kit) の上に作られるアプリケーションのためのビジュアル GUI 編集機能を持っています。 NCGFNAEF と協調して NCG (Native Code Generator:ソースコード生成) を駆動します。 そして、NAB はツールの実装部分となり、MWTAB (MWT Application builder) を実装例として作成します。

NAB arcitecture

機能

アプリケーション実装例としての MWTAB は、オリジナルの WideStudio Application Builder と同等の MWT ライブラリを使った WYSIWYG での GUI アプリケーション作成機能を提供します。 機能を以下に示します。

  • GUI 編集機能
    MWT アプリケーションを Java における VE plug-in の様に ビジュアルに部品を配置・編集しソースコードを生成できます。 また、種々の GUI 部品をマウスでアプリケーションウィンドウに配置でき、部品のアトリビュートをビジュアルに編集できます。
  • C/C++ ソースコード生成・編集機能
    MWT 部品のイベントプロシジャは自動生成されます。 さらに、イベント処理毎にプログラムを追加することも可能です。
  • アプリケーション作成・実行機能
    ソースコードをコンパイルし、実行形式のアプリケーションを生成する事ができます。 また、アプリケーションを Eclipse 環境の上で実行することができます。

MWTAB は2つの外部モジュールを必要とします。 ひとつは CDT、もうひとつは WideStudio.org から配布される MWT ライブラリプラグインです。 配布物には MWT バイナリライブラリ (MWTMWTBIMWTCG) と それらのための薄い Java wrapper が含まれます。

MWTAB β版スクリーンショット