Discussion:
[errai-users] RFC: public API, package split
Heiko Braun
2010-02-16 16:55:05 UTC
Permalink
Please read carefully and let us know what you think.
We need to know if the early adopters out there would appreciate such a change
and can live with the impact it would have on existing implementations.

----

Before we branch the 1.0 release, I would suggest we split the public API according to the following
guidelines:


<module>.client.api.*: the general client API for anyone working with errai components
<module>.client.framework.*: module extension points, considered more like an SPI

The idea is to have two levels of public API, clearly identified by subpackage names.
One for working with errai (api.*) and one for extending errai (framework.*).

This allows users to focus on what they need, expecting most implementations to rely on the
client API (api.*), whereas integration with 3rd party technology would rely on the extension API (framework.*).

Javadocs should only be available for those subpackages and deprecation rules only allow
changes to that API in between major releases.

I've already prepared the workspaces module, but didn't touch the bus module yet.


Once we've come to an agreement, I would go ahead and prepare
the 1.0 release branch according to those guidelines.

/Heiko
Kevin Jordan
2010-02-16 18:02:31 UTC
Permalink
Sounds good to me.

-----Original Message-----
From: errai-users-bounces at lists.jboss.org
[mailto:errai-users-bounces at lists.jboss.org] On Behalf Of Heiko Braun
Sent: Tuesday, February 16, 2010 10:55 AM
To: errai-users at lists.jboss.org
Subject: [errai-users] RFC: public API, package split


Please read carefully and let us know what you think.
We need to know if the early adopters out there would appreciate such a
change
and can live with the impact it would have on existing implementations.

----

Before we branch the 1.0 release, I would suggest we split the public API
according to the following
guidelines:


<module>.client.api.*: the general client API for anyone working with errai
components
<module>.client.framework.*: module extension points, considered more like
an SPI

The idea is to have two levels of public API, clearly identified by
subpackage names.
One for working with errai (api.*) and one for extending errai
(framework.*).

This allows users to focus on what they need, expecting most implementations
to rely on the
client API (api.*), whereas integration with 3rd party technology would rely
on the extension API (framework.*).

Javadocs should only be available for those subpackages and deprecation
rules only allow
changes to that API in between major releases.

I've already prepared the workspaces module, but didn't touch the bus module
yet.


Once we've come to an agreement, I would go ahead and prepare
the 1.0 release branch according to those guidelines.

/Heiko

Loading...