Forum Controls
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

NetBeans 6: Matisse Updates

NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed.

Introduction to Groovy Part 3

In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.

Easier Custom Components with Swing Fuse

Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.

Benchmark Analysis: Guice vs Spring

Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
Replies: 40 - Pages: 3   [ 1 2 3 | Next ]
  Click to reply to this thread Reply

JavaOne: Web Framework Smackdown

At 3:49 AM on Jun 30, 2005, Martijn Dashorst DeveloperZone Top 100 wrote:

The Web Framework Smackdown was really funny, entertaining and interesting. The smackdown was between the current bunch of component based frameworks. Each framework was represented by their founders, or core developer or spec lead: Ed Burns represented JSF, Howard Lewis Ship defended his pet project Tapestry, Jason Carreira fought for WebWork, Eelco Hillenius defended the honour of Wicket and David Geary was the knight in shining armour for Struts Shale. It was orchestrated as follows: each framework lead got to talk about the strong points for 3 minutes, demarkated by a bell. After that the audience could ask questions.

The panel had a lot of fun, the audience too. So I doubt many people learned much new, except that a couple of hundred (>1200) more have learned about Wicket, the youngest framework in the panel.

So for those that attended this carnival of frameworks, which one did you found to be left standing, and how do you feel about the frameworks?

And yes, Spring MVC is a great framework, and should've been invited, but it was not, so live with it ;-).
1 . At 1:50 PM on Jun 30, 2005, Serge Bureau DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

Funy to have this subject just after the thread on Xito.

No disrespect intended, but Xito looks to me much more interesting than all those frameworks, as it is all Java.

I hope it makes it to a JavaOne soon !
2 . At 10:20 AM on Jul 1, 2005, Steven Bell wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

I don't think Xito is a web framework is it?

And as far as I know all the mentioned frameworks are also all Java. So I don't see your point.

I didn't get the chance to go to JavaOne, I'd like to hear some comments from anybody that saw this.
3 . At 6:36 PM on Jul 1, 2005, Rainer P. wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

Sounds really funny :-)

I've been in java web frameworks for a long time now and was evaluating webframeworks just a few months ago.
IMHO there are this kinds of "webframeworks" nowadays:

- very basic ones like Struts or Spring MVC where you have to reinvent the wheel for web concerning things for every project once again.

