Link Details

Link 135970 thumbnail
User 306525 avatar

By newton_dave
via buckybits.blogspot.com
Published: Nov 24 2008 / 17:53

A response to "Web Frameworks - We Need Less, But They Keep Adding More (Part 1)" and the ensuing dzone meltdown.
  • 10
  • 7
  • 1441
  • 483

Comments

Add your comment
User 209464 avatar

willcode4beer replied ago:

0 votes Vote down Vote up Reply

I can't help but wonder about the motivation for this post.......
c'mon Dave

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

Really? I think I was pretty clear it's a direct response to both the technical and social issues raised by the meltdown of the post in question. Hope you didn't wonder *too* much ;)

User 209464 avatar

willcode4beer replied ago:

0 votes Vote down Vote up Reply

lol, yea. I just thought it better not to provoke such *sensitive* individuals too much :-)

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

I never claimed *I* wasn't an idiot!

User 209464 avatar

willcode4beer replied ago:

0 votes Vote down Vote up Reply

lol. I for one know you are not. BTW, I do appreciate your work on the Struts project.

You should update yourself on "ohloh"
http://www.ohloh.net/projects/3569/contributors/15330885810186

User 152955 avatar

Gregg Bolinger replied ago:

0 votes Vote down Vote up Reply

What's interesting still is that there *is* a framework that provides *zero XML configuration* outside of defining the filter in the web.xml, which is required for any java web application (filter or controller servlet).

Stripes.

The author of that other thread wonders why we keep creating monolithic frameworks and even though there is a viable solution to what he wanted, he creates a new framework. I once tried out JPersist and had several email exchanges with the guy. JPersist is actually nice if you like the Active Record pattern. He seemed like a nice guy.

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

Yeah, there are several XML-free (or very low XML) options; most or all seem like pretty good options (including jWebApp, although the servlet-spec and Spring issues rule it out for me personally).

Have you read the new Stripes book yet? It's on my stack but haven't had the time yet--latest version seems like some pretty nice stuff, though.

User 152955 avatar

Gregg Bolinger replied ago:

0 votes Vote down Vote up Reply

Oh yea, I own the book. I've read it cover to cover. Good book. I've been using Stripes for about 2.5 years now. I've met the creator and know all the devs pretty well.

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

Cool; thanks--looking forward to reading it.

User 281050 avatar

cbang replied ago:

0 votes Vote down Vote up Reply

Stripes? Interesting, I thought you would've said Wicket. After spending some time with Wicket, I am wondering why our software department is into the masochistic madness of JSF.

User 152955 avatar

Gregg Bolinger replied ago:

0 votes Vote down Vote up Reply

Nah. I mean, if I were into component oriented frameworks then I'd probably use Wicket. I just have never found the need for them.

User 199218 avatar

dbulmore replied ago:

0 votes Vote down Vote up Reply

First off your article has a problem and displays a ton of garbage. To Gregg, I didn't just create jWebApp, it has been around for several years. Back to Dave Newton, the meltdown as you put it was more than 50% your comments.

My point, which I will make again in the near future, is that for me and I assume many others, frameworks do to much. All I need is to receive data and make data available to the view. And then I need to code some simple HTML/CSS JavaScript, etc. But I don't need the framework dealing with any of that. I also don't need to tie things together with XML.

What's most upsetting to me is that you can tell most people yesterday didn't even read the article and know nothing of jWebApp, but assumed things and saw everyone voting it down so they did too. How do I know this? Because they talked of things that had nothing to do with the framework. But, of course, I'm overly sensitive.

User 152955 avatar

Gregg Bolinger replied ago:

0 votes Vote down Vote up Reply

I didn't realize jWebApp had been around for several years. With regards to:

"My point, which I will make again in the near future, is that for me and I assume many others, frameworks do to much. All I need is to receive data and make data available to the view. And then I need to code some simple HTML/CSS JavaScript, etc. But I don't need the framework dealing with any of that. I also don't need to tie things together with XML. "

I agree. That's why I use Stripes. ;) Not that it is better than jwebapp, its just that I know it and I really like it. At the same time I believe it stays true to the way a web framework should be built. Unobtrusive and there to help, not get in the way.

I've stopped caring what frameworks other folks use anymore. I generally only mention Stripes when someone asks for suggestions.

User 306525 avatar

newton_dave replied ago:

1 votes Vote down Vote up Reply

As I've said, repeatedly, I can only speak for myself with regards to why I downvoted. Which you'll note I retracted, because obviously you don't deal with it very well, and I see no point in making you feel even worse.

