blob: ac1529d104490aa06257a92f0a9343a760994195 [file] [log] [blame]
<!--
This document is provided as a template along with some guidance for creating
your project proposal. This is just a template. Feel free to change it as
you see fit (add sections, remove section). We feel, however, that the
suggestions represented in this document represent the reasonable minimum
amount of information to move forward.
Please keep the formatting in this document simple. Please do not edit
this document in Microsoft Word as it adds huge piles of markup that make
it difficult to restyle.
More information is available here:
http://wiki.eclipse.org/Development_Resources/HOWTO/Pre-Proposal_Phase
Direct any questions about this template to emo@eclipse.org
-->
<html>
<head>
<!--
Include the title here. We will parse it out of here and include it on the
rendered webpage. Do not duplicate the title within the text of your page.
-->
<title>Flex Modularity Framework (Potomac)</title>
</head>
<!--
We make use of the 'classic' HTML Definition List (dl) tag to specify
committers. I know... you haven't seen this tag in a long while...
-->
<style>
dt {
display: list-item;
list-style-position:outside;
list-style-image:url(/eclipse.org-common/themes/Phoenix/images/arrow.gif);
margin-left:16px;
}
</style>
<body>
<p>The Flex Modularity Project (Potomac) is a proposed open source project under the <a
href="http://www.eclipse.org/projects/project_summary.php?projectid=rt">Eclipse Runtime Project</a>.</p>
<p>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 <a href="http://www.eclipse.org/forums/eclipse.potomac">Potomac</a>
Eclipse Forum.</p>
<h2>Background</h2>
Since its creation, Eclipse has been in the fore-front of Java modularity. From the original plug-in capabilities, to today's Equinox implementation of OSGi and the Eclipse RCP, Eclipse has tackled tough modularity issues and brought advanced modularity capabilities into the hands of Java developers everywhere. In 2009, <a href="http://www.elementriver.com">ElementRiver</a> introduced a new framework named Potomac to bring those same capabilities to Adobe's Rich Internet Application platform: Flex.
<p>
The Potomac framework was heavily inspired by both the Eclipse RCP and OSGi. As Flex use continues to grow in enterprise environments, more and more Flex developers are looking for frameworks that understand the tough problems that arise in modular applications. Potomac seeks to solve these problems and bring the advanced features which Eclipse has championed for Java, to Flex.
<p>
<a href="http://www.elementriver.com">ElementRiver</a> proposes to bring the existing Potomac Framework for Flex (<a href="http://www.potomacframework.org">www.potomacframework.org</a>) to Eclipse.org.
<h2>Scope</h2>
The objectives of The Flex Modularity Project (Potomac) are:
<ul>
<li>Bring OSGi-like capabilities to Flex</li>
<li>Provide an extensibility mechanism similar to Eclipse extension points</li>
<li>Implement a modular UI framework similar to the Eclipse RCP</li>
<li>Supply developer tooling in support of Potomac</li>
<li>(Long term) Enable Potomac Flex components to be hosted inside an e4 application</li>
</ul>
<h2>Description</h2>
The Flex Modularity Project (Potomac) will provide a comprehensive framework for enterprise Flex development. Potomac will be 100% Flex and Actionscript code and will not have any server-side requirements or dependencies.
<h3>Core Modularity</h3>
At its core, Potomac will provide a new paradigm for modular development with Flex. A Potomac bundle will be similar to an Eclipse plug-in or OSGi bundle. It will contain not only the classes and code, but also the metadata necessary to understand module dependencies, extensions and extension points, and more. Potomac will supply tooling to Adobe's Flash Builder 4 to support Potomac bundle development. This tooling is conceptually similar to PDE, but currently much smaller. It is important to note that, while Potomac is heavily inspired by OSGi and the Eclipse RCP, there will be no attempt to conform to the OSGi specification or to exactly copy Eclipse. Flex and Flash limitations prevent a fully functioning OSGi implementation. Regardless, Potomac will attempt to do things 'the Flex way'. In order to stay true to the Flash platform, Potomac will make design decisions and take direction that may differ from the current Eclipse framework.
<h3>Dependency Injection</h3>
Potomac will provide dependency injection. This dependency injection will be both asynchronous and 'bundle-aware'. When an injection request is serviced, Potomac will load any bundles required to satisfy the request. If a bundle that is not yet loaded is required, it will be downloaded from the server and loaded asynchronously. This will happen behind the scenes, without any complex coding required from the application developer.
<h3>User Interface</h3>
The UI of a Potomac application will be broken up into composable elements similar to the Eclipse RCP. Each Potomac part will provide features commonly needed by business applications such as input handling,save/dirty workflow, busy state, and selection management. Developers familar with the concepts and paradigms of an Eclipse RCP application will easily understand the architecture of the Potomac UI.
<h3>
<h2>Initial Contribution</h2>
<a href="http://www.elementriver.com">ElementRiver</a> will provide a significant initial contribution including all code from the existing Potomac framework found on <a href="http://www.potomacframework.org">www.potomacframework.org</a>.
<h2>Adobe Committment</h2>
While its possible to develop and use Potomac without Adobe's Flash Builder IDE, it would be inconvenient. In order to comply with the Eclipse rules on proprietary tools yet still use a full featured Flex IDE, Adobe has graciously agreed to provide each Potomac committer with a free license for Flash Builder 4.
<h2>Committers</h2>
<p>The following individuals are proposed as initial committers to the project:</p>
<dl>
<dt>Chris Gross (ElementRiver), proposed project lead</dt>
<dt>Steve Moore (ElementRiver)</dt>
</dl>
<h2>Mentors</h2>
<p>The following Architecture Council members will mentor this
project:</p>
<ul>
<li>TBD</li>
<li>TBD</li>
</ul>
<h2>Interested Parties</h2>
<p>The following individuals, organisations, companies and projects have
expressed interest in this project:</p>
<ul>
<li>Adobe</li>
<li>Turner Broadcasting System, Inc.</li>
</ul>
<h2>Project Scheduling</h2>
<ul>
<li>July 15, 2010 - Potomac code available in Eclipse repository</li>
<li>September 1, 2010 - Potomac v1.0 release</li>
</ul>
</body>
</html>