JSR 198 Proposed Final Draft

JSR-198, "A Standard Extension API for Integrated Development Environments", is now at Proposed Final Draft status. Is this likely to be implemented in Demetra? If it gains momentum, it'd be a good way to address the complaint that there aren't many good plug-ins for IDEA...

http://jcp.org/en/jsr/detail?id=198

10 comments

Hello Christopher,

CB> JSR-198, "A Standard Extension API for Integrated Development
CB> Environments", is now at Proposed Final Draft status. Is this
CB> likely to be implemented in Demetra? If it gains momentum, it'd be
CB> a good way to address the complaint that there aren't many good
CB> plug-ins for IDEA...
CB>
CB> http://jcp.org/en/jsr/detail?id=198

We will consider implementing JSR-198 support as soon as at least one major
plugin based on the API appears.

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0

We will consider implementing JSR-198 support as soon
as at least one major
plugin based on the API appears.


Not that I actually find JSR-198 of any relevance (as in, don't waste time implementing it), but the latest JDeveloper released is based on it -- a good portion of it's features are actually implemented as JSR-198 plugins.

0

It would seem like a good selling point for IDEA and justify investing more time and money for Jetbrains and 3rd parties, as commercial plug-ins could get a better return on investment through a larger market, and IDEA could be a great base platform for developing cross-platform, cross-IDE extensions.

I see Eclipse (and derivatives) being a loser here, as it's using a non-standard GUI toolkit which might hinder it.

Some of the negative feedback about IDEA seen on various forums concerns its proprietary nature. It'd be nice to see it embracing standards for IDE extensions, instead of sticking to a proprietary format. "Proprietary" and "not standards compliant" are complaints more commonly associated with a large company based in Redmond in the USA! ;)

0

Marcus Brito wrote:

Not that I actually find JSR-198 of any relevance (as in, don't waste time

> implementing it), but the latest JDeveloper released is based on it -- a
> good portion of it's features are actually implemented as JSR-198 plugins.

I think the important question is if they are based solely on JSR-198, so
that you can re-use each plugin exactly like it is in NetBeans.
I doubt that the API defined by JSR-198 is rich enough to allow to do anything
really useful.
On the contrary Idea's PSI is smart enough to allow to do amazing things like
the inspections with acceptable performance.
This "standard-conformant" discussion should be kept in relation.
After all I don't want a "standard-featured" IDE, but I want a "best of breed" one!

0

Hello Stephen,

>> Not that I actually find JSR-198 of any relevance (as in, don't waste
>> time implementing it), but the latest JDeveloper released is based on
>> it -- a good portion of it's features are actually implemented as
>> JSR-198 plugins.
>>
SK> I think the important question is if they are based solely on JSR-198,
so
SK> that you can re-use each plugin exactly like it is in NetBeans.
SK> I doubt that the API defined by JSR-198 is rich enough to allow to do
anything
SK> really useful.

In fact, based on a quick look at the spec and source code, it seems that
the API is quite rich. In particular, it includes a model of Java code roughly
equivalent to the IDEA PSI (and some features that the IDEA PSI does not
support - for example, transactions with rollback support).

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0

Isn't that a bit of chicken-and-egg kind of thing?

Dmitry Jemerov (JetBrains) wrote:

Hello Christopher,

CB> JSR-198, "A Standard Extension API for Integrated Development
CB> Environments", is now at Proposed Final Draft status. Is this
CB> likely to be implemented in Demetra? If it gains momentum, it'd be
CB> a good way to address the complaint that there aren't many good
CB> plug-ins for IDEA...
CB> CB> http://jcp.org/en/jsr/detail?id=198

We will consider implementing JSR-198 support as soon as at least one
major plugin based on the API appears.

0

I think its difficult basing a rich plugin on solely JSR198 (although I
don't know what's exactly included in the API, took a look quite some
time ago)... the real merits would be creating the core of the plugin
on JSR198 with only a minor portion of the code being IDE-specific.
This JSR, if accepted, would probably benefit non-Eclipse IDEs most
because a richer plugin-ecosystem could arise. However, guess the
non-Eclipse IDE vendors must "get together" for this to work, otherwise
plugin vendors will wait for IDE vendors to implement JSR198 before
using it for their plugins and IDE vendors will wait for plugin
writers... very good ;)

regards,

Messi

Stephen Kelvin wrote:

Marcus Brito wrote:

>> Not that I actually find JSR-198 of any relevance (as in, don't waste
>> time


> implementing it), but the latest JDeveloper released is based on it -- a
> good portion of it's features are actually implemented as JSR-198
plugins.

I think the important question is if they are based solely on JSR-198, so
that you can re-use each plugin exactly like it is in NetBeans.
I doubt that the API defined by JSR-198 is rich enough to allow to do
anything
really useful.
On the contrary Idea's PSI is smart enough to allow to do amazing things
like
the inspections with acceptable performance.
This "standard-conformant" discussion should be kept in relation.
After all I don't want a "standard-featured" IDE, but I want a "best of
breed" one!

0

Hello Messi,

Not quite. As far as I know, the API is already implemented in the Oracle
products, so if people are interested in the API, they can start using it
already.

And as for us, we'd much rather spend efforts on exposing new functionality
through OpenAPI and enabling plugin developers to do new things, rather than
providing a second way to do things all of which became possible a few releases
ago.

M> Isn't that a bit of chicken-and-egg kind of thing?
M>
M> Dmitry Jemerov (JetBrains) wrote:
M>
>> Hello Christopher,
>>
>> CB> JSR-198, "A Standard Extension API for Integrated Development
>> CB> Environments", is now at Proposed Final Draft status. Is this
>> CB> likely to be implemented in Demetra? If it gains momentum, it'd
>> be
>> CB> a good way to address the complaint that there aren't many good
>> CB> plug-ins for IDEA...
>> CB> CB> http://jcp.org/en/jsr/detail?id=198
>> We will consider implementing JSR-198 support as soon as at least one
>> major plugin based on the API appears.
>>
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0

Perhaps someone could write an IntelliJ plugin that provides the JSR 198 API...

/Mikael

0

I know JDeveloper does provide JSR198 SPI, but until someone else
(another IDE) implements/provides it, its "yet another IDE plugin API"
and offers no benefits, i.e. IDE portability.
Sure, I understand that, OTOH its more interesting to get new features
out the door (for JB) but maybe the API provides a "long term"
investment to compete with Eclipse (see my other post).

regards,

Messi

Dmitry Jemerov (JetBrains) wrote:

Hello Messi,

Not quite. As far as I know, the API is already implemented in the
Oracle products, so if people are interested in the API, they can start
using it already.

And as for us, we'd much rather spend efforts on exposing new
functionality through OpenAPI and enabling plugin developers to do new
things, rather than providing a second way to do things all of which
became possible a few releases ago.

M> Isn't that a bit of chicken-and-egg kind of thing?
M> M> Dmitry Jemerov (JetBrains) wrote:
M>

>>> Hello Christopher,
>>>
>>> CB> JSR-198, "A Standard Extension API for Integrated Development
>>> CB> Environments", is now at Proposed Final Draft status. Is this
>>> CB> likely to be implemented in Demetra? If it gains momentum, it'd
>>> be
>>> CB> a good way to address the complaint that there aren't many good
>>> CB> plug-ins for IDEA...
>>> CB> CB> http://jcp.org/en/jsr/detail?id=198
>>> We will consider implementing JSR-198 support as soon as at least one
>>> major plugin based on the API appears.
>>>

0

Please sign in to leave a comment.