Part of why I do not blog, is that I think my writing stinks. If you feel otherwise or just want to send an encouraging message, leave me a comment.
Signing off for QCon 2007, yours truly: Samuel Ranzato from Sogeti
Part of why I do not blog, is that I think my writing stinks. If you feel otherwise or just want to send an encouraging message, leave me a comment.
Signing off for QCon 2007, yours truly: Samuel Ranzato from Sogeti
OMG .. do you know how Russians talk in the movies? Remember Drago in Rocky (“I must break you”) .. if so, than you know what kind of a dialect we had to listen to for an hour long.
First the “bad” …
It seems to me like Dojo is years back in time since all of the API look really procedural to me. Didn’t we quit that scene like … years ago?
Second, the “good” …
Akin to Bruce Johnson with his GWT toolkit, I really got the feeling that
I love blogging as a therapeutic exercise, don’t you?
Dojo comes with a lot – and I mean a lot lot – of Helpers for OO, functional programming, events, AOP, etc. There also is a normalized DOM to hide browser idiosyncrasies. Dojo calls custom events: Topics.
All in all, this also felt like a product plug like the GWT but with the difference that this product (Flex) is not open source and will generate money for Adobe, for whom Christophe works.
RIA are, according to the speaker, applications that can be characterized by the following aspects: expressiveness, performance, realtime, rich media, and desktop/offline use.
The latter is a bit difficult for normal
Christophe mentioned the trend we see in applications as they went from developer centric to data centric and now, with RIA, to user centric. To me, that sounds strange as the data of a company will probably be longer around than the average employee.
He continued by showing some really cool UI demos, no denying that, and told the audience that Flex can also target a locally available JVM.
Since Flex uses Flash, it is worth noting that Flash 9 is largely rewritten to support (better) JIT compiling and binary sockets, all of which is available to application written in Flex.
Sockets is typically one of those things that are virtually impossible to do in “ordinary”
To sum this entry up, one nice data-management-thingy is, that with Flex you can configure when changes are persisted: realtime, leaving the field or per form.
Bruce works for Google on the GWT but a little research has shown that he previously worked on the AppForge MobileStudio project which I used a long, long time ago.
But that is besides the point, back to business.
He started off by reiterating some of the risks that go with a
The GWT is only available to Java as it cross-compiles Java to the
Programming in Java enables you to use all the debugging and rich IDE (Eclipse, Sun Studio and others) to develop and GTW provides a GWT Host Browser to run / test your applications. The host will go to great lengths to ensure that it resembles the real thing as it eventually will run in the user’s browser.
In the usability department, something that I consider very important if you are doing
The GWT also has the Back button problem and Browser History problem with
In fact, one thing that distinguished the GWT from other
You can indicate whether you want to generate obfuscated JavaScript (used when you only develop in GWT/Java) up to very verbose JavaScript that can be further enhanced by other developers.
What he did talk about was the size and importance of the client tier and his conclusion was very straight forward : it depends on how the level of
Dave also mentioned that it is a good idea to set the level at which
Next on, he explained Java Literals, Closures, and more JavaScript specific stuff in a way that a relatively JavaScript noob like me could understand. I liked the fact that Dave calls Closures akin to inside-out objects. One thing that I really don’t like, but that is coming from a more structured, procedural mindset, is the fact that if you pass local variables to a callback within a Closure, those variables will be essentially global – and taking up memory – where the visibility is restricted to the callback only. In closure – pun intended – this is how Dave summarized the difference between objects and closures:
Objects: Data encapsulating behavior
Closures: Behavior encapsulating data
Dave wrote a book on Ajax Design Patterns and he told the crowd that he advises to not use Java-esque ways to program the GoF patterns but to use a more JavaScript approach. This will prove to have you writing less code and use some of the typical JavaScript constructs to their full potential.
He ended the session by demonstrating the implementation of the MVC and Strategy Patterns in an easy to understand manner.
Scott gave a short introduction but I thought it good to iterate two things he mentioned:
One thing that I wrote down was this. Architects like to design their architecture using some modeling piece of software, but to some drawing out that design becomes more important than the purpose for which the exercise was meant. James called that : using the rules of drawing instead of using the rules of construction to design an architecture.
Next Kevlin made the nice point that if we want developers to write good code, management sends them off to some language course like Java or C#. But even though we ask developers to write documentation, no manager sends his developers to a course like Comprehensive Writing or Writing 101. That is strange because the developer does gets harped on that the documentation is to technical, elaborate or condensed, etc, etc.
Last, they looked up Agile in the dictionary to show that designing an architecture does have a place in an Agile world. Agile in latin could mean : to be ready. How can you be ready as you decide (hard) things as you encounter them or how to be ready to handle a familiar problem in a consistent way if not with architecture.
Unfortunately, the session was really talking about software architecture and not enterprise architecture or information architecture and so on.