InfoQ.com (Information Queue) is an independent online community focused on change and innovation in enterprise software development targeted at architects, technical team leads, developers and project managers.
I think this is a must read for any Flex/AIR or even a Web2.0 developer in general. I will list the ones that I have most commonly seen while on work with companies here in India…
- Using an RIA framework to build Web 1.0 applications – I have mentioned this at several venues that this is “My Biggest Nightmare”. People do not understand that the Web2.0 paradigms are different from the ones in Web1.0 and try to just FLEXify or AJAXify their applications without knowing what it means.In the InfoQ article, James mentions this from the Java programmers view, but I have seen many a web-developer replacing an HTML button with a Flex button, a table with a DataGrid and so on. What is required is an understanding on the new UI & Conceptual patterns that Web2.0 provides.Checkout this article by the XD (Experience Design) Team at Adobe on the Principles on Web2.0 Application Design.
- Slowing the application down with the use of too many containers – This is again a common mistake. Most times that people complain that their applications are slow and Flex is misbehaving, what is happening is that they have not done a judicious use of containers in their application. As James says
The biggest Flex performance danger is yielding to the temptation to use containers randomly. Deeply nesting too many containers hinders the performance of your application. This is the number one performance danger that Flex developers succumb to—and luckily it is 100 percent avoidable.
One of the best practice is to use absolute layout containers (like Canvas) than using their own layout logic (like Box) wherever possible, as less time will then go into the measure and lay outing of children. Here are some more best practices at David Colleta’s blog.
- Slowing the DataGrid down with complex renderers – Another of the common mistakes done by many. I wouldn’t explain it here, I think James has done a wonderful job on the article. I strongly advice people to pay heed to this.
- Slowing the application down by using XML for data transfer over optimized protocols – I had a chat with James when he was here for the Adobe RIA Architect summit. He told me that he hardly ever uses HTTPService or WebSerivce and swears by Remoting and the AMF format which can improve data transfer perfomance upto almost 10 times. You can read about the options for using AMF with different technologies here…
The above are the ones that speak out to me instantly as I have seen these mistakes commited time and again. But that doesn’t mean that the other 6 are any less important. Please take time to read the article, so that you may avoid the pitfalls in your Flex Development.