Partnering to foster Eclipse and Microsoft platform interoperability

I’m very happy about today’s announcements at the Eclipse Summit in Ludwigsburg, Germany. Microsoft,Tasktop and Soyatec announced a series of projects to help developers using the Eclipse platform do two things: take advantage of new features in Microsoft® Windows 7 and Window Server 2008 R2 and reinforce Java and PHP interoperability with Windows® Azure and Microsoft® Silverlight.

In the first of the four projects, Microsoft is partnering with Tasktop Technologies, a leading Eclipse-based solutions provider from Canada, to create an Eclipse “next-generation experience” on Windows 7 and Windows Server 2008 R2, which shares the same user interface improvements. Tasktop Technologies will contribute enhancements to the Eclipse IDE, which will be available under the Eclipse Public License in Q1 of 2010.

In addition, Microsoft has collaborated with Soyatec, a France-based IT solutions provider, to develop three solutions:

Microsoft is providing funding and architectural guidance for all four of the projects. Let’s take a look at some of the details.

Eclipse “next-generation experience” on Windows 7

Microsoft and Tasktop will collaborate to extend the Eclipse Rich Client Platform (RCP), and in particular the Standard Widget Toolkit (SWT), to include the mapping of new features offered by Windows 7. This will allow Eclipse developers to take advantage of the new user interface features offered by Windows 7, directly from the Eclipse IDE and from any desktop applications built on top of the Eclipse platform.

Here are a couple of sample features that illustrate what I’m talking about:

  • Taskbar Progress integration. Windows 7 provides a new visual representation of the progress bar, which is included in the default behavior of the Windows 7 taskbar. The progress bar is actually part of the application icon, and shows progress horizontally across the icon.
    Here’s how it might look in the Eclipse IDE:
    image 
    And here is another view of the progress bar from an application built using the Eclipse RCP:
    image
  • Taskbar Jump Lists . The redesigned Windows 7 taskbar allows applications to expose frequently used features or files that users can select directly. Eclipse-based applications will be able to leverage this feature. For example the next screenshot shows how you could launch Eclipse commonly used features (“New…” or “Synchronize”) directly from the taskbar:
    image

Of course, these features and screenshots are the result of early prototyping, so they may not precisely duplicate the features that will be delivered during the first phase of the project. Microsoft and Tasktop Technologies are working together to establish the following list features, which are currently entered as bugs in the Eclipse bugzilla:

These goals mark the beginning of a momentous journey for us. We expect to complete the first phase in Q1 2010.

As always, feedback from the developer community about “most wanted” features is very important to us. So if you have ideas, don’t be shy about speaking up—we would love to hear them. I also encourage you to read Mik Kersten’s blog post (Mik is Tasktop’s CEO and project lead of Mylyn) to get his perspective on the project.

Windows Azure Tools for Eclipse for PHP developers

Microsoft worked with Soyatec on Windows Azure Tools for Eclipse, a project to produce an open source plug-in that enables PHP developers using Eclipse to create web applications that target Windows Azure. Windows Azure Tools for Eclipse provides a series of wizards and utilities that allow developers to write, debug, and configure for and deploy PHP applications to Windows Azure. It is available for download at www.windowsazure4e.org

image

Architecturally speaking, the plug-in leverages the PHP Development Tools (PDT) framework for enabling PHP developers with integrated developer experiences.

The plug-in also bundles the existing Windows Azure SDK for PHP, which we introduced a few months ago. In a nutshell, this SDK provides a speed dial for PHP developers who use the Windows Azure storage component, making it very easy to use the blob, queue and table data storage features. If you need more details about this SDK, just visit the project site at http://phpazure.codeplex.com/.

In the coming months, we’ll detail many of the additional features you’ll find in the Windows Azure Tools for Eclipse plug-in. For now, you can get a quick overview by watching a video we just recorded with Robert Hess for Channel9:

Get Microsoft Silverlight

Windows Azure SDK for Java developers

First let me say that the Storage Explorer is really one of the coolest features of Windows Azure Tools for Eclipse—it allows developers to browse data contained in the Windows Azure storage component, including blobs, tables, and queues. Storage Explorer was developed in Java (like any Eclipse extension), and we realized during the Windows Azure Tools for Eclipse development with Soyatec that abstracting the RESTful communication aspect between the Storage Explorer user interface and the Azure storage component made a lot of sense. So this led us to package the Windows Azure SDK for Java developers as open source, which is available at www.windowsazure4j.org.

The Windows Azure SDK for Java enables developers to easily leverage Azure storage service in their Java applications. The logical architecture is very simple:

image

The Windows Azure Storage Explorer feature that is part of Windows Azure Tools for Eclipse illustrates perfectly a Java application using the SDK:
image

Eclipse Tools for Silverlight

The Eclipse Tools for Silverlight (Eclipse4SL) plug-in is an open source, cross-platform plug-in for the Eclipse development environment that enables Eclipse developers to build Silverlight Rich Internet Applications (RIAs).

We have developed subsequent beta versions, including the Mac version, since announcing the Eclipse4SL project in October 2008. So, I’m very excited to announce that Microsoft and Soyatec have released version 1.0 of the Eclipse Tools for Silverlight plug-in, which can be downloaded here: http://www.eclipse4sl.org/
image

Version 1.0 of Eclipse4SL targets Silverlight 2.0. We are working with Soyatec to add support for subsequent releases of Silverlight (Silverlight 3.0 was released in July). You can find a roadmap of the milestones that we have projected on the project site: http://www.eclipse4sl.org/#roadmap . Video demo walkthrough of the plug-in are available here and here (Mac version).

We are always working hard to find new ways to provide more choice and opportunity for developers in our ongoing journey to foster interoperability between Microsoft products and other technologies. We are hoping that today’s announcements give developers the additional choices and opportunities they’re looking for, and that they amount to yet another reason why choosing Microsoft platforms means keeping all the options open.