+1 On Mon, Jan 19, 2009 at 3:10 PM, Niclas Hedhman <nic...@hedhman.org> wrote: > The Pivot team would like to present the Pivot toolkit for incubation > at the Apache Incubator. > > Please cast your votes; > > [ ] +1, bring Pivot into Incubator > [ ] +0, I don't care either way, > [ ] -1, Don't bring Pivot into Incubator, because.... > > > The application is accompanied by the following description of the Pivot > project and its desire to join the ASF Incubator. This has previously > been posted for comments, and beside the lack of Mentors only minor > issues was brought up and hopefully addressed in the text below. > > > Cheers > Niclas Hedhman, Champion. > > - o - o - o - > > Abstract > > Pivot ([WWW] http://pivot-toolkit.org) is an open-source platform for > building rich internet applications in Java. > > > Proposal > > Pivot combines the enhanced productivity and usability features of a > modern RIA toolkit with the robustness of the Java platform. Pivot > applications are written using a combination of Java and XML and can > be run either as an applet or as a standalone, optionally offline, > desktop application. > > Like other modern development platforms, Pivot provides a > comprehensive set of foundation classes that together comprise a > "framework". These classes form the building blocks upon which more > complex and sophisticated applications can be built. > > Pivot was designed to be familiar to web developers who have > experience building AJAX applications using HTML, CSS, and JavaScript. > However, it provides a much richer set of standard widgets than HTML, > and allows developers to create sophisticated user experiences much > more quickly and easily. Pivot will also seem familiar to Swing > developers, as both Swing and Pivot are based on Java2D and employ a > model-view-controller (MVC) architecture to separate component data > from presentation. However, Pivot includes additional features that > make building modern GUI applications much easier, including > declarative UI, data binding, effects and transitions, and web > services integration. > > > Background > > The web has become the defacto standard method for application > delivery. However, functional requirements for web applications have > begun to scale beyond the capabilities of the browser. Even with the > addition of scripting support, dynamic element manipulation, and > asynchronous server communication, it is difficult to create a user > experience in HTML that is truly on par with that of a desktop > application. > > Rich internet application (RIA) development platforms are a means of > bridging the gap between the web and desktop experiences. Using > browser plugins, these platforms allow developers to build > applications that look and feel more like native desktop applications > but are deployable via the web, like traditional, HTML-based web > applications. RIAs also often incorporate visual effects intended to > enhance the overall user experience, such as animations and other > dynamic behavior. > > Adobe Flex (http://www.adobe.com/products/flex) and Microsoft > Silverlight (http://www.microsoft.com/silverlight) are arguably the > most high-profile of these platforms; others include OpenLaszlo > (http://www.openlaszlo.org) and Curl (http://www.curl.com). Pivot > itself falls into this category. > > > Rationale > > Pivot was created for two primary reasons: > > 1. To provide a viable option for developers who want to build > rich client applications in Java. Flex applications are written > in ActionScript, an ECMAScript variant; Silverlight > applications can be written in either C# or JavaScript; > OpenLaszlo applications are written in JavaScript. Pivot allows > developers to write rich internet applications in Java (or any > other language that can run in a JVM). > > 2. Provide a freely-available, open source alternative for RIA > developers. Flex, Silverlight, and Curl are all proprietary > platforms. We believe that a large part of HTML's success was > its due to its openness. While we certainly hope that > developers will use Pivot to build revenue-generating products > and applications, we believe that the platform itself should be > free and driven by its technological merits, not by corporate > objectives. > > > Comparison to Other Java-Based RIA Platforms > > Swing > While it is technically feasible to build an RIA in Java using the > Swing toolkit (http://java.sun.com/docs/books/tutorial/uiswing), > Pivot offers a number of advantages that make it a more > compelling, modern alternative: > > * Provides an XML markup language called WTKX for simplifying > user interface construction. Flex, Silverlight, and OpenLaszlo > all offer a similar feature; web developers are comfortable > with the markup metaphor, and it can considerably reduce > overall development time. > > * Components are not limited to an "atomic" preferred size; they > are allowed to report a preferred size as constrained by > either width or height - this facilitates such features as > label wrapping, which Swing does not support. > > * Defines a consistent data model that is used throughout the > entire framework; for example, JSON data returned from a REST > service is serialized into the same data structures used by a > table view component to present data. No additional > translation is necessary, which can significantly improve > performance. A common data model also reduces the learning > curve for new developers. > > * Includes built-in support for REST-based data services, which > Pivot calls "web queries". This provides parity with Flex, > which comes with out-of-the-box support for RPC via the AMF > protocol, and Silverlight, which supports both SOAP and REST- > style services. Swing does not include any built-in facilities > for server communication, making it less convenient to work > with. > > Note, however, that Pivot is not limited to REST for server > communication. Because it runs in a JRE, a Pivot application can > take advantage of any client/server protocol that has a Java API; > for example: > > o SOAP-based services via Axis (http://ws.apache.org/axis/) > > o Flex RPC using the BlazeDS AMF client > (http://opensource.adobe.com/wiki/display/blazeds/Java+AMF+Client) > > o Google Contacts via the Google-provided Java client > (http://code.google.com/apis/contacts/docs/2.0/developers_guide_java.html) > > The current source includes examples of the latter two. > > * Includes built-in data binding support, which allows data > returned from web queries (as well as other types of data > services) to easily be mapped to form contents. > > * Includes platform-level support for visual effects and > transitions (i.e. animations). > > * Defines a single Application inteface that is used for deploying > both desktop and web-based applications - multiple codebases are > not required. > > * Takes advantage of newer Java language features such as > generics, enums, for..each, and annotations. > > > JavaFX > > Pivot differentiates itself from the recently-released JavaFX > primarily by allowing developers to build applications in Java, > rather than the new JavaFX scripting language. Additionally, > JavaFX's widget support is based on Swing, which suffers from the > limitations outlined above. > > In a sense, Pivot represents what we think Sun should have done > instead of JavaFX. > > > Google Widget Toolkit (GWT) > > While GWT allows developers to use the Java language to write web- > based applications, the runtime enviroment for a GWT application > is the browser itself, not a JVM. This has a number of drawbacks: > > * The compiled code executes as interpreted JavaScript, not > bytecode. > > * The only libraries available are those that have been ported to > GWT by Google. > > * All presentation must be done via CSS and DOM manipulation > rather than via a true 2D drawing API. > > Additionally, GWT does not support an XML markup language - all UI > elements must be created programmatically. > > Pivot allows developers to efficiently construct RIAs that can > truly take advantage of the Java platform. > > > Current Status > > Pivot began as an R&D effort at VMware. It was announced as an > open-source project in June of 2008 under the Apache 2.0 license. > Version 1.0 was released in October, 2008, and version 1.1 is > targeted for release in early 2009. Pivot is currently hosted at > http://pivot-toolkit.org with development at > http://code.google.com/p/pivot. > > > Core Developers > > Thus far, Pivot has been developed primarily Greg Brown and Todd > Volkert of VMware. > > > Community/Meritocracy > > The Pivot team is actively striving to build a development > community around the Pivot platform, consisting of both users and > contributing developers. Although we are pleased with the progress > we have made to date, Pivot is a large undertaking that needs the > support of a larger developer base if it is to succeed and thrive. > > We have written numerous articles and blog entries about Pivot to > help generate interest in the developer community, and will > continue to do so as new features are added and new versions > released. We have established a Google Group for discussion of > Pivot-related issues > (http://groups.google.com/group/pivot-toolkit) where feedback is > solicited and highly encouraged. > > As developers (hopefully) begin to express an interest in using > and helping to expand Pivot, their contributions will be evaluated > and incorporated as appropriate. Several contributions from > several external developers were actually accepted before we > released version 1.0 - notably, both the Pivot Explorer tool and > the pivot.core.util.Resources class used for localization were > provided by outside developers who volunteered to join the project > after reading our initial announcement. > > > Alignment > > We use Ant to build and deploy Pivot, and we host our web-based > components in Tomcat. > > The Apache developer community is representative of our target > audience - developers who seek out and advocate high-quality, > open-source software projects. We consider ourselves to be members > of that group, and we are hoping to share our work with other > like-minded developers. > > > Known Risks > > Orphaned Products > > This project will not be orphaned. The developers have already > invested a significant amount of time in the project, much of it > in off-hours. Greg has been working on Pivot since August 2007 and > Todd since January 2008. We pay to host the project site, pivot- > toolkit.org, out of our own pockets. Additionally, at least one > production application is currently being developed with Pivot. We > want to see this project become successful, and we will continue > to invest whatever time is necessary to help make it so. > > > Inexperience with Open Source > > Pivot has been conceived as an open-source project since day one. > However, though we are longtime users of open source software and > have some understanding of the process, we have no prior > experience managing an open-source effort. We are hoping that the > community experience within ASF can help bring our understanding > to the next level. > > > Homogenous Developers > > While Pivot's primary developers work for VMware in Boston, > Massachusetts, Pivot is not a VMware project. Most Pivot > development takes place outside of work hours. > > Pivot is a highly-modularized framework that lends itself well to > heterogenous development. We have already received code > submissions from developers elsewhere in the U.S., Germany, Italy, > Canada, and the U.K. We are hoping that, as the capabilities of > the framework expand, it will lead to an increase in overall > developer interest and an acceleration of the development process. > > > Reliance on Salaried Developers > > Pivot began as an off-hours side project. It was officially > supported by VMware for a short time, but was dropped in June, > 2008 when the company decided to pursue an off-the-shelf UI > solution instead of a homegrown one. It has continued as an off- > hours project since then. > > The "lack" of an ability to rely on salaried developers for > development may actually be more of a risk to the project. Most > work must be done in off-hours, which may occasionally limit our > ability to make progress. > > > Documentation > > Additional information is available from the project site: > http://pivot-toolkit.org. > > > Initial Source > > Source code for Pivot is currently hosted at Google Code: > http://code.google.com/p/pivot. > > > Source and Intellectual Property Submission Plan > > VMware released Pivot as an open-source project under the Apache > 2.0 license in June, 2008 but retains a copyright on the code. > VMware has agreed to sign a software grant for the codebase; a > signed copy of the agreement was faxed to the ASF on 12/22/2008. > > > External Dependencies > > Pivot is a Java-based toolkit and relies on a JRE for execution. > Pivot's charting library currently relies on JFreeChart > (http://jfree.org) 1.0.9; however, charting is an optional package > and JFreeChart is not integral to the implementation (i.e. it > could be replaced with another charting package with no impact to > the Pivot charting API). > > > Required Resources > > * Subversion repository > * Issue tracking > * Dev., user, commits, and private mailing lists > * Wiki space > * Web hosting (for content currently hosted at pivot-toolkit.org) > * SSL certificate (for code signing) > > Initial Committers > > * Greg Brown - VMware > * Todd Volkert - VMware > * Eugene Ryzhikov - Florida Power and Light > * Christopher Brind - unknown > * Sandro Martini - Technomind > > > Affiliations > > No relevant affiliations. > > > Sponsors > > * Champion: Niclas Hedhman > * Nominated Mentors: Niclas Hedhman, Martijn Dashorst > * Sponsoring Entity: Incubator PMC > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org > >
-- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org