|
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.
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
- 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)
|
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
|
|