On Mon, Dec 22, 2008 at 14:50, Jordan Zimmerman <[email protected]> wrote:
> I've been using Java Shindig for a few weeks now and there are some
> things I'd like to see changed.

Uhm. Wrong. Not "I like to see things changed". It is "I want to
change the following things. Here is the patch". :-)

>
> * J2EE vs Plain Java *
> The major change should be a refactoring to make Shindig a code library
> as opposed to an application. Shindig makes deep assumptions about the
> environment it is running in. In particular, it assumes a J2EE compliant
> container. It then runs in that container as a standalone application.
> Developers must plug in to the Shindig application. I suggest a
> refactoring into two libraries: Shindig J2EE and a Shindig Engine. I
> don't see why Shindig has to be released as a set of servlets. For
> example, ProxyServlet is a thin wrapper around ProxyHandler. So, the
> engine is actually already there.

Shindig is already a very long way there. Most of the code is J2SE
compliant; the wrappers for the servlet container are pure Servlet
API. There are some implicit assumptions on how this works
(Authentication filters and servlets) but that is not really a hard
thing and it is more of a J2EE specific implementation of standard
patterns.

> * Dependency Injection is awful *
> DI is an implementation detail that should be left to users of Shindig.
> Shindig's use of Guice serves to obfuscate the internals of Shindig
> without a lot of benefit that I can see. I've been able to get Shindig
> up and running without using any of the DI. If I can do that, then it
> seems unnecessary. Leave this in the J2EE layer (which should be a
> separate library as I said above).

I disagree. DI used wrong is awful. Personally, I have like/dislikes
for DI containers.

In Shindig, the DI could be cleaned up and wired more readable. But
all in all, the way Shindig uses DI is not too bad. I strongly
disagree if you say that DI should go completely.


>
> * Documentation is not hard to write *
> I can't understand why there isn't minimal documentation. Take a few
> hours and document the main classes, how they work together and how an
> implementer might use them. Further, there are lots of hard coded values
> in the JS files (e.g. %js%) that aren't documented anywhere that I can
> see.

Send Patches. Again, lots of the "hard coded values" are actually part
of the spec, so they are fine.


>
> It's wonderful that Shindig exists. But, so far, it's been very
> frustrating trying to get it to work in my environment. My comments
> above are a few of the reasons why it's so frustrating.

I feel your pain. :-)

    Ciao
        Henning

Reply via email to