Tools for Mobile Web

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

Tools for Mobile Web

The Tools for Mobile Web project is a proposed open source project under the Sequoyah Container Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Sequoyah Eclipse Forum.

Background

Historically, mobile tools providers have been customizing desktop web tools in a proprietary way to create their tools.

This project aims to seed the Eclipse community with a complete web tools solution, including editing, building, deploying and debugging. It also includes a reference target - Web Runtime - with complete preview and debug capabilities.

Scope

Tools for Mobile Web (TMW) will be a basis for web development tooling for mobile devices. It will leverage other projects, such as JSDT, for generic development. Since TMW is focusing one of the types of the mobile developer tooling, it will be a sub-project of Sequoyah. For Web applications, TMW will add functionality for mobile specific features like previewing, skinning, configuration, device deployment, and debugging.

This project will:

  • Identify common requirements for Tools for Mobile Web
  • Provide set of extensible frameworks that will enable creation of the IDEs for specific mobile runtimes.
  • Will provide a unified architecture that will improve compatibility between offerings from different vendors.
  • Leverage existing Eclipse project and frameworks.

Relation to Blinki

Although, Tools for Mobile Web and Blinki have a bit of overlap, they are mostly separate, but complementary projects.

Thinking of the differences between ATF and JSDT provides context. In the case of the two projects, Blinki would be ATF, providing run-time and debugging services while TMW will provide development-time services including (but not limited to):
  • Web application project creation and initial contents.
  • Mobile runtime-specific extensions for JSDT (our contribution will include support for WRT API and we are investigating adding others like PhoneGap, BONDI, JIL, etc.)
  • Application packaging (TMW initially supports WRT packaging) and deployment (TMW supports deployment using Bluetooth)
TMW's preview and debugging currently relies on external Chrome installation and is based on Chrome Developer Tools. Currently Blinki focuses on better integration of the Chrome/WebKit with Eclipse. From the very start we hoped to replace external Chrome with Blinki's code (atm we really need code on all three major desktop platforms).

Blinki's Chrome/WebKit integration has broader potential than only for mobile tools. Tools for Mobile Web under Sequoyah is focused specifically on mobile device developers' tooling needs.

Why in Sequoyah and not in WTP?

WTP provides general (platform and runtime-agnostic) web application development). Following things are in scope of TMW that do not fit under WTP:
  • Support for platform-specific APIs (at this moment most mobile platforms have their own API for things like address book access, camera management, etc.)
  • Packaging for mobile devices and deployment to mobile devices.
  • Application preview (simulation)
These things fit better under DSDP umbrella as there is certain overlap with other DSDP projects (i.e. device emulator can be used for both MTJ and TMW development).

TMW builds on top of WTP leveraging and extending its source editing tools and JSDT.

Description

Mobile web runtimes are based around existing and widely adopted standards like HTML, AJAX and JavaScript. Almost every mobile platform has proprietary APIs, packaging requirements and hardware capabilities. The goal of TMW is to enable creation of tools that would leverage individual advantages of mobile platforms and lower learning curve for application developers.

TMW provide features to enable the creation, editing, previewing, debugging and testing of TMW applications.  The tools leverage edit and build capabilities from JSDT, debugging capabilities from Chromium, and preview capabilities from XULRunner.

More information about the development and structure can be found here

More information about using the tools can be found here

Initial Contribution

  • org.symbian.tools.wrttools contains sources for project builder, project nature, markers, and project wizards
  • org.symbian.tools.wrttools.debug.core contains sources for WRT Debugger component
  • org.symbian.tools.wrttools.doc.WebDeveloper contains Web Developer's Library Documentation
  • org.symbian.tools.wrttools.doc.WRTKit contains WRTKit documentation
  • org.symbian.tools.wrttools.previewer contains sources for the WRT Previewer
  • org.symbian.tools.wrttools.product contains WRT IDE product plug-in
  • org.symbian.tools.wrttools.feature contains feature plug-in
  • org.chromium.debug.core contains sources for Chromium debugger core package
  • org.chromium.debug.ui contains sources for Chromium debugger UI package
  • org.chromium.sdk contains sources for Chromium SDK
  • org.w3c.css contains CSS Validator plug-in

Legal Issues

Most of the contributed code is licensed with EPL.

There are three components with different licenses:

Library Vendor License
CSS Validator W3C Consortium W3C
Google Chrome Developer Tools The Chromium Authors
New BSD
XULRunner Mozilla Foundation Mozilla tri-license

Committers

The following individuals are proposed as initial committers to the project:

Mentors

The following members will mentor this project:

Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

  • Dan Podwall, Nokia
  • Ken Wallis, Research In Motion Limited
  • Jon Dearden, Research In Motion Limited
  • Nitin Dahyabhai, IBM
  • Sachin Anand, Sony Ericsson
  • André Charland, Nitobi
  • Paddy Byers, Aplix

Project Scheduling

Initial contribution will be made at project approval

Changes to this Document

Date Change
02-April-2010 Document created
14-April-2010 Updated to address Wayne Beaton's feedback
10-May-2010 Add Blinki and WTP sections from email threads. Update Interested Parties and Mentors
01-July-2010 Add Paddy and Anselm as Initial Committers