Eclipse, the Platform. My Main Squeeze

DZone 's Guide to

Eclipse, the Platform. My Main Squeeze

· Java Zone ·
Free Resource

If I'm going to break up with my main squeeze: Eclipse - the Platform, especially after I publicly admitted I was seeing another platform, the least I could do is give our relationship an honorable recap. I already vented my long term gripes yesterday.

"main squeeze" is a slang term from 1950s American culture. It is similar to "going steady", or a serious relationship.

Eclipse, the Big Dog

Eclipe - the platform, is historically the only desktop game in town, or at least until Netbeans most recent push. You can mess around with wannabes, or you can go with the big dog. Eclipse is that big dog. 

No one does anything serious on the desktop without thinking about Eclipse as an option. It's just too powerful. Simple apps, sure, there are lots of options, but once it gets so big that you need an honestly modularized approach, few if any can touch this platform. 

Major Players Migrate To Eclipse

Just look at who's hanging out with Eclipse, the Eclipse Platform, or The Eclipse Foundation's related projects. Examples include:

  • Springsource moves DMServer and Spring-OSGi to Eclipse foundation
  • So many different and varied IDEs built on Eclipse Platform
  • Sonatype and M2Eclipse and Tycho and everything that is great about Maven
  • Kazillions of unrelated tools migrated to Eclipse as plugins
  • A long list of fortune 500s each involved, many in several ways.


My Experience With Eclipse

I'm no different than any typical developer, in that I do what it takes to pay the bills. This means I'll code in whatever customers direct me to code in, These are rarely Eclipse apps. Corporate apps are too simple and most corporate managers too uninformed to choose the Eclipse Platform, especially given the current obsession with web applications.

I managed a popular Eclipse IDE for most of 2008. I've built and published my own plugins. It's a platform I'm comfortable with. Most of us have watched many serious apps built in Eclipse for years. It deploys complex apps with relative ease, and add-ons and updates are a mature process that has been working for years, for hundreds of vendors, despite recent p2 hardships.

Eclipse has Vitality

What seems different about Eclipse is its vitality. Big capacity and vitality are often opposing concepts. You get one, you give up on the other. But Eclipse Foundation gets funded every year, it does more and more cool work every year, and more and more big corporations get behind it and build their own software on top of it.

But the vitality thing can circle back against you. You think you know the ecosystem, then you turn your head and minor projects like EMF become serious players, and all of a sudden the possibilities of the platform have an unfamiliar but perhaps better complexion. It's a very fertile field. 

That makes life interesting.

Will Eclipse Collapse Under It's Own Weight?

Short answer: No. The Eclipse Foundation alone is a $4million+ (annual) organization, with hundreds of projects and quadzillion lines of code under it's wing.

It does a pretty good job of maintaining itself without getting too bureaucratic, but it's still pretty big.

As a code base, it also suffers much of the same fate. It's just sooooo big. Quite overwhelming at times. Makes you understand why the luminary Neal Ford is so vocal about liking smaller platforms that stay simpler. I prefer the good modularity of Eclipse and OSGi to a false sense of simplicity, but the concerns of Neal Ford and the like, are all valid.

The Breakup

Despite all these positives, I'm ready to go out with a new girl. The Netbeans Platform has matured. It's a real alternative now.

And I'm excited. This is a new time for Oracle, and a great time to get on the bandwagon.

Tomorrow: The official decision. Comment now, or forever hold your peace :)


From http://appwriter.com/eclipse-platform-my-main-squeeze


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}