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)
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)
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:
- Eugene Ostroukhov, Symbian Foundation
- Paul Beusterien, Symbian Foundation
- Paddy Byers, Aplix
- Anselm Garbe, Aplix
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 approvalChanges 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 |