Tuesday, 21 October 2008

CSS 2008 - Tuesday - BOF

Although the day at CSS is usually long enough (from 8.30 until 7), Hans and I stayed a little later this evening to attend a BOF (Birds of a Feather session) on the topic of web UI development.

The main focus of the discussion was Flex vs. Javascript, and the general feeling I had was that most people were leaning towards Flex.

The main reasons mentioned for choosing Flex were:

  • browser compatibility
  • performance
  • good client-server architecture
  • many considered AJAX to be a hack to get around browser deficiencies
  • accessibility (Flex is 508 compliant)
  • ActionScript is strongly typed, and is class-based (unlike JavaScript which is prototype-based)
  • great tooling (though at a price)
  • excellent charting support (an optional extra, again at a price)
  • declarative way of defining user interfaces
  • slick user interface
  • skinnable user interface
Of these, the point that user interfaces are built declaratively is interesting, as it has the side-effect that user interfaces can be prototyped or built very quickly, giving opportunity for a developer and a user interface designer to work together very closely and quickly build the user interface. This seems to me to have a lot of potential in an agile environment.

Of course, there are disadvantages to Flex too. Flash based web pages are not easily searchable, although Google and Yahoo! are apparently making good progress in this area. Both this, and the other technical issue mentioned, that of bookmarking, are both areas in which Javascript is also weak. It is worth mentioning, however, that the importance of both these features differs depending on whether you are planning to build a web application or a web site.

The only real concern about using Flex was that it was proprietary, but this did not seem to concern most people.

The message I came out of the BOF with was "if you want to build a rich web application, use Flex". In the words of one participant "for me, Flex is first, I would only not use it if there was a veto on using Flash".

No comments: