Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

The good ol' Struts vs. WebWork Debate

Jason Carreira has been nice enough to post a technical comparison of Struts vs. WebWork. Don Brown (creator of many Struts add-on packages) and Jason have been going at it ever since. It's funny, there's a small part of me that doesn't believe there's a future for Struts (because of JSF). I believe that JSF and WebWork are quite similar, and if I'm going to take the time to learn a new framework, I should learn JSF. Why? Because, I'm willing to bet the literature for Struts -> JSF is out there, and there's probably no literature for Struts -> WebWork. Also, I believe there will be JSF jobs in the near future, but not many opportunities for WebWork. In a perfect world, I'd do something like Kris is doing and learn them all - extend AppFuse to support my favorite framework (if I find one better than Struts) after the learning process, and use that for new projects.

Where does Kris find the time to learn all these frameworks? I barely have enough time to workout and complete my 8-hours-per-day of productivity-for-pay. Then again, I've been getting up around 7:30-8:00 a lot lately vs. the usual 4 a.m.

In my current gig, I'm teaching a fellow programmer how to write webapps in Java. He's never written Java, HTML, CSS or JavaScript. He wants a tool to do it all - so he can drag-n-drop, point-n-click and voila - he's created a webapp. This is a fundamental problem with J2EE - it's not possible? Or maybe it's the beauty - you have to get down and dirty with the code to create a webapp. Another issue is that we're using Struts Resume as our baseline and architecture - and there's really nothing in this app that's drag-n-drop or tools-friendly. Everything is Ant, JUnit, Struts and Hibernate. You have to be somewhat familiar with all of these to build/deploy this app. Personally, I like getting down-n-dirty with the code, but that's because I'm familiar with it and have been working with it for years. Teaching someone else how to get down-n-dirty (and to like it) is proving to be a whole other battle.

Posted in Java at Nov 12 2003, 06:17:46 AM MST 12 Comments
Comments:

Haha, sleep is for the weak! I think you taking on JSF is great! Wanna build the Wafer Weblog with it? Please? I think JSF is great because it is a direct response by Sun to compete with ASP.NET. And having just worked with Visual Studio with ASP.NET I would have to say that JSF REALLY needs to be successful if J2EE wants to stay competative with small to medium scale web applications because VS & ASP.NET really make web development fast (not saying anything about quality here just fast).

Posted by Kris Thompson on November 12, 2003 at 02:27 PM MST #

You would soon be able to build webapps in java by only point-n-click and drag-n-drop. At linuxworld i attended a demo for rave and jsf were they built, in 15 minutes, a simple webapp. I on the other hand i also like getting down-n-dirty with the code because they are a lot of things that you can just do with point-n-click

Posted by michel on November 12, 2003 at 04:22 PM MST #

I think you have to get down and dirty with the code to really be sucessfully with a Java webapp. I think this is for the most part a good thing. If you want a more drag and drop RAD plateform I think ColdFusion or god help you MS .Net is a better solution. The more drag and drop you have the crappier I have seen apps turn out. That is not to say that with any of the more drag and drop plateforms you cannot create some really great nicely coded and functioning apps. After all I love CF and have been pretty sucessful with it. :)

Posted by Kurt on November 12, 2003 at 04:22 PM MST #

Have him take a look at Oracle JDeveloper 10g or Weblogic Workshop 8. Also heard Borland JBuilder X has similar "drag-and-drop" capability but I haven't seen it. ? Also, I don't know if you've ever seen WebRatio?

Posted by Carlos E. Perez on November 12, 2003 at 04:32 PM MST #

Kris - I do believe that sleep is for the weak. I used to get 4 hours per night, but just haven't been able to do it lately (damn new comforter).

Carlos - I don't really want to introduce any new tools that I'm not familiar with. He wants to use Eclipse, which is good, but it requires down and dirty. If we were to use a drag-n-drop tool, we'd probably have to conform to the tools directory structure and build-system (which usually sucks IMO), which would (most likely) conflict with how Struts Resume is laid out.

Posted by Matt Raible on November 12, 2003 at 04:36 PM MST #

WebWork is not like JSF... Tapestry is kind of like JSF. WebWork is more like Struts, a command dispatcher with views, not a UI component model.

Posted by Jason Carreira on November 12, 2003 at 04:57 PM MST #

I agree that tools like Visual Studio and it's "drag and drop" philosophy does create bad code, but for some web applications that is OK. If I were to create a simple site that is like a free online dating service I might consider ASP.NET. One, if it is free that means I ain't getting paid so I want to get the thing up ASAP and if it breaks every-now-and-then well that is OK too because no money is being lost... so no ones ass is on the line. Now if this were a subscribed dating service where folks pay money.... I might go with a java based solution like WebWork or one of the other 34 choices

Posted by Kris Thompson on November 12, 2003 at 05:15 PM MST #

FYI - Your comments are totally unusable on your weblog here on IE6 (but work fine on Mozilla). Any time I click <u>anywhere</u> on the page (yes, including on the text of the entry where there is no link or anything), I get a javascript runtime error...

Posted by Will Gayther on November 12, 2003 at 05:23 PM MST #

Ummm only a small part of you doesn't believe Struts has a future with JSF? Dude.... JSF *is* Struts, except a true Java standard. Say bye-bye to Struts! As for Jason's comment that JSF is kinda of like JSF.... maybe sorta, functionally in a warped kind of way.... but Tapesty is so much cleaner and easier to work with. Unless you like drag-and-drop and a bunch of generated UI code that no designer will ever want to touch, I wouldn't touch JSF.

Posted by Erik Hatcher on November 12, 2003 at 05:49 PM MST #

My comments on this whole thing... http://www.lightbody.net/~plightbo/archives/000021.html

Posted by Patrick Lightbody on November 12, 2003 at 06:38 PM MST #

I think you might want to take a look at WebObject 5. Java, Direct To Web (http://www.macdevcenter.com/pub/a/mac/2003/11/04/web_objects.html), and close to code free development for basic apps. Like all frameworks it is fairly easy to start and take a long time to completely master.

Posted by Lon Baker on November 13, 2003 at 07:50 AM MST #

(/!\ if you're not in good mood, there's no need to read this wannabe ironic comment). I agree with Erik, don't expect Jakarta to be a heaven for Java developpers any longer. Since the JCP modifications, Jakarta has embraced SUN's way of thinking, and Jakarta is not much more than a repository for SUN's Reference Implementation. Ok, what I said just before is utter bullshit, it's of course not like this, but it's very disappointing to see Struts, Jetspeed, Tomcat, soon Geronimo I think, be the "faire valoir" for SUN. I understand the need to have some standards in todays web development, but frankly, the first part of this need is the JSP kludge. There has been viable alternatives, Apple WebObjects, ATG jhtml, Webmacro... and where is the hype today? JSTL... Of course this is gorgeous, perhaps an apogee for JSPs, a standardized way to write the most procedural code since QBasic, and turn it via the big mixer into a wannabe object. All in all, to spit out kB of HTML designed with bulky visual tools, embedding tons of JavaScript, we don't need something more elegant. This is just the normal evolution: what is the most important "community" of developpers in the world? Visual (ahem) Basic. So we know the solution of infinite wealth and wisdom : procedural, drag & drop, copy & paste & change randomly some tidbits. No need to look further than that :-)

Posted by Damien on November 18, 2003 at 11:47 PM MST #

Post a Comment:
  • HTML Syntax: Allowed