Now that we've evened up the downvote count can we stop? (If you couldn't read it not sure I understand the downvote, but that's okay.)

Yes, you *are* overly-sensitive, at least about this. Yes, some people probably *did* downvote for reasons unrelated to the article, but it's the internet, dumb things happen, and getting all worked up about it probably isn't the most functional response--but that's just my opinion. If complaining about it works for you, more power to you.

(What browser are you using and what are the symptoms? There's nothing particularly weird in the CSS or JavaScript, but if I can fix it, I will.)

User 265553 avatar

jonnes replied ago:

0 votes Vote down Vote up Reply

I happen to know Dave, and have to tell you he is a nice guy. He also did all the work himself (jPersist, jWebApp, jwaBlogger, websites, documentation, etc.) And I find myself ashamed to be involved with this community, after the shabby way he was treated.

One guy votes down his article based entirely on the title which is explained on the very same page in the first two sentences and it turns into a shoot Dave contest. You people disgust me!

User 152955 avatar

Gregg Bolinger replied ago:

0 votes Vote down Vote up Reply

I've had my articles voted down for really dumb and stupid reasons. I don't recall ever resorting to name calling.

Yea, I had pleasant experiences with dbulmore in the past. I think he just overreacted. Look, if you read that other thread of comments from top to bottom here is what you see right off the bat.

Someone down votes the article
Someone else asked who the "we" and "they" are
dbulmore calls the guy a jerk

After that all hell breaks loose. Bottom line, this is the internet. Anyone can think anything about anyone or anything. It's a free "world" in that regard. As a community we shouldn't be name calling, plane and simple. If dbulmore had not called anyone a jerk I honestly suspect that thread of comments never would have gone as far as it did. Hopefully dbulmore can see the logic in this and not think that I am just trying to blame him for the whole thing. Everyone else could have just ignored it. So it isn't any one person's fault for it getting that out of hand. I think the Dave's should trade phone numbers and sort this out as face to face as possible. Everyone should just let it go and chalk it up into some folks overreacting and hopefully lessons learned for next time.

User 199218 avatar

dbulmore replied ago:

0 votes Vote down Vote up Reply

This is the way it happened! The very first down vote and comment was "who is we and who is they". Now asking the question is perfectly fine, and I would have provided the second sentence below the title as an answer. But, instead he votes the article down; and it had to be based entirely on the title, because clearly reading the article would have left him knowing who we and they are. So yes I did get mad (not allowed on DZone), because he voted the article down entirely based on the title. He didn't read the article and most of the others didn't either. It was like a snowball rolling downhill, one guy sees a down vote and the rest follow. Not one person commenting and voting knew a thing about jWebApp, but they made all kinds of assumptions.

This is my work, obviously I will defend it and get mad when appropriate.

User 152955 avatar

Gregg Bolinger replied ago:

1 votes Vote down Vote up Reply

dbulmore: getting mad is ok. Defending your work is ok. But I believe we can all do that without name calling. Don't you? If you can't see that calling someone a jerk is the wrong approach then I just don't know what else to say.

User 199218 avatar

dbulmore replied ago:

0 votes Vote down Vote up Reply

Ok so I won’t use jerk again. Jerk isn’t considered foul language on a par of other four letter words. It’s something you call someone when they’ve wronged you. But why am I the only one who sees a problem with the guy down voting my article without a good reason? Why is every one so quick to down vote? Why is everyone so quick to jump down someone's throat?

I've spent a lot of time and effort on my projects, just to see people do things like this. And this isn't the first time. The ActiveObjects guys down voted one of my jPersist articles and when I complained about that I got shot down even worse. But these are competitors, do I then go and do the same to them?

No one gets mad at these guys for down voting with no reason. Or people from competing projects down voting simply because they are the competition.

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

I still don't see how you know that anybody voted down the article *simply* because they're the "competition". I can obviously only speak for myself, but that's not why I downvoted. But even if that *is* why some people downvoted--is it *really* worth it to get that worked up about it? Was it worth giving people the ammunition for even *more* "arbitrary" downvotes? Look what happened when you submitted your article about getting two downvotes--that article was hit with what, 30+ downvotes? *That's* the kind of negative attention no person, or project, really needs--at least that's the way I look at it.

I've offered as bunch of olive branches. I offered to continue rational conversation off-dzone. Fine, "what I did" is unforgivable, although it's not exactly clear to me what I did that was so unforgivable, unless trying to talk someone down is a Really Bad Thing. So don't forgive me, and let's move on. I promise not to downvote any more of your articles even if I don't like it, and if I do like one, I'll vote it up. I'm not sure you could ask for much more than that.

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

Very few (f any?) people "shot Dave". As I've said, I'm sure he *is* a nice guy. I still feel, however, that the reaction was out-of-proportion, spiraled rapidly worse, and was very hypocritical (and if you voted down this submission for any reason other than its content then you're as guilty as those he was complaining about). It's okay for us to disagree on this, the merits of our articles, or lots of other things--it shouldn't need to end in name-calling, disgust, or increased dissociation from what people are actually saying.

User 199218 avatar

dbulmore replied ago:

0 votes Vote down Vote up Reply

Furthermore, the majority of the down voters and commenters work on competing frameworks! That's just not right! So DZone will go the way of Usenet, where everyone just flames everyone.

User 199218 avatar

dbulmore replied ago:

0 votes Vote down Vote up Reply

Actually this is much of what I complain about. You take a cursory look at jWebApp and are suddenly an expert.

Having the ability to define configuration is actually handy. It is also a legacy aspect of jWebApp, as that was it's original design 4 years ago.

Today the configuration can be used to override the convention/configuration. It can also be used with regexp URI matching to redirect/forward, etc.

The model interface classes can also be defined with HttpServletRequest HttpServletResponse, if that is all you need. The ServerInterface class provides added functionality to handle multipart forms and other useful things.

Since web.xml is a servlet thing something has to generate it, but because it's so simple I leave that to the developer. The path mappings are required in a servlet container otherwise the servlet container won't even get the request to your servlet. So I don't know ehere you're comming from there.

The jwa tags are actually simple tag files that do nothing more than populate the form with either the object you pass in or the param.value associated with the name.

I don't integrate with Spring because A: you can use it without it being integrated. B: not everyone wants to use it.

JSON, again very trivial. Start with, it was an example. There are all kinds of libraries that you can use without my integrating yet another something.

I avoid integrating the world for the purpose of letting you choose among the many tools that exist, which I believe is a far better way.

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

Who said I was an expert? I specifically stated that there were probably things I was missing.

Sure, being able to define configuration *is* handy--but it's counter the first article that decried the use of XML, and there are a lot of other frameworks that are *also* very XML-light. In the first article the claim *seemed* to be that XML configuration was one of the benefits of your framework when compared to most others, and I haven't found that to be the case. My issue wasn't that "jWebApp uses XML", it was that there was a claim of differentiation that isn't supported by my experience.

The issue with ServerInterface isn't that it provides too much, it's that it's tied to the servlet spec, which makes testing more awkward than it needs to be. Replacing it with other servlet spec dependencies doesn't alleviate that issue. Again--that's why it doesn't work for *me*--it may be perfectly okay for other people, but I can only speak to my needs, and the needs of the environment I work in.

Again, the tags are simply something that the first article claimed weren't a good thing (or that was my impression, anyway)--*what* they do isn't really relevant to why I found it confusing. Most tag libraries don't do much more than re-populate, although some do other things as well--functionality I find very useful in many cases, but that's just me.

I'm not sure I get your points about Spring: you can use a lot of other frameworks without Spring as well, so that isn't a differentiation for me. For the kinds of things I find myself writing Spring (or similar) is a *huge* win, so a framework that would force me to re-write underling mechanisms to take advantage of it is a no-go. Again, I'm *sure* that's not true for everybody, and that's okay.

I'm not asking you to defend your framework, nor do I feel a defense is necessary. It doesn't work for *me* or my problem space, and I gave some reasons why. I also attempted to explain *why* I didn't like the article and had originally downvoted it, because it *does* matter to me that you understand I didn't arbitrarily downvote it and that I most certainly didn't downvote it because I contribute (mostly documentation) to a competitor.

User 199218 avatar

dbulmore replied ago:

0 votes Vote down Vote up Reply

I assume if you're going to write an article about something you should know what you are talking of. For 4 days you have been attacking me and my work. And as you are a Struts enthusiast I have to assume it is based on that fact. Struts is the first framework I would choose not to use. But I'm not going to rant on the reasons why.

As for Spring, you don't have to build spring into your framework to use it.

My whole concept for jWebApp is to have something that's as easy as posible. The model methods are simple:

public String processMethod(either ServerInterface, HttpServletRequest, HttpServletResponse, or both)
{
// what ever you need to do.
}

I fail to see why framework developers try to hide the fact that we are all dealing with servlets. Therefore, I simply added MVC to servlets and what ever view tech you want to use. Being tied to the servlet spec? Everything Java web app is servlet based and whether you have your own methods for accessing the servlet environment or what ever, you're still accessing the servlet environment or you're not doing very much.

You're not asking me to defend my work. You just wrote a huge rant about it and left dozens of comments on my article. For those paying attention who's the nut? This guy been obsessed with this for 4 days!

User 199218 avatar

dbulmore replied ago:

0 votes Vote down Vote up Reply

Furthermore, my one page article covered everything you need to know to use jWebApp. And I or anyone else can do anything possible (see jwaBlogger.org as an example). You had to write a book with several hundred pages to INTRODUCE struts 2.

I'll put my work up against yours any day!

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

> For 4 days you have been attacking me and my work.

No, I haven't been. I said you over-reacted (and continue to do so), I didn't like the article (and said why), and that jWebApp doesn't work for me (and said why). If not liking something you've done or thinking you've massively over-reacted is "attacking" you then sure. I attacked you. Whatever.

> And as you are a Struts enthusiast I have to assume it is based on that fact.

Even though I've explained that it isn't why, and explained the reasons why. You can ignore reality all you want, that doesn't mean it doesn't go away.

> Struts is the first framework I would choose not to use.

You've actively chosen not to use a great number of frameworks, going so far as to create your own. Your article enumerates the reasons you've chosen not to use those frameworks, even though your article overstates the advantages of jWebApp over some other frameworks--which is one of the reasons I didn't like the article.

> As for Spring, you don't have to build spring into your framework to use it.

That's correct. However, if the request-handling classes aren't created by Spring then they don't participate in the benefits Spring brings to the table (as easily, at least). Even if they *are* created by Spring you don't have to "build Spring into your framework"--you just need to allow framework objects to be created by Spring. In Struts 2 this is handled by a non-core plugin, other frameworks support it in different ways, and I'm sure others don't support it directly either. That's fine, but no Spring (or equivalent) support is useless to *me*.

> Everything Java web app is servlet based and whether you have your own methods for accessing the servlet environment or what ever, you're still accessing the servlet environment or you're not doing very much.

Do you understand *why* I don't want my classes tied to the servlet spec? Do you understand that the servlet spec dependencies can be abstracted at a lower layer than the user-written request handlers?

> Furthermore, my one page article covered everything you need to know to use jWebApp.

No, it doesn't, otherwise you wouldn't need a 45-page PDF to explain more (although I still couldn't find much information about the payment processing, and you won't answer my question about it, so whatever).

Yes, my book (if published) will be around 300 pages (and would have had around 50 more if I'd had my way, but they're making me drop the database and tools chapters, which is unfortunate). It covers all the main functionality of Struts 2 plus a few plugins, an OGNL chapter (not required to use Struts 2, but handy), has two JavaScript/DOM/CSS chapters, a documentation chapter, a testing chapter, and quite a bit of non-framework-specific things in most of the Struts 2 chapters (mostly agile development/design things like user stories, decoupling, dependency injection, etc).

If I had to guess I'd say around 100-150 pages are Struts 2-specific. The base functionality that duplicates what jWebApp provides could be documented in essentially the same amount of space as you've taken, because for the most part it works very similarly. Some people have the need for a framework that provides more, so such frameworks exist.

If you want to throw out big numbers about how terrible and difficult it is to learn Struts 2 you'd be better off focusing on the books that take even more pages and talk only about Struts 2. It's silly, of course, because someone could just as easily write a 300-page book about developing web applications in jWebApp.

> I'll put my work up against yours any day!

Go ahead--it's not a competition, more power to you.

You've completely ignored almost everything I've said and have chosen to focus like a laser beam on how "wronged" you've been. You've dug yourself a hole, reverted to a defensive posture, and keep wondering why people think you're over-reacting.

Fine, I've "attacked" you by not liking your article or your framework and thinking you've *massively* over-reacted. Fine, it's "unforgivable". So don't forgive me, hold a grudge for the rest of your life, all because I didn't like the article, and your framework doesn't meet my needs. That'll show me.

User 199218 avatar

dbulmore replied ago:

-2 votes Vote down Vote up Reply

It would also be nice if you could direct us to some of the awesome work you have done in your 30 year career. And I'm talking of your one-man projects, not projects where you were one of many. My portfolio can be found starting at jwaBlogger, and everything you find is my work.

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

Do you really think this is a pissing contest?! Do you really believe because your framework doesn't work for me and that I didn't like your article that I think everything you've done is useless or of no value to *anybody*?

What is the *matter* with you?

User 188795 avatar

villane replied ago:

0 votes Vote down Vote up Reply

Maybe you could turn it into a contest of which one of you could stop hitting the reply button first :)

User 306525 avatar

newton_dave replied ago:

0 votes Vote down Vote up Reply

Damn, I just lost.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.