Quote of the Day
Alex Russell: "It's a cock tease in the form of a laptop."
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 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.
JSF is not perfect, nor the greatest thing since sliced bread. There, I said it!
What bugs me most (and remember, I'm still a big fan) is that JSF was supposed to be really easy-to-use. But the reality isn't quite so sweet.
Adam goes on to explain a few of his pet peeves with JSF. He also asks "What are your biggest JSF usability concerns?" If you're using JSF and experiencing usability issues, now's the time to speak up.
For a good story of how Equinox helps, see Wayland Chan's Equinox to the rescue blog post.
This release's major new features are Tapestry 4.0 and WebWork 2.2.1 upgrades.
In addition, I changed to use Maven's
Standard Directory Layout. It makes IDE and using Maven plugins much easier,
so it's a natural progression.
This release does not contain Maven support for running the integration tests with
Cargo. This is because Cargo still seems
a lot more complicated with Maven than with Ant. Hopefully I'll be able to figure
out an easy way to get test-all functionality with Maven and Cargo in the next
release.
All of the frameworks used in Equinox, as well as its build/test system is
explained in Spring Live. A summary
of the changes are below (detailed release notes can be found in JIRA):
Download. For more information about installing the various options, see the README.txt file.
Demos:
Known Issues: The Tapestry-Flash JAR was built with JDK 1.5 - so you'll need JDK 5 to run the Tapestry version. Howard Lewis Ship said he'd fix this tonight or tomorrow. Also, if you're on Unix, you'll need to run "ant fixcrlf" before you install anything. Finally, downloading dependencies might not work the first time. Running the "ant" or "mvn" command multiple times usually solves the problem.
See the roadmap for what's coming in the next release.
In addition to upgrading Tapestry last week, I also upgraded Equinox to WebWork 2.2.1 (from 2.1.5). The commit log can be found on Fisheye. The changes I had to make were pretty minor:
webwork.objectFactory=spring
to your webwork.properties file. This isn't a whole lot different from 2.1.5, except that you can get rid of the SpringObjectFactoryListener from web.xml.Hopefully this helps you upgrade to WebWork 2.2.1.
Last week, I upgraded Equinox from Tapestry 3.0.3 to Tapestry 4.0. The commit log can be found on Fisheye. Here are some details that might help you upgrade.
public abstract void setXXX
methods as I got an error otherwise. Luckily, the error message told me exactly what to do.Hopefully this simplifies your Tapestry 4.0 upgrade.
From Ted Husted on the Struts mailing list:
Seriously, hype aside, engineer to engineer, if we can use the new standalone Tiles with WebWork, and use Ajax to store the state of UI controls, what else do we need to do to make WebWork/Action 2 the best framework for *everything*?
My reply:
The tag documentation (and documentation in general) for WebWork is
difficult to navigate. Struts' documentation has generally made it
easier to find stuff.
I think the hardest part of WebWork/Action 2 is providing the path for
migration. If Struts 1.x applications can run in Struts Action 2.x,
and users can create new Actions following WW's APIs - that will be
truly awesome.
Another that would be cool is smart defaults. For example, having
Actions that end with "Action" be available at the
"everythingbeforeAction" URL. Spring has something similar coming in
2.0 - and it's mainly just done by extending a certain class.
http://jroller.com/page/raible?anchor=an_example_of_smart_defaults
So if I have UserAction, it's automatically available at /users,
/user/edit, /user/save, etc. Default CRUD in a sense. No xwork.xml
required by default. But users can override. Default everything w/o
requiring annotations, but allow overriding. Or maybe there's
different default schemas - a CRUD one, store front, etc.
Ajax stuff that I think WW already has: in-page updates,
sortable/pageable lists with something like the displaytag - but with
Ajax. There's a lot of these components already available for this
stuff, so it might just be a matter of documenting how to integrate
them.
Promoting Maven 2 for building might be an easy way of promoting
inclusion of 3rd party libraries. Add 3 lines of XML, use this code
in your JSP/template, boom - you're good to go. Those that don't like
Maven can use the Ant tasks and pom.xml.
Archetypes could be pretty big too - create starter applications that
users can use. Even better, provide a means to upgrade the
archetypes. Of course, that might be a Maven thing - and editing
pom.xml to change versions really isn't that hard.
Above all else - to become the best MVC framework for Java -
documentation and easy migration are essential.
Just my $0.02 of course.
What's your opinion?
A week ago, Apple announced that it was shipping MacBook Pros with faster processors. At the time, this seemed like an excuse for Apple to change the shipping date from February 15th to the 28th. Since I was already disappointed by the extra 2-week wait, I upgraded to the 2.16 GHz chip. This bumped my ship date back even further - to March 17th.
However, I just received an e-mail from Apple saying that my laptop has shipped! WTF? Either there's a glitch in their system or I'm gonna be one happy camper at the end of this week.
At 14°F, it was definitely a cold ride to work this morning. It took about a mile and a half before my face when numb. Then I stopped to snap some pictures, which made my fingers go numb. However, the sun was out and it is a beautiful morning in Denver.
Why am I doing this? To raise money for a CSS Design contest.
Tuesday Morning Update: Last night's ride home was pretty warm - 35°F. This morning's ride was fairly nice too (31°F). Here's proof from last night.
A week ago, I received a $250 donation for "AppFuse Development". This is a significant amount of cash, and unfortunately the committers can't do a "beer at the local pub". We've decided that a good thing to do with the money is to use it to buy a prize for a CSS Framework Design Contest. The AppFuse Logo Contest went well, but I also gave away an iPod to the winner.
This contest will be a bit different. First of all, the CSS Framework is not AppFuse-specific at all. It's just a structured bit of XHTML for page layout, and a number of CSS files for positioning. What's missing is a number of good-looking templates to make this framework look even better. I have aspirations of creating something like CSS Zen Garden - but with more of a web-application flavor. Hopefully we can use the same submission guidelines as well as offer the contest's themes for anyone to use. The CSS themes from this contest should be usable in corporate intranets, as well as customer facing applications. Sure, wacky designs are cool, but sharp and clean are better.
I hope to start this contest as soon as I've raised some funds for good prizes. Of course, donating good prizes is most welcome too. In order to provide some motivation, I'm going to do something that will hopefully inspire you to donate. It's butt-ass cold in Denver this week, and it's not warming up anytime soon. Here's the current forecast from the local news channel:
So to try and raise money, I'm going to ride my bike to work every day this week. Will this inspire folks to donate? I don't know, but it's worth a try. I'll try to be in the office by 9, and won't be home before 5. This should ensure that it's good and cold out. Furthermore, I'll blog about my ride everyday, and hopefully snap some pictures as well. It's supposed to snow tonight, so this should be good.
Remember, anything will help - and all donations will go to a good cause. I plan on starting the actual design contest next week sometime. Now it's time to donate using the button below - and watch me freeze my ass off this week!
Geert Bevin of the RIFE project asks:
Many times I have wondered why people are so reluctant to investigate RIFE. After having asked around a bit, the most recurring critique was that our template syntax is too arcane at the initial glance. Somehow the look of the tags syntax pushes people away without them ever checking out any of the features of our framework.
Ironically, none of the users consider the syntax to be a problem. Many even love how it stands out while still being totally invisible to a browser or an XHTML editor.
Still, initial adoption seems to be all about appearances, so I think this issue needs to be addressed. That's why I'm asking you, the non-rife users which alternate syntax looks best to you. [Read More »]
I'm one of those folks that thinks RIFE's current template syntax is difficult to understand. I was scared away from RIFE for this reason alone. It's good to see them asking the community for a better formula.
There's one thing I've learned from leading an open source project: your users aren't always right. Just because they like the way things are done, it doesn't make it the best way to do it. Often, developers merely like something because they've learned it, and would rather not learn something new. Look at all the folks that prefer Struts, yet have never tried another web framework.
Personally, I like Velocity's variable style, which is now used by JSP 2.0. Most new Java web developers are going to learn JSP. If you can make the transition from JSP to your template syntax easier, you'll likely get more users.