- component based ones like JSF (what is really making one mad about JSF is that there's more XML there than Java code - cool to refactor ...)

- template based ones like tapestry or wicket (cool for Java programmer and for webdesigner - poor for integrator between them who has to glue the shit together).

- complete OO and event driven ones like Echo or Nuhra (Were there no representators for that technologies??)

I think the future will bring web frameworks which will give the programmer the easyness of real gui frameworks which will care for all this handling of hard core web concerning things but featured with the advantages of the web (like CSS and just producing XML which is directly rendered - as the web, XUL, SVG and XAML is).
Perhaps even something like an application framework bundled with the power and easyness of a portal.

Cheers!
4 . At 7:10 PM on Jul 1, 2005, Martijn Dashorst DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

Here is a blog entry on the smackdown : http://rollerweblogger.org/page/roller?entry=web_framework_smack_down

I attended the meeting and though I am fairly biased (being committer on Wicket) I found that the Shale and WebWork projects came out at the bottom. Tapestry wasn't too good in its representation either. I think JSF was doing alright, being backed by industry support. The one that had the least to loose, Wicket, was represented quite good by Eelco. The reusability quote was really strong. And the fact that both Ed Burns and Howard Lewis Ship recommended Wicket (on a user question regarding purity of HTML and Java) was also strong.

All in all I think Wicket came out on top, but others may have an alternative view.
5 . At 7:58 PM on Jul 1, 2005, Serge Bureau DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

> I don't think Xito is a web framework is it?

That's the point where do we need the web for apps ?

> And as far as I know all the mentioned frameworks are
> also all Java. So I don't see your point.

There not, there HTML tag extensions and mainly a mess. They go against good design.

Java is a secondary player on this frameworks.

> I didn't get the chance to go to JavaOne, I'd like to
> hear some comments from anybody that saw this.
6 . At 8:04 PM on Jul 1, 2005, Serge Bureau DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

> I think the future will bring web frameworks which
> will give the programmer the easyness of real gui
> frameworks which will care for all this handling of
> hard core web concerning things but featured with the
> advantages of the web (like CSS and just producing
> XML which is directly rendered - as the web, XUL, SVG
> and XAML is).
> Perhaps even something like an application framework
> bundled with the power and easyness of a portal.
>
> Cheers!

You are right on many of the points, except ypou miss one; why do we need any ?

Web apps is a stupid concept, I could not care less about CSS, HTML XUL or SVG, there all so lame.

Java is so unbelievably better, portal and all are so low tech.

JWS or a frame like Xito tries to be looks like a much better future to me. OSS is loosing a lot of time in doing useless tools.
7 . At 8:11 PM on Jul 1, 2005, Martijn Dashorst DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

Then you'd probably had to attend JavaOne. Rich Client apps developed with JSF, Tapestry, or Wicket are going to be the major development path for the coming 2-3 years. Webstart is a nice way to deploy apps and you can make really good desktop applications using Java, but the reality is that ANY company I have visited is moving away from applications that don't use the browser.

Even though the paradigm for developing rich stateful applications is way better using Java and Swing, the web frameworks using hacks like AJAX are taking over and leave Swing behind for business applications.
8 . At 8:24 PM on Jul 1, 2005, Serge Bureau DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

> Then you'd probably had to attend JavaOne. Rich
> Client apps developed with JSF, Tapestry, or Wicket
> are going to be the major development path for the
> coming 2-3 years. Webstart is a nice way to deploy
> apps and you can make really good desktop
> applications using Java, but the reality is that
> ANY company I have visited is moving away from
> applications that don't use the browser.

Fine to me, less serious competition.
They are ready for the next crash, of course those are marketing based frameworks, no real value.
That's the future you wish for ? You can keep it.

JSF is a very weak concept.

> Even though the paradigm for developing rich stateful
> applications is way better using Java and Swing, the
> web frameworks using hacks like AJAX are taking over
> and leave Swing behind for business applications.


To me business == stupid.

Same for EJB's, useless fat, slow.
Business should not be involved in technological decisions, it is a sure disaster, we have seen their uderstanding with the 200 crash, they are just preparing the next one.

Thin client is 60 years old, not a new thing.
Those who avoid these stupid concept will survive the next catastrophy.

Plus how do business see security from a browser ? As I said stupid is not strong enough to describe them.
9 . At 10:36 PM on Jul 1, 2005, Eelco Hillenius wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

> - component based ones like JSF (what is really
> making one mad about JSF is that there's more XML
> there than Java code - cool to refactor ...)
>
> - template based ones like tapestry or wicket (cool
> for Java programmer and for webdesigner - poor for
> integrator between them who has to glue the shit
> together).
>

JSF, Tapestry and Wicket are all component based; they just have a different focus on how they do templating.

> - complete OO and event driven ones like Echo or
> Nuhra (Were there no representators for that
> technologies??)

First, I think Wicket is complete OO. That's why I got to the framework.

I do agree that Echo would have been a good addition to the panel. Echo has strong and weak points. Echo seems to be robust, and has IDE support. I also tries to stay as close to OO as it can, which is great. The downsides are IMHO, that Echo does its own layout, while that is one thing HTML/CSS actually IS good for. Furthermore, Wicket gets a lot of former Echo users, because they are not happy with the frames based solution of Echo, and they feel too restricted when developing WEB applications opposed to applications. This is actually something that the Echo people say themselves; Echo is best suited for those that want to create applications like they would be doing when programming client server applications without having to worry about HTML /at all/. Wicket on the other hand, as for the people that want their code to be object oriented as possible, but do not want to loose the full power of HTML and CSS. To my taste, this seperation of concerns is a good thing. Lastely, creating custom components in Echo is still fairly complex, while the ability of easily creating custom components is an incredibably strong feature when building complex applications with large teams working on them.

> I think the future will bring web frameworks which
> will give the programmer the easyness of real gui
> frameworks which will care for all this handling of
> hard core web concerning things but featured with the
> advantages of the web (like CSS and just producing
> XML which is directly rendered - as the web, XUL, SVG
> and XAML is).
> Perhaps even something like an application framework
> bundled with the power and easyness of a portal.

You gotta show me that portal that is not only easy to set up, but that is also easy to customize and integrated in your development process!

Anyway, sure I too hope there will be a silver bullet for web application frameworks sometimes, though historical evidence is against this. I really dig the direction EJB 3 is going, thanks to Hibernate and JDO. Lets hope JSF 2 takes the good things of Tapestry, Wicket and Echo, and decrease the number of people that are unhappy with the current version.

Cheers.
10 . At 4:46 AM on Jul 2, 2005, Rainer P. wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

Hi,

> JSF, Tapestry and Wicket are all component based; they just have a different focus on how they do templating.

Yes of course. Obviously I did not point out this well enough.
But that's exactly the main point: All web "frameworks" want to be OO or component orientated or whatever. But that's only one part. The harder ones are:
- real reusability of components
- encapsulation of (not so widely known) web technology parts for errorless creation of web applications.
- ruling how to use the web technologies the best way.
- caring for web features beyond "hello world"; i.e. search engines, drag and drop, AJAX without JavaScript coding, and so on, you see?
I really don't know many people - if any - who know how to handle CSS a good way AND know how to program object orientated with JavaScript AND know every detail about XHTML and Browsers AND know about good server side Java programming... THAT are the things wich should be solved by a good web framework.

BTW. what is a framework in this context? If you have dozens of erroneous HTML templates ("enriched" with the one or other language) flying around spicked with functional copy-and-pasted JavaScript code, spicked with some more or less conceptless CSS and the best: Dozens of XML files for glueing this things (and others!) to some in no way corresponding Java beans:
That is what people call great web frameworks! My laughter and condolences for them.
Even more: They tell you "Hi I'm using Struts, man! That is the standard, man!" How sorrowful.

> First, I think Wicket is complete OO. That's why I got to the framework.

Yes looks better than some others. But how are "pages" created? By coding one and hundreds errorprone HTML "templates" which will never be reusable. I guess your most used tool is "search-and-replace"?
Wicket seems like building an Java GUI with Java2D-templates. Sorry.

> The downsides are IMHO, that Echo does its own layout, while that is one thing HTML/CSS actually IS good for.

Yes, that's exactly the point why Nuhra had to be started (which is in version 0.5 now).

> You gotta show me that portal that is not only easy to set up, but that is also easy to customize and integrated in your development process!

No bullshit, we built (nearly) such one in the company I worked previously. :-)
- Setting up a new server and DB (-repository) with a few mouse clicks (the system is built uppon itself).
- paint your tables - they are deployed on-the-fly (like in Access). Changes also on-the-fly.
- write your code as reuseable plugin - fill your application with masterdata in a reuseable module.
- create your gui with very abstract templates which are parsed by a generator. Customize the gui via CMS-GUI (on-the-fly) or by hnad if needed.
- dozens of predefined modules and plugins
- built-in features like right system on dataset-level, multi-clientele, multi-language,...
- very lightweight: We deployed more than 60 apps on one (not the newest) server.
Forget all the "hello world" web frameworks. That's the way we all will build web apps in near future.

