What's New in Eclipse? part-II

One of the most frequently asked questions about RCP-based applications is if you can deploy them with Java Web Start. The answer in Eclipse 3.1 is yes. New feature export wizards make this easy; they'll even sign the JARs for you and create a template .jnlp file. In support of Java Web Start, most Eclipse plug-ins have been converted to regular old Java .jar files. Information about extension points, plug-in dependencies, and so on go in manifest files inside the JARs.
In Eclipse 3.1, client developers can take advantage of a slew of UI improvements to make their applications even more functional and better looking than before. For example, SWT includes two new widgets: a Spinner widget for numeric data entry and a Link widget that allows hyperlinks to be included in text labels. A number of other widgets were enhanced.
The Tree widget now supports columns, deprecating the older TableTree widget. This allows a native implementation and helps resolve some of the more subtle problems with the TableTree, including the inability to add an image in the first column. Also the Table widget got a much requested feature: the ability to drag and drop columns to reorder them within the table. Virtual tables with deferred loading are also supported.
The Browser widget continues to get attention as well. This widget wraps the native HTML browser on the current platform (for example, IE on Windows and Safari on the Mac). There have been numerous minor enhancements to the browser including many to its event mechanism. Perhaps the most exciting feature is the ability to execute an arbitrary string of JavaScript within the browser's currently loaded page.
Another area that was improved is SWT graphics. Eclipse 3.1 supports alpha-blending, anti-aliasing, paths for geometric shapes and lines, and transformations (see Figure 5). On Windows, using these GC new features takes advantage of the Microsoft GDI+ library (which is included with Windows XP and 2003 but available as a separate download on older systems). On GTK and Motif, the new graphics are implemented with the Cairo graphics library.
The Community Strikes Back
Community involvement is crucial to the success of Eclipse. One of the things you're expected to do as a good Eclipse community citizen is report your ideas for enhancements along with any bugs you find. Since the source code is available, some take the next step and send code patches as well. Over 7,000 enhancement requests and bug reports have been addressed in release 3.1.
The Eclipse community continues to grow through the addition of new projects. As of this writing, over a dozen new project proposals are pending or have been recently approved. Many of these are "Technology" projects, which are often created by groups of users that band together to fulfill a need. For example, the Mylar project was created at the University of British Columbia to address the problem with information overload by filtering out uninteresting classes and other artifacts while you're programming.
Following on the heels of the 3.1 release of the Eclipse Platform, a number of other Eclipse projects is expected to be released. One of the biggest, the Web Tools Platform project, or WTP for short, is scheduled to release a new version in late July. WTP was initially based on contributions from IBM and ObjectWeb, but many companies and individuals in the community are working on it now, including recent joiner BEA.
The Web Tools Platform currently has two subprojects: Web Standard Tools (WST) and J2EE Standard Tools (JST). WST provides a common infrastructure for Web applications development and provides editors, validators, and document generators for a wide range of Web languages (HTML/XHMTL, CSS, JavaScript, Web services, SQL, XML, XSD, WSDL, etc.). You can also publish and deploy, run and debug, start and stop Web applications on target servers (see Figure 6). WST also includes a TCP/IP Monitor server for debugging HTTP traffic (including SOAP Web services), and a Web services explorer that is very handy for testing. Currently it also has support for relational databases management and queries, though that may be moving to the new Data Tools project soon.
JST extends WST for J2EE applications and servers. Included is a range of tools simplifying development with J2EE APIs including JSP, JCA, JDBC, JTA, JMS, JMX, JNDI, and Web services. It builds on WST to support J2EE servlet engines and EJB containers, including Apache Tomcat, Apache Geronimo, and ObjectWeb Jonas. Server vendors are encouraged to develop adapters for their servers.
Another widely anticipated project is the Business Intelligence and Reporting Tools (BIRT) project. BIRT 1.1 is targeted for July, and it will be based on Eclipse 3.1. Currently BIRT includes three components:
  • A Report Designer for developing and designing XML report templates
  • A Report Engine for generating reports based on the XML template (you can use it standalone or embedded in other applications)
  • A Chart Engine for creating charts within BIRT reports or as a standalone API to draw charts in your Swing or SWT applications.
Future plans for BIRT include a Web-based Report Designer.
The Eclipse Test and Performance Tools Platform Project (TPTP), formerly known as Hyades, will launch the 4.0 release in July as well. TPTP delivers components in four areas:
  • A platform for building testing tools, with common UI components and standard data models
  • Monitoring tools for things like analyzing a Web server
  • Test tools, including support for JUnit
  • Tracing and profiling tools
TPTP 4.0 delivers better integration with JUnit, new hooks to make it easier to link test cases back with requirements and defects, and usability improvements.
Visual Editor Project (VE) The Visual Editor Project will be releasing version 1.1 approximately two weeks after Eclipse 3.1. Highlights include:
  • Support for new SWT controls
  • Better support for Swing tables
  • Copy/paste support
  • Support for editing Eclipse views directly (especially useful for RCP programs)
  • Better code generation and reverse parsing (produces code more like what you would write by hand)

No comments:

Post a Comment