Hi Jeremy,
> I see that you jump into all threads involving third party libraries and
> tell users how bad they are. I'm not even sure you've used them enough to
> make an informed decision. There is after all a learning curve involved in
> learning any third party library and their API's.
We (myself an intern) used GWT-ext for a new project some time ago. We
had to abandon it for vanilla GWT because of speed issues,
incompatibility with regular GWT, difficulty to debug and develop with
because hosted mode crawled, and overall poor quality and bugs present
in the library. I'm aware there is a learning curve with any new
library, but we found that you either go all the way with GWT-ext or
not at all.
> You do realize that these third party libraries provide rich any highly
> dynamic widgets that are required by many real world applications. With
> increased functionality comes increased size. Are you saying that your
> application only uses the widgets available in GWT core and the incubator
> project?
Well we create new widgets using the vanilla and incubator ones.
> If so, I doubt it will come anywhere close to the functionality
> delivered to users by any of these third party libraries. Remember, what
> ultimately counts functionality delivered to the end user and not whether
> the developer of the application used only widgets in GWT, or third party
> libraries. Or whether they use Spring / ORM library, or core JDK / JDBC
> API's.
IMHO, what ultimately counts is user experience. If the application is
slow and buggy but has lots of animations and effects, the user is not
going to have a good experience. However, if the application is super
speedy and has a few nice animations where it makes sense, the user
will have a much better experience.
I think what also counts is the maintainability and scalability of
one's application. If the application is going to become quickly
unmaintainable because of quirks in the third party GWT libraries or
because core JDK and JDBC were used to (poorly) duplicate
functionality found in Spring/EJB and ORMs, the project will probably
fail or require a complete rewrite. I've been in that situation.
This is the same question to ask whether a project should be done the
right way by unit testing, integration test, acceptance testing, using
a SCM, using a bug tracker, using a Continuous Integration solution,
etc or whether it should be hacked it together and "we'll figure it
out later" (also been there :P).
> Does your application provide a rich grid widget? Or are you building
> inhouse custom components? (if so, please do share). From an end users
> perspective what makes it any better than the ones already available.
The grid that we provided in the past (custom made) and will provide
in the future (gwt-incubator PagingScrollTable) will only be used to
show search results. We don't need a complex grid widget for our
specific applications. We have built in house components, but a lot of
projects have widgets that are very specific to those project. We do
have an OSS project that's undergoing changes atm. I'll be making an
announcement when it's ready for use. I'm throwing out a lot of the
components we built because the GWT team is providing them either in
the trunk or in the incubator. As for the end user, it's the same
reasons I mentioned above. Our widgets are built with vanilla GWT so
they're quick and also well tested.
> I'm sure you're a real smart guy...
Not sure about that :P
> ... but it would be great if you put your
> money where your mouth is and allow users to see the application you have
> been working on, the complexity of the application, along with detail on
> number of developers, and duration of project. We can then draw a comparison
> between the two approaches.
You can't really see the applications we work on because they're
internal only (there is a file transfer system that is external, but
it's rather small). A lot of the projects are still in development
since we're working on about 6 projects (going between them after one
Sprint). Our medium to large sized projects are usually 300-600
person-hours of work. There is only 1.5 full time equivalent people
working on them at the moment (myself and a part time person). I can't
be any more specific then that.
I just want to leave off with one point. I'm not against third party
libraries in general, in fact, I'd love to have a library with shiny
widgets. I've just had first hand experience with one of these
libraries and have spoken to many people who use other ones (i.e. Ext
GWT). In both cases, these third party libraries were either abandoned
or in the process of being abandoned. If someone comes out with a
third party library that's on par with the vanilla GWT widgets in
terms of stability and speed, I'll jump on them.
--
Arthur Kalmenson