Home | Project | Documentation | Download | News | Contact Us |
Q: What is OpenXUP for? OpenXUP is a thin client based framework. That is, no application code is installed or downloaded to the client side - only UI is processed at the client side; all application logic is processed at the server side. Q: Why yet another web application development framework? First, you can use "downloaded code" to create rich client-side UI, e.g. Java Applet, ActiveX, etc. With this approach, security is the major concern. As a result, many end users refuse to install downloaded code, even though it may be signed by a public CA. In addition, many organizations disallow the installation of downloaded code, with only a few exceptions for well-known programs such as Flash and Acrobat PDF Reader. Second, there are many AJAX-based frameworks and IDEs. They provide package JavaScript components and hide browser incompatibilities to some degree. However, they have a weak foundation: browser's JavaScript engine. Every time a new version of a browser is released, not only the AJAX frameworks and IDEs must to be retested, the applications built on top of them also need to be retested again to ensure compatibility. In addition, similar to Applet and ActiveX, AJAX is also a fat client approach. With AJAX, rather than binary code, a large amount of application logic in JavaScript is downloaded and execute on the client side. Therefore, applications that heavily rely on JavaScript are subject to numerous security attacks, such as cross-side scripting and script injection. Q: Why is there a need for a new protocol? Most developers are already used to this now - encoding application data in name / value pairs in forms. But this is really pretty awkward. Wouldn't it be nicer to just send UI events and structured data to the server? This is exactly what XUP does: the client sends UI events (e.g. mouse click, menu selection) to the server. This allows for the event-driven style programming found in desktop GUI toolkits - applications handle UI events rather than name / value strings. In addition, the response from the form submission protocol is a full page. This results in frequent page refreshes even though only a small corner of the page needs to be updated. Frequent page refreshes are very annoying for end users. In addition, frequent page refresh also wastes network bandwidth. With AJAX, you can updates portions of a page by walk through and manipulate the HTML DOM. However, you have to write code yourself to do that. What XUP offers is an incremental UI updating capability within the protocol. Essentially, an XUP protocol response specifies a list of additions, removals, and updates of UI elements (e.g. button, label) and attributes (e.g. color, size). Therefore, the protocol takes care of incremental UI updates, and you do not need to write any code. Q: How extensible is OpenXUP and what UI languages does it support? There are two ways to extend OpenXUP. First, you can easily extend an existing UI language (e.g. SUL) by adding new UI components and events. Second, you can add support for additional UI languages such as XAML and XUL via plug-in modules. Q: What are the supported server-side platforms? Q: What are the supported client-side platforms? Q: Do I need to install software on the client side? For best experience, you should install the OpenXUP client as a standalone program. In this way, the client will display an icon in the system tray and you can run multiple XUP applications at the same time. Q: How does the client integrate with the browser and desktop environment? In addition, when you double click on a .xup shortcut file, the OpenXUP client will be automatically launched to access the corresponding XUP application specified in the shortcut file. Q: There are numerous attacks based on downloaded code or scripts. Is my
desktop PC secure with OpenXUP? Q: What are the license terms? |
Copyright 2005-2006, OpenXUP.org. All rights reserved. |