Cheers!
11 . At 6:02 AM on Jul 2, 2005, Eelco Hillenius wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

> But that's exactly the main point: All web
> "frameworks" want to be OO or component orientated or
> whatever. But that's only one part. The harder ones
> are:
> - real reusability of components
> - encapsulation of (not so widely known) web
> technology parts for errorless creation of web
> applications.

So... who says Wicket can't do this? Though it is 1.1. functionality, we allready have support for creating full blown components including JavaSript/CSS support that can be used without any knowledge if its internals. So, you can use DatePickers etc without having to know anything about javascript and without having to additionally add header references etc. And we are working on AJAX support, which is planned to be ready early september.

> - ruling how to use the web technologies the best
> way.
> - caring for web features beyond "hello world"; i.e.
> search engines, drag and drop, AJAX without
> JavaScript coding, and so on, you see?
> I really don't know many people - if any - who know
> how to handle CSS a good way AND know how to program
> object orientated with JavaScript AND know every
> detail about XHTML and Browsers AND know about good
> server side Java programming... THAT are the things
> wich should be solved by a good web framework.

Sure. It is pretty ambitious to want to solve it all though. We made the design decision to seperate markup (read layout) from Java code, because:
1. we don't want to end up making a full representation of what HTML/ CSS allready is on the server side. We actually think that HTML is not the problem.
2. we want designers who know HTML and CSS to be able to work with their favorite tools, and be able to understand the templates easily. And we want the coders to code the Java. Generally, programmers don't like the layout stuff. Putting the layout stuff back in your Java code isn't going to help them much.

> BTW. what is a framework in this context?

How about 'support structure in which another software project can be organized and developed'? So, frameworks they are. About their quality you may argue.

