You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Table of Contents

Under Construction

This page is still in the process of being created.

Introduction

There are many opportunities surrounding Fedora to create user interface experiences. Many times it is preferred that these interfaces be deployed in such a was as they can be accessed via a web browser. One specific example of this is seen in the plan to replace the Fedora Administrative GUI with a web-based solution. This comparison considers the capabilities and benefits of several tools for building rich internet applications. The goal of this comparison is to aid developers in determining the appropriate tool(s) to use when building UIs for Fedora.

Disclaimer

These write ups are generally completed after conducting research about the tool and experimenting with using it for a day or two. If you have implementation experience with a particular tool feel free to add notes or comments.

Adobe Flex

What is it?

Flex is a framework for building rich internet applications which are run using Adobe's Flash player in the browser, and Adobe's AIR on the desktop

How long did it take to create a test application and get things working? How much code was required?

Created a test application which allows a user to view an object's Dublin Core metadata, FOXML, and datastream list after entering an object's PID. The user can then click on any of the datastreams that are image files and view the image. This application required about a day to create (including technology ramp time) and the completed code (an XML file) is 77 lines, including comments and whitespace.


How rich does the API/toolkit appear to be, are there obvious limitations?

Rich selection of UI components and widgets. REST requests can be made very easily in a single line. SOAP requests are also fairly simple to accomplish. The BlazeDS data service can be set up to allow calls directly to POJOs on the server. The Flex Builder tool integrates with Eclipse and makes development and deployment convenient.

How much documentation/support is available?

Documentation seems very good. Answers to development questions are available through examples and API reference information. Complete reference API similar to javadoc is available. Significant documentation is available from Adobe, and there are several recently published books available on Amazon for developing with Flex.

What language is used for development? How difficult is it to learn and use?

A flavor of XML called MXML is used to lay out and define components while ActionScript is used to handle events and perform more complex behaviors. Didn't have to use ActionScript at all to create the test application, but it appears similar syntax-wise to JavaScript. Learning the tags, attributes, and possible values for MXML takes time but is straight-forward in most cases.

What is the deployment scheme?

Compiles down to an swf (Flash) file which can be deployed by simply serving the file on a web server. Flex apps can also be deployed on the Adobe AIR platform, allowing it to run as a desktop app.

Which portions are open source?

The language, the SDK, and the (MXML and ActionScript) compilers are open source. LifeCycle Data Services product BlazeDS, along with the AMF (Action Message Format - used to transfer data in compressed binary) spec, are also open source. The Flex Builder application (an Eclipse plugin) is not open source or free, however free licenses are available to staff of educational institutions. Flex applications can be developed and deployed without the Flex Builder.

What are the client requirements?

Adobe Flash Player 9, the most current Flash player, is required.

What is the market penetration?

Flex has a wide industry adoption, the flex showcase alone lists around 500 sites built using Flex. The open sourcing of most parts of Flex seems to have encouraged use.

What are your impressions of the technology in general?

I was impressed by how quickly and easily my test application came together. I appreciated being able to run the end product (a .swf file) directly in a browser (with the latest Flash plugin) without even needing to deploy it to a server. I came away with the impression that, once you get used to MXML and ActionScript you could do a lot in a short amount of time. It's nice that, in general, the application looks pretty decent even if you're not a graphic artist. There tends to be at lot of focus on getting, displaying, and working with data from a server, particularly XML data, which is very useful.

Open Laszlo

Google Web Toolkit (GWT)

AJAX libaries (Dojo, Rico, etc) with HTML, CSS

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels