From:

Andy Maleh: Highlights of EclipseCon 2008

EclipseCon 2008 was a blast! The event was very well organized and full of interesting people who are passionate about technology. I particularly liked the idea of giving everyone poker cards to encourage attendees to mingle by exchanging poker cards to get a winning poker hand by the end of each night.

Here are highlights of some of the events that occured at EclipseCon 2008:
  • Scala mini-BOF: Bill Venners (author of a Scala book) and Dave (author of Scala's LiftWebframework) came from Silicon Valley to attend at the Hyatt bar. We saw a cool demo of LiftWeb, discussed merits and demerits in comparison to Ruby on Rails, and then concluded with interesting discussions of Functional Programming languages (e.g. Haskell) and multi-paradigm languages.

  • EclipseCon Jeopardy: the game was played in a theater by members (or founders) of Eclipse such as Ed Merks and Jeff McAffer. It was fun to see the hot competition get squashed by Jeff twice. In the future, I would like to see a similar game where the topics are less oriented at committer rules and more oriented at Eclipse technologies such as RCP and EMF. That way, people from the theater can participate and feel more engaged.

  • JRuby on RCP (Glimmer): Need I say more? ;)

  • The future of SWT: Silenio and Steve (father of SWT) gave a talk on "a" future of SWT in which they went over where SWT is today, what it is missing, and where it might go in the future. The most noteworthy missing features are a declarative syntax (*ahem*Glimmer*ahem*,) animation, and immediate finalization of widgets. The most impressive part of the talk was demonstrating where SWT might go in the future by showing SWT apps (like Minesweeper and a Flickr photo viewer) rendered as a Flex flash web app, a Dojo Ajax web app, and a Windows WPF app. Does that mean Glimmerruby apps will suddenly start running online??? ;)

I can go on and on about EclipseCon 2008, but I prefer to leave the rest to other bloggers as there definitely were a lot of them over there :)

Tomorrow though, I will blog about the last two BOFs I attended: E4 BOF and UI and Usability Guidelines BOF.

Related Articles

Relatd Projects

Swingweb

Swingwebis a web-application framework that enables AWT/Swing application to operate inside a web container and presented as a web application to the web browser, purely in HTML/CSS/javascript. The swing application will render and behave in the web-container the same as it would as a desktop application. There is little knowledge required for the developer to start developing swingweb application as long as they are familiar with swing UI development.

The main goals of the Swingweb framework are to:

  1. Enable true component-based web-application development platform
    Swingweb allows the developer to specify the web-application in terms of UI components and their interactions. The functionality of the web-application is more formally definedas opposed to page-centric model where functionality is composed by gluing the webpages loosely together. Furthermore, the application functionality is more predictable and guaranteed to work as long as all UI components are unit-tested. There will be no more page-management and http session-state manipulation hassle. Once written, the component, either fine-grain like a text-box, or coarse-grain like calendar, will be reusableand save development costs over time.
  2. Use swing UI model for web application development
    Swing component model is one of the best and most-practiced UI modelfor java platform. There should be no learning curvefor most Java developer to pick up web-application development using swingweb. Swingweb tries to make distinction between desktop and web application development as transparentas it could be yet at the same time maintains flexibility on the controls of the look and feel of the web-application through UI component template system.
  3. Allow rapid development using existing GUI editors for web application development
    There are a lot of good tools for swing application development. Most java IDEs (including eclipse) also contain GUI editors. The editors allow the developer to rapidly develop, maintain and changethe application in response to changed requirement.
  4. Save development cost by merging the development process of swing desktop application and (e.g. in-house) web application
    Given the right architecture, the desktop and web application development can be merged into a single process and thus reduces development cost.

