This page last changed on Jun 13, 2007 by amitku.

Below is the list of technologies that need to be evaluated for the functionality. Test cases at two levels might help us with the evaluation: first, where it's appropriate to do so (with technologies that include display to the end user, for example) let's try three tests: create a tree-structure; display text with non-roman characters; do a simple 3-D animated visualization with different colors. These should get at some basic functionality and allow us to determine whether things that we know we need to do will be harder or easier to do in a particular environment. We might actually dummy up the test data for this on the proxy server, and make sure that the various technologies we're evaluating can manage communication with proxy services. It's fine, by the way, if you can find an example that satisfies one of the test cases, already done by others.

Second-level test cases might include trying to move a piece of nora and a piece of wordhoard into the new evironment, in order to determine whether that will be possible, and if possible, whether that will be difficult. This would help us to determine how a particular choice might impact our ability to carry forward work that's already been done.

Technology Responsibility Due Date Link Evaluation Eval due date
GWT Amit April 6th GWT Survey    
Prototypejs Amit April 6th Prototypejs Survey    
Echo2 Andrew April 6th Echo2 Survey    
Tapestry Mike P April 19 Tapestry Survey    
Apollo Andrew April 19 Apollo Survey    
YUI Matt B April 19 YUI Survey DHTML and Javascript Evaluations -by Andrew/Amit  
OL Matt P April 19 OpenLaszlo (OL) survey    
jMaki Xin April 30 jMaki survey    
ZK Andrew   ZK Survey ZK Evaluations -by Matt Bouchard/Paras Mehta    
Flex or Flash Mike P   Flex Technology Test -by Mike P Flex Technology Test -by Mike P

DHTML and Javascript Evaluations

1. Client-Side Javascript

Features Prototype jMaki Dojo Scripti.li.cious YUI
XHR: on success, on failure, pause an xhr and come back to it later. Prototype jMaki Dojo Scripti.li.cious yes
Timer/Timeout Prototype jMaki Dojo Scripti.li.cious yes
History/state (back button) Prototype No Dojo Scripti.li.cious no
Off-line Storage? Prototype jMaki Dojo Scripti.li.cious no
Interaction with the Desktop applications? Prototype jMaki Dojo Scripti.li.cious ?
Extensibility. Prototype Good Dojo Scripti.li.cious ?
Animation. Prototype Yes Yes Scripti.li.cious yes
Number of Items that can be displayed in the interface without causing memory or computation problems. Prototype jMaki Dojo Scripti.li.cious average
Support for stateless messaging? -scalability Prototype jMaki Dojo Scripti.li.cious ?
Usability? Bookmarking/Layout font-size changes Prototype Yes Dojo Scripti.li.cious yes
Browser Portability Prototype Good Dojo Scripti.li.cious yes
Start Time? How big are the javascripts/swf files.... Prototype Small Dojo Scripti.li.cious good
TESTING and Debugging tools. How can you test the GUI interface? GWTTestCase Prototype FireBug plugin Dojo Scripti.li.cious yes
Will the generated HTML be portable and what happens when a new browser comes in? Prototype jMaki Dojo Scripti.li.cious yes
Remote Process Calls? Different from JSON and XML Prototype jMaki Dojo Scripti.li.cious yes
Batch XML Http Requests? Prototype jMaki Dojo Scripti.li.cious yes

2. Wrapper

jMaki
  • provides a base set of wrappers around some of the widgets from the more popular frameworks (such as Dojo, Prototype and Yahoo Widgets)
  • Enables Java developers to use JavaScript in their Java based applications as either a JSP tag library or a JSF component
  • Promotes a program methodology that cleanly separates behavior (JavaScript), from Styles (CSS), from template HTML

Case 1 (tree structure)
http://nora.lis.uiuc.edu:9090/jmaki/yahoo/tree.jsp
Case 2 (Chinese text)
http://nora.lis.uiuc.edu:9090/jmaki/yahoo/tree_chinese.jsp
Case 3 (Animation??)
Limited by the capability of Javascript.

3. C/S Rich Apps Framework

Features iceFaces Tapestry GWT jMaki DWR Apollo OL Echo2 ZK
XHR: on success, on failure, pause an xhr and come back to it later. iceFaces Tapestry Yes jMaki DWR Yes Yes*
Yes Yes
Timer/Timeout. iceFaces Yes Yes jMaki Yes Yes Yes
Yes Yes
History/state (back button) iceFaces Yes Yes mature No Yes (must build it) No
No Yes
Off-line Storage? iceFaces Yes Not native* jMaki DWR Yes No*
No No
Interaction with the Desktop applications? iceFaces No No jMaki No Yes (limited) No
No No
Extensibility. iceFaces Yes Yes Good DWR No Yes
Yes Yes
Animation. iceFaces Yes Yes 3-rd party toolkits DWR Yes Yes
Yes Yes
Number of Items that can be displayed in the interface without causing memory or computation problems. iceFaces Tapestry GWT jMaki DWR Apollo Many will slow down significantly.
Echo2 ZK
Amenable to other technology mashups/ javascript frameworks: Can it be used with other javascript frameworks. iceFaces Yes Yes Yes DWR Yes Yes*
Yes Yes
Support for stateless messaging? -scalability iceFaces Yes Yes jMaki DWR Yes ?
Yes Yes
Usability? Bookmarking/Layout font-size changes iceFaces Yes Yes Yes DWR Yes (must build) Yes
Yes (font-size) / No (bookmark) Yes*
Browser Portability iceFaces Yes Yes Good DWR Win/MacOS Good*
Yes Yes
Start Time? How big are the javascripts/swf files.... iceFaces Small Small* Small DWR Small Medium
Small (d/l incrementally) Small*
TESTING and Debugging tools. How can you test the GUI interface? GWTTestCase iceFaces Yes Yes (Unit tests) FireBug plugin DWR Yes Yes
Yes (Java/Eclipse, AJAX monitor) Yes
Will the generated HTML be portable and what happens when a new browser comes in? iceFaces Yes Yes* jMaki DWR n\a Yes*
Maybe Yes
Remote Process Calls? Different from JSON and XML iceFaces Tapestry Yes jMaki Yes Yes Yes*
Yes (though hidden) ZK
Batch XML Http Requests? iceFaces Tapestry No jMaki Yes Apollo ?
Possibly ZK
Language JSF/Java JSF/Java JAVA JSP Javascript Flash/Flex & Javascript XML + JavaScript
Java & Javascript XML (XUL/XHTML) + Java/JS/Ruby/Groovy

4. Other (Do Not Know Where It Goes)

Flex

By "Scripti.li.cious" do you mean "script.aculo.us"?

Posted by andrew_james_macdonald@yahoo.com at Mar 26, 2007 13:18

correct...

Posted by amitku at Mar 27, 2007 12:00

One of the other considerations should be what programming language is used by the framework.

Posted by andrew_james_macdonald@yahoo.com at Mar 27, 2007 14:02

Good idea.. Done.

Posted by amitku at Mar 30, 2007 09:33
Document generated by Confluence on Apr 19, 2009 15:04