Hacker News new | ask | show | jobs
by wodencafe 3334 days ago
Why didn't they just use OSGi, a stable, mature (16+ years old) technology for modularity, instead of re-inventing the wheel with JPMS?
4 comments

Because OSGi is a pile of needless complexity for selling consulting support, the less I have to touch it the better.
Ok, but do you think JPMS is a better alternative?
Aren't you an IT consultant though? ;-)
Yes, but getting to do JEE and stuff like Websphere is already enough, I don't need to fight with OSGi as well. :)

Having written a few Eclipse plugins was already enough.

Don't let Eclipse give you a bad impression of OSGi.

There are now some very cool things that make starting a new OSGi project a lot easier:

* Declarative Services, for simplifying Component definitions (No more editing XML)

* bnd / bndtools for building your OSGified jar (No more manually editing the Manifest)

i have used OSGI in projects and find it useful to see bundles states, Camel routes/endpoints, lot's of other useful stuff. But i have never seen it working properly in PROD enterprise application. Sadly my eclipse is just confirming that from time to time with errors :(
I know. OSGi needs to die. I'll quit a job before I subject myself to that level of pain and despair ever again.
Sorry for the easy jab, but is there anything from Eclipse that is good ?

ps: user and ex plugin developer asking

CDT used to be quite good, and there are some features like makefiles and debugging capabilities that are missing from CLion.

And actually it does use less resources than either InteliJ or Android Studio, while having faster builds.

Oh right I forgot CDT. The key to Eclipse's success.
Android Studio's minimum-resource-usage-for-sane-performance is enormous. It does some things nicer than Eclipse, but there are definitely times I miss Eclipse's lean-ness, which is not a thing I would have expected myself to ever feel prior to AS.
The IDE is good. Eclipselink is fine.
I felt it was hog, slow, and the interal API is a maze. Also the virtual fs layer ...
It's big and slow, agreed, but it is very powerful. I don't know the details of the virtual FS layer but I can sympathise because that's very difficult to get right in a cross-platform way.
Jetty? OpenHAB?
Did Jetty start as an Eclipse project or was it swallowed recently ? I thought it was apache incubated.

  But i have never seen it working properly in
  PROD enterprise application.
FWIW, I have programmed for and deployed OSGi-based enterprise solutions. Karaf[0] was the container using Felix[1] most of the time (Equinox[2] being the other for a brief period). These are/were production systems, so I am curious by what you experienced as "never seen it working properly in PROD ..."

0 - https://karaf.apache.org/

1 - https://felix.apache.org/

2 - https://www.eclipse.org/equinox/

> OSGi, a stable, mature (16+ years old) technology

And hardly used in industry beyond eclipse project.

I used to work for a robotics company that made heavy use of OSGi.

We also wrapped OSGi in a services framework we created (and by that, I mean my boss wrote it, and then I added some features and bugfixes later), which we open-sourced.

What's really cool is that the Flow stuff from the article resembles a publish/subscribe library that we wrote and also open-sourced (under the name JFlux, even), which in turn was built on some interfaces that bear a resemblance to the Java 8 functional interfaces, except written for Java 6.

I don't think that this is true: OpenHAB, Nexus 3, a lot of the enterprise application servers... One can probably compile a pretty long list of things "running in production" using OSGi.
TBH, that's not the right question. I'd argue the right question was why didn't they make Jigsaw Maven-compatible?