incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Update of "PivotProposal" by GregBrown
Date Fri, 19 Dec 2008 21:01:03 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The following page has been changed by GregBrown:
http://wiki.apache.org/incubator/PivotProposal

------------------------------------------------------------------------------
  = 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, and !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).
+  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.
  
@@ -36, +36 @@

  
    * 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:
+    * SOAP-based services via Axis (http://ws.apache.org/axis/)
+    * Flex RPC using the BlazeDS AMF client (http://opensource.adobe.com/wiki/display/blazeds/Java+AMF+Client)
+    * Google Contacts via the Google-provided Java client (http://code.google.com/apis/contacts/docs/2.0/developers_guide_java.html)
+ 
+   The source code 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).
@@ -45, +52 @@

    * 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.
+ 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) ===
  
- TBD
+ 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 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.

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message