Java Needs an On-Line Component Browser

I blogged earlier about how the component marketplaces for Delphi and .NET make the Java equivalent look virtually non-existent.

In looking for someone or something to blame, some may point to the JavaBeans spec, which seemed wonderful a decade or so ago but which is only now being shaped up into something better suited for creating pluggable visual components. (see JSR 273, a.k.a JavaBeans Spec 2.0).

However, I’m convinced that the real reason for the poor state of Java’s component marketplace is that Java developers (myself included) have grown used to free/open-source software. So nowadays we naturally expect all our frameworks and software libraries to be free, including our Swing components.

(Obviously there are notable exceptions: e.g. I'm currently using both yFiles and WebRenderer on a project, both excellent products - in fact they both seriously kick sand in the free opposition's faces - and no doubt there are other examples, but compared with Delphi and .NET there's basically no marketplace to support any more competitors).

It’s a shame, because commercial components – when there’s a financial incentive for companies to create them – tend to be much slicker and more powerful than their open source friends.

However, one way that a commercial marketplace could be stoked gently into life would be to make components downloadable directly into your favorite Java IDE. The networking angle could pique developers’ interest and even overcome their natural aversion to any library or component that isn’t open source or has the wrong license.

Sun could quite easily achieve this – and are well positioned to do so. I’m picturing something a little bit like iTunes, in which you browse a structured ecommerce site from inside your rich-client IDE, click to download a demo (or freeware) component, and – this is the important part – click to purchase the component.

As most developers won’t normally purchase components directly, they would need to be able to generate a purchase order. The on-line component marketplace (OCM?) could make this easy, even going as far as offering to email the PO to the developer’s boss.

Java has a major competitive advantage that .NET lacks: the ability to safely run on-line demos, via both Java WebStart (JWS) and applets. The fact that this isn’t already being leveraged in an “official” on-line marketplace is almost criminal.

If the OCM were available through all the major Java IDEs (not just Sun’s own NetBeans) – and if it were flexible enough to allow both Swing and SWT components – it could be what’s needed to make purchasing components more palatable to Java developers. This could then be just enough to ignite Java’s component marketplace.

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.