Native Application Builder (eWideStudio)


Introduction

The project has been created. Please visit the project page.

The Native Application Builder (eWideStudio) is a proposed open source project under the Device Software Development Platform Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology newsgroup. 

Background

The NAB (eWideStudio) project was born from WideStudio/MWT, it is a open source software of multi-platform GUI tools. That is mostly used for making a desktop GUI application on a PC by individuals and professional developer. And another major usage is for building and running GUIs on embedded devices, it is used by embedded device software engineers.

WideStudio/MWT is composed by 2 part, one is a original visual GUI application builder that we port (It seems like as a VE), and other one is multi-platform GUI library called MWT (Multiplatform Widget Tookit).

MWT is a light weight GUI library but it have a variety of GUI parts from simple buttons to complex tree list. And it have non-GUI parts such as event handling, threading/synchronization, Client-Server functions for remote computing and so on. Once, if GUI application was developed on the MWT library, it is possible to run on the other platforms (such as Win32, a Linux/X-window, ITron and so on) only by compiling again because there is interchangeability of the source code.

This NAB project started at WideStudio/MWT. But it aim for an extensible framework for various tools.

Supported Platforms of 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

Please see the following WEB sites for more details of WideStudio/MWT.
English, Japanese, Chinese, Korean, Portuguese

Description

Architecture

We have a tentative architecture plan which is "Framework and example Tool" model.

NAB stand on the two frameworks there are NAEF (Native Application Editor Framework) and NCGF (Native Code Generation Framework). NAEF have the functions for visual editing an application which is builded on the NTK (Native Tool Kit). NCGF cooperate with NAEF for driving a NCG (Native Code Generator). And NAB is a tool implementation part. We make a MWTAB (MWT Application builder) as example.

NAB arcitecture

Functions

The example application MWTAB provides the function to make GUI application in the WYSIWYG using the MWT library, it is equal to original WideStudio Application Builder. The Functions are below.

  • GUI Edit Function
    MWT application are generated as well as the VE plug-in for the Java language, and can visually arrange, edit, and the source code be generated. Various GUI parts can be arranged with the mouse to build the application window, and attributes of parts can be specified visually.
  • C/C++ Source Code Generation and Edit Function
    Event procedures of each MWT parts are generated automatically. Moreover, the program can be adding described at each event processing.
  • Application Build/Execution Function
    The source code can be compiled and an executable application can be generated. Moreover, the application can be executed in the Eclipse environment.

The MWTAB needs 2 other parts, one is CDT and another one is MWT library plug-ins distributing from WideStudio.org. That includes MWT binary libraries (MWT, MWTBI and MWTCG) and their very thin Java wrapper.

screen shot of the MWTAB Beta on Aug. 2005

Organization

Proposed project lead and initial committers

  • Shigeki Moride, Fujitsu (proposed Project lead)
  • Shun-ichi Hirabayashi, Fujitsu / WideStudio.org Founder

Interested parties

The following companies and projects have expressed interest in this project. Key contacts listed.

Relationship with WideStudio project

Proposed comitter Mr. Hirabayashi is a founder of WideStudio, and it is the main developer and it is representative of that community now. Moreover, he is developing the NAB on the other hand as an employee of Fujitsu. We think the relation of NAB and WideStudio can be kept intimate through him.

Developer / User community

WideStudio community have a many users and developers. WideStusio's ML have thousands of subscribers from over 20 countries and FTP site counts 800,000 downloads. And we expect half of users come to use the NAB (eWideStudio). As a result our projects community will grow up quickly and we will encourage all active contributors to become committers.

We plan on doing this by using the standard eclipse.org mechanisms of supporting an open project and community, and we'd like to prepare some mechanisms to communicate with Japanese in Japan WG.

Code Contributions

Fujitsu have developed facilities similar to what the NAB (eWideStudio) proposes, we intend to conduct a review of all potential contributions during the Validation Phase of the project. Those contributions which best align with the goals of the project will be refactored and used as the starting point for the NAB (eWideStudio).

Tentative plan

We think there is two directionality of the project for the future. One is direction to standard of cross GUI development platform. Another one is direction to the platform that have minimal resource devices, cooperating with eRCP and others. We think we can do some contributions in both cases.

We will continue the developing and we think that cooperation with eRCP, SWT, AWT is better. We'd like to have a discussion about that.