Learning to Appreciate Javascript
When I started doing web development I took to it like a fish in the water. I loved the markup and I was really impressed with the new things I could do with Javascript when IE 5 got updated. I had so much fun building neat widgets and doo-dah’s. I wrote form validation stuff, and I wrote a cascading menu system. I really thought it was the future.
Then i got a job doing web development. Working where I was not the only person using the site, and found out the hard way what a disaster Javascript implementations in browsers where. I spent days trying to make something simple work in IE 5 and Netscape 4. Then came IE 5.5 and IE 6, and every time I spent days trying to make my Javascript code work in the new browser. I actually tried to convince my customers to put up a message telling people to come back to the site after getting IE 6. I was so naive. I fought with it for a long time and then I had a realization. I didnt really need most of that stuff to work. The only reason the customers wanted it was because I told them they needed it.
And that was it. We started selling more basic layouts that had broader reach. I spent less time fighting with Javascript and the customers had a much better user experience. Because while simpler, the sites were much more usable and reliable. So then my Javascript became almost infantile in its implementation because that was what worked cross browser.
Then I turned to tools that didnt require browser implementation to work. Things like flash. But being a developer Flash IDE never felt right. So when Flex came around, I globbed right onto that. And I have never looked back. Living in Bliss as my applications just work, cross browser, cross platform. No updates, no worries about Flash Player releases. Just happy developer coding bliss.
Javascript was dead to me.
And this is how the last 3 years have essentially been for me. Unfortunately, times they are a changing. I recently picked up a project where I am building applications for AIR using Javascript and HTML. I started working on these applications, trying to building them like flex apps in Javascript. Perhaps you were under the same misconception that I am, this is not possible. In fact not only are the applications written in different languages, but the style and architecture is very different. At first this was something that bothered me to extremes. However after a month, I am starting to come around. Unfortunately not for the reason you would think (that would be all the benefits of AIR). As I get more into writing advanced Javascript constructs I am finding that the language being dynamic and interpreted feels so much like Ruby. And as anyone reading this blog will know I have become enamored with Ruby as a language. Beyond the language benefits of Javascript, AIR implements Javascript 1.7 which has some incredible enhancements that add features available in traditional scripting languages like Python and Ruby.
So while I am still leary of the Javascript implementations of the Browsers, I am finding that I like Javascript as a language much more than I would have expected. So I expect that you will see more about Javascript here on this blog, something that I might have in the past told you would never happen.
28 Nov 2007 Simeon 3 comments

