|
|
|
|
|
by Wintamute
5005 days ago
|
|
Up until a few years ago I was a full time Flash developer, working in ActionScript3 which is a strictly typed, fully OO language which conforms completely with the 4th edition of ECMAScript. I used a great IDE (FlashBuilder) that had full code introspection, static analysis, amazing auto-complete and all sorts of great features built in. Unit testing was not uncommon, as was continuous integration, automated build processes and version control. I, and many others, were doing "real" programming on the Flash platform and felt totally understood as a developer by Adobe. I'm not going to defend Flash's continued relevance on the web because like most people I think it's had its day but from about 2003 to 2010 the Flash developer community was massive and thriving, people were doing serious programming and Adobe was doing a pretty good job of understanding them and supporting them. It's this wealth of experience that I hope Adobe brings to bear on its HTML5 developer tools. I feel like the relevance of Flash (and Adobe) is really quite poorly understood. A lot of the expertise and good practises from the more serious elements of the Flash community flooded into the JavaScript community and I feel this is one of the reasons JavaScript has developed so quickly. What's more, a lot of the "web2.0" style dynamic and interactive elements of websites that we take for granted now are watered down (and much better) versions of ideas that were conceived during those frenzied years of UI experimentation in the Flash community. Granted those years of Flash threw up some UI abominations, but it was also a melting pot of ideas and creativity, the like of which we don't really see anymore, which is a shame in a way. Even though Flash was my livelihood I was happy to move on because I could see it was for the best, but if you ignore Flash your understanding of the last 10 years and the current context of web development is impoverished. |
|
1. Source code for the framework was available in the default flex builder installation. Wanna see how adobe designed the default table renderer, drop right in and look. You didn't have to search online for how to use esoteric features, you could just look at the super class to see the code path it takes. This is my biggest complaint working with Apple and MS frameworks.
2. Proper handling of component invalidation. Many other frameworks still have problems with calling methods out of order during initialization. Flex collects all changes to a component before processing them in the invalidation loop.
3. Data binding let you do some really cool things by automatically wrapping them in anonymous functions to process like <mx:Button id="myButton" enabled="{isButtonEnabled(someString, items.length)}"/>
4. Lots of support for component customization, especially in the skinning department. Going from flex back to mac cocoa was like going from paintbrushes back to using twigs to draw.
However, the biggest downfall for flash was always the performance, they were stuck in a corner because the flash engine was designed first and foremost for processing frames of animation, on the cpu, in another programs window, with no control over their own run loop.