> Yes looks better than some others. But how are
> "pages" created? By coding one and hundreds
> errorprone HTML "templates" which will never be
> reusable. I guess your most used tool is
> "search-and-replace"?
> Wicket seems like building an Java GUI with
> Java2D-templates. Sorry.

All components in Wicket are reusable, including components that have markup attached, like Pages, Panels, Borders or pretty much whatever you like. Put them in a jar, and you're ready to go.

>
> > The downsides are IMHO, that Echo does its own
> layout, while that is one thing HTML/CSS actually IS
> good for.
>
> Yes, that's exactly the point why Nuhra had to be
> started (which is in version 0.5 now).

So... I just downloaded your project and gave it a good look. The examples are nice from a technology point of view (AJAX is hot), but they don't look that good. So... I looked a bit at how you do things, and it looks like this:

grid.setHorizontalAlign(ALIGN_CENTER);
grid.setWidth(500, UNIT_PIXEL);
grid.setBackgroundColor("#d5d5d5");
grid.setPadding(10, UNIT_PIXEL, DIRECTION_ALL);
grid.setBorder(new Border(2, UNIT_PIXEL, Border.BORDERSTYLE_OUTSET, "black"), DIRECTION_ALL);

I can tell you one thing: our web designer is not gonna like this!

But well, it seems there is a framework market for people that do not want any markup at all, though a remark we at Wicket sometimes get is that Wicket is too much Java, so that must not be the same people.

One last question though. Your framework looks a lot like Echo2. Both take care of translating the java based layout to actual layout, and both are fully AJAX based. Echo2 is more mature, and has a GUI builder. What differentiates your framework from Echo2?

Peace
12 . At 6:23 AM on Jul 2, 2005, Rainer P. wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

Hi,

> So... I just downloaded your project and gave it a good > look. The examples are nice from a technology point of view (AJAX is hot), but they don't look that good. So... I looked a bit at how you do things, and it looks like this:

> grid.setHorizontalAlign(ALIGN_CENTER);
> grid.setWidth(500, UNIT_PIXEL);
> grid.setBackgroundColor("#d5d5d5");
> grid.setPadding(10, UNIT_PIXEL, DIRECTION_ALL);
> grid.setBorder(new Border(2, UNIT_PIXEL, Border.BORDERSTYLE_OUTSET, "black"), DIRECTION_ALL);
>
> I can tell you one thing: our web designer is not gonna like this!

Of course! I agree. And there are better ways to do this in Nuhra.
You have to read this:
http://nuhra.sourceforge.net/documentation/tutorial/laf.htm
The other documentation isn't that up-to-date which is the main reason why our team does not yet want to make big wind about Nuhra...
Look and Feel is one major point in Nuhra:
- You CAN programmatically adapt it in your code.
- But you also CAN use ids. The better way for the above code would be: grid.setId("myFancyGrid", false); and add something like #
myFancyGrid { align:center;width:500px;background-color:#d5d5d5;padding:10px;border:2px outset black; } to your CSS.
- Java component classes are default mapped to CSS classes.
- You CAN set a class to a special instance of a component. Once more the example above:
grid.setClass("fancyGrids"); CSS: .fancyGrids { /* as above */ }
- You CAN extend and override default CSS classes in your own stylesheet and add it to your Nuhra app.

So what? :-)
Good enough for you? ;-)

Cheers!
13 . At 6:37 AM on Jul 2, 2005, Eelco Hillenius wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

> Of course! I agree. And there are better ways to do
> this in Nuhra.
> You have to read this:
> http://nuhra.sourceforge.net/documentation/tutorial/la
> f.htm

Yeah, I read that. Still no way our webdesigner will be able to use Dreamweaver/ GoLive etc to mock up the pages. Doesn't work for me, period. But if it works for you, that's fine.

So, what /does/ differentiate your framework from Echo2?
14 . At 7:19 AM on Jul 2, 2005, Duncan Mills wrote:
  Click to reply to this thread Reply

Re: JavaOne: Web Framework Smackdown

>
> JSF is a very weak concept.
>
Be nice if you can could quantify / justify that statement. In my opinion it's a very well thought out framework that offers a very effective component based model for development. Ok not everyone likes that approach but that's not to mean that it's not a well designed specification because it is.

>
> To me business == stupid.
>
Who is stupid? - does business in this sense mean anyone who charges for software, anyone who uses software, anyone who has made money from software or the whole industry? Just curious....

thread.rss_message