Some of the features of Swingweb include the following:

  • Support web-environment with multiple concurrent application sessions
    While most desktop applications are designed to run in a stand-alone jvm, swingweb extended the AWT toolkit implementation so that multiple concurrent application sessionscan run in the web container jvm, yet making each application session isolated so that the running applications will not interfere with each other's operations.
  • Component-oriented architecture that allows developers to enable existing swing component to web environment easily
    Swingweb underlying framework allows developer to control how the interaction and event-input of each component individually. Thus it is very easy to extendan existing swing component (e.g. some third-party widget) so that it can operate in web environment.
  • Flexible template-based approach allowing changing look/functionality of component/application
    The rendering of the each swing components is provided through a template file that is written in jxp template language(essentially java language). Thus it is very easy to control the look and feel of a component as web widget. Furthermore, the template can be configured per component type or per instance.
  • Transparent URL manipulation and session management inside swingweb application
    Swingweb support url manipulationso the developer can customize how the browser url changes as the interface changes. The application can also access and react to url changesusing very simple API. This allow implementation of webapplication that allows bookmarking, back-buttonand other advanced features such as component caching and sharing. There is also API for per session variables.
  • Light-weight, performance focus, and scalable for high traffic web-applications
    The (awt)toolkit implementation utilizes several techniques including lightweight peers, threadless event queue, custom repaint managerto reduce memory footprint and increase the performance of the swing application in the web context. There is also a special deployment mode, share-app mode, which allows sharing of component instancesacross the application sessions for scalability.
  • Natural adaptation of components to the webSome adaptation has been made to the components for the web development - e.g. - FileDialog will upload local files to webserver, all button icons will be buffered and rendered property as <img src=""> tag, all components that uses Graphics2D can be rendered nicely as image (with a flag set of the component) etc.
Apache Xindice
Apache Xindice is a database designed from the ground up to store XML data or what is more commonly referred to as a native XML database. The name is pronounced zeen-dee-chay in your best faux Italian accent. Don't worry if you get it wrong though, we won't mind. We just care that you spell it correctly. You might be wondering what a native XML database is good for? Well it pretty much has one purpose, storing XML data. If you don't have any XML data, don't want any XML data or think XML is the most over-hyped technology of the new millennium, then Xindice is not for you. We're not out to change the way data in general is stored, only to provide a good solution for storing XML data. If you survey your projects and see XML popping out of every corner, then Xindice might be a real help for storing that XML. The benefit of a native solution is that you don't have to worry about mapping your XML to some other data structure. You just insert the data as XML and retrieve it as XML. You also gain a lot of flexibility through the semi-structured nature of XML and the schema independent model used by Xindice. This is especially valuable when you have very complex XML structures that would be difficult or impossible to map to a more structured database.
eclipse-e3d
Framework to simplify the development of OpenGL and SWT in the Eclipse RCP.
rcpget
RCP Get is an easy-to-use GUI file downloader for Windows/Linux/BSDs/MacOs. It's now in preAlpha status. I want to open source the project. It's programmed in Java and has a GUI based on Eclipse RCP.
gface
GFace contains custom reusable SWT UI widgets for applications written in eclipse SWT/JFace/RCP technology.
xpleditor
The XPL editor is an RCP Eclipse application based on the eXtensible Presentation Language, an xml-based presentation language built on top of Visual Design Patterns. For more information about XPL, visit http://semantics.eng.it/xpl/index.html
jfire
JFire is a trading platform including ERP, CRM, Accounting and cross-organisation-trading written in Java based on J2EE, JDO and the Eclipse RCP. See https://www.jfire.org/ for more information.
addictionfree
This program shows the time elapsed since its first run in a particular directory. I've written it because I believe that people trying to get away from their addictions may find it useful to see how long they managed to, until now.
snipplr4e
eclipse plugin to talk with snipplr.com
rcptoolbox
Eclipse SWT/JFace Toolbox with useful custom widgets, incl. CoolButtons, CoolSliders, Clock, Gauges, GoogleMapComposite, ScrollingText, Progress Indicators, DualList widgets, and lots more to come. We also have an Eclipse RCP Plugin that wraps the jar.