Tuesday, August 18, 2009

e4 release overview

Eclipse e4 overview

Your mind is like this water, my friend. When it is agitated,
it becomes difficult to see. But if you allow it to settle...
the answer becomes clear.
Kung Fu Panda


When I saw that e4 is on the road I was curious to try it. As usual not all went easily. Firstly, I've download a kit and unzipped. While unzipping I got error about the length of some class it means that standard Zip could not unzip file which the header length longer that 250 characters. Without further ado, I used 7 zip. It solved the problem mentioned above.

Finally I perceived with the eyes the eclipse's splash screen.



Let's begin.
XWT. What is it? XWT is the XML Windowing toolkit that enables to write remote applications.
If you're familiar with JSF technology then your learning curve will be minimal as possible. Simply, it has xml which contains a UI component and bound with java class named backing bean. It gives you clear separation between UI appearance and business logic. Unlike JSF XWT combined with JavaScript (ECMAscript). CSS is out-of-the-box. No more awkward patches! Very flexible.
To be honest, I've waited such solution longer. In that time, I think it's best solution of UI that I have ever seen.

RAP, stands for Rich Ajax Platform.
As many of us know that recently we have requirements related to green IT. It means that we ought to build our software which can run on the end user low priced workstations and minimal power consumption. In addition, classical web applications use the network heavily. In order to reduce this, was introduced Ajax mechanism.
RAP makes possible to develop rich web client by “Eclipse way”. It allows event-driven web application design. Supports programming using Java APIs. For instance, you're able develop like SWT applications that run on the web. It brings RCP to the Web. Write ones run everywhere. You also can use the plug-ins or reuse them.

JavaScript
Did you ever build web 2.0 applications using social APIs? Some time ago Google announced about defining a common API for social applications across multiple websites. You know these sites: LinkedIn, MyFaces, Facebook even YouTube. Besides that, it means you have less to learn to build multiple sites.
E4 provides support for writing plug-ins in other languages, especially to use JavaScript to write bundles in Eclipse. It runs on top of OSGi framework and enables to call out to and from java bundles. There is possibility to install bundles and inspect the state of the system, also allows observation and management of the state of an individual bundle. The difference is in the packaging. Instead of using jar, here is used JSON file.

Before ending this overview I wish to point out some dislikes.
1.The shortcut toolbar is missing.
2.The functionality of the views like minimize/maximize for some unknown reasons absents.

I would appreciate any feedback on whether you like or dislike. Till then, happy discovering folks!

Sunday, June 28, 2009

Eclipse Galileo overview

First of all I would like to thank organizers who made remarkable meeting in Israel.
In Eclipse project there are a lot of “things” that I wish talk about. But it's not issue here. The first feature I'm going to mention is a breadcrumb. It was offered since release 3.4. What's a matter? It appears in Java Editor by pressing Alt+Shift+B. Actually breadcrumb is a bar component. It combines the tree of the project explorer and the outline view. It also provides filtering capabilities. Nice and useful feature of Eclipse Java Editor, indeed. Here is a picture showing how it looks:

Second, has been added newest implementation of OSGi(Open Services Gateway Initiative) that includes declarative services (DS).
Services are dynamic. This means that a bundle can decide to withdraw its service from the registry while other bundles are still using this service. Bundles using such a service must then ensure that they no longer use the service object and drop any references. Using DS minimizes the 'pain' of service's life circle. In general, declarative service means that we can create a service and XML file to declare our service. OSGi takes care further on. It might look like this:


Third, if you develop eclipse based applications it could be interesting UI Test Automation available.
Ladies and Gentlemen, please bring you attention to SWTBot. SWTBot is a open-source Java project for testing SWT and Eclipse based applications. It provides SWTBot APIs that you can easily use them in your functional tests. It ships its own assertions that might be useful for SWT-like applications/modules. As bonus, you have record and play facilities. It also runs like Java's applications on all platforms.

Finally, when you getting either out of memory exceptions or time response of the application is slow, you would wish to take advantage of MAT (Memory Analyzer) contributed by SAP and IBM. It comes with two modes: either Eclipse plug-in or RCP stand alone application. It looks like this:



I hope you find it useful.

Anyway, Eclipse Galileo consists of a lot of improved mechanisms and futures. It's beyond of scope of this blog.

Thank you for reading this blog. Goodbye for the moment!