I am not going to talk about things included in this release, such as a YSlow! 'A' rate for the demo application (94 out of 100, yay!), the ImageValidation annotation or the simplified spring config. Instead, I wanted to comment something present since our 1.0 release.
Things that your web framework should be doing for you
Last entry was about how your javascript and server-side code should talk HTML at both sides, because generating javascript from the server is a bad practice. This one is about how you (and by "you" I mean your web framework) should be generating your HTML markup.
What follows is what we like to call a Contributed View, meaning that each piece of the web framework can contribute aspects to the generated HTML.
Form Fields
An integer field validated between 5 and 100 can contribute this to the generated HTML:
- Converter: inject a 'number' css class to be used by javascript and CSS style sheets.
- Validator: inject attributes (scale="0" min="5" max="100") to be used by javascript validations. Better yet, inject maxlength="3" to make the browser enforce the maximum length of this field. It can get tricky since you must take into consideration negative values and decimal point.
Links
The easiest example of URL decoration affects links pointing to forbidden resources. If the application developer is using annotations to specify permissions (with JSR-250 @RolesAllowed, for example) the security interceptor can contribute an "unauthorized" css class to links and forms. Again, it is your responsibility as the application developer to use CSS or javascript to hide or disable them.
About our next few weeks
I have been seriously lectured by some friends about how we are not dedicating enough time to make visible the awesome things we are into these days. I hate sounding like a salesman, but people got so serious that I thought I should make an exception just for today:
We are an heterogeneous software company, which means that the PHP guy sits next to the java freak most of the time and we still somehow manage to keep the peace - most of the time. When we can choose, we have been using the Loom-Spring-Hibernate combo for almost two years and are quite happy with it. There are lots of cool details like the browser cache annotation that do not have an equivalent in other web frameworks.
If you test and like it, I want to know. If you test and find things that you don't like, hey, I still want to know!
About our last few weeks
Our training courses have been a great success! We are really proud of the feedback received, 80% of the attendees to both courses have given us the highest qualification possible. In our first Core Spring Course in Madrid, people with previous spring experience started learning something new from day 2, which is a remarkable achievement for an introductory course.
On a related note, a friend from Tenerife was quite pissed at me because he had to investigate a big deal to find our Agile Project Management Course Contents. It's more or less the same thing you can see in this blog, but four hours a day. Last week lots of people confessed that they were expecting to fall asleep in the middle of the course, but instead had lots of fun - and with 'we', I mean 'me included'.
On the "things to improve" comments, we have been asked to provide more practical examples for both courses. We are certainly looking forward to improve that.



0 comments:
Post a Comment