Skip navigation

Really though. My first experiences with Flex, before going down a yearlong DHTML path with the Dojo toolkit, were fresh from a .NET thick client application. I remember being very excited about the prospect of using my existing .NET UI knowledge to gain efficiencies in the Flex environment. 

Recently I’ve been using the Flex Builder application, and I’m really seeing the parallels to other strong IDEs (that some would argue as “bloated”). However, I feel right at home using a tool like Adobe’s Flex builder, and believe many Java/.NET devs would agree.  When you throw Adobe AIR into the mix, you’re wielding some serious power. 

I’ve recently dumped a solid 8 hours into the Flex environment and I’ll admit – I’m pleased. I’m approaching an MVC style architecture that can ride on both the Web and the desktop. (Hell, both my PC and Mac….) How could I not be sold.

An immediate problem, however, is over architecture. The point where you have to keep yourself from writing the whole “page” as a Flex application. I’m sure there may be the case for “the Flex is the page”, but I’m still very happy with the DHTML world. 

Which brings me to my next joy – Flex + Javascript. Good stuff. I know this has been around for years with Flash, and it’s Javascript proxy – but Flex is more my speed. While I have no real experince with Flash, I get the feeling it may still be too timeline heavy for me. Where on the surface of Flex, I’m right at home with an environment I feel like I’ve been knowing for years.

Also, I think it’s worth mentioning that ActionScript is hot. I like the implicit property accessors. I like it’s Java-like inheritance model, not to mention it’s very Java-like syntax. (I suppose I’m showing my age by not saying “C-like”…)

One last thing I’ll mention is that — I’m actually having fun learning Flex. If you’re into  an object oriented MVC style presentation layer – I’m sure you will too.

While being stuck behind a firewall that blocked IRC traffic, I realized that IRC is one of the most useful tools when working with open source software. The thought had never occured to me, but of the 3 major open source projects I’ve had the pleasure of using – all had active members in their respective IRC channels. #dojo on freenode is amazing. Followed by #rubyonrails and #monorail, both on freenode. I’ve used .NET products in the past, and we DID have an MS support account. This was very helpful, but – we were paying a major premium for it. My experience in open source IRC chatrooms have by and large compared to paid support from larger firms. In most cases, exceeding expectations. Keep in mind though – you should certainly consider giving back. 

I’m making an attempt to introduce Selenium into the development cycle. With that said, a fellow programmer mentioned that he’s been “thinking more and more like a QA tester”. I believe his comment is spot on in terms of how testing toolkits change the development thought process. No more are we simply “fixing the bug”, but we’re now spending more thought cycles making an attempt to keep the story from coming BACK from QA. This is clutch. Recognizing that time is wasted moving story cards back and forth from stages in the agile development cycle. Eric Gamma mentions “Test Infected” programmers as those who cannot begin coding without a test in place. I’ll admit, we’re using Selenium AFTER writing code, but I’m hopeful we’re not far from becoming, well – infected.

My point is that velocity isn’t necessarily about coding quickly, but is more about minimizing defects and keeping closed story cards — closed. Again, tighten the feedback loop.

We recently ran into a timing issue with IE6 where we were programmatically setting ‘selectedIndex’ after onLoad had completed. Essentially, at least IMO, the JS engine was calling the browser’s native methods to render the select index change, BUT – the JS was executing too fast. That is, the C++ was not completing before the next JS line attempted to set the following select’s index, and we encountered some UI lock. I’m not really sure what’s under the hood of IE6, but I imagine there’s some kind of semaphore-like action happening to prevent the UI thread from clobbering itself.Either way, this article saved the day:

YUI: Downshift Your Code

While we didn’t follow this article verbatim, it was very helpful when staring this IE ‘WTF-ery’ between the eyes.