« Computational Photography | Main | Diggable Digg »
April 07, 2007
Unified development
Unified development: My apologies for the continuing Microsoft comparisons, but they've got big mindshare, and the lengthy NIH explanations tend to muddy the waters. Here, Peter Fisk, whose Vista Smalltalk project is blowing so many minds inside Adobe, distills the recent Ray Ozzie interview down to its core realities: "The .Net libraries contain *two* complete user interface libraries - one based on WinForms (Win32 API) and one based on WPF (vector graphics). And to make life interesting, a lot of the components have exactly the same names (eg Button, ListBox, etc) even although they are totally incompatible. Ok - maybe a smart developer should be able to figure it out (old style vs new style). But then, there is a third set of components (WPF/e) which is supposed to play a big role, but nobody will say what is going to be in the libraries (* because it's still a secret *). Adobe has *one* library for *everything* (desktop, browsers, all platforms) and *one* language for *everything*. Why, it's so simple, that I actually have time to write code." (The project is named Vista Smalltalk, but was ported from clientside .NET to Adobe Flash Player and Apollo with surprising speed.) The Adobe stack still has discontinuities -- you can't take advantage of the predominant fast-logic engine without the better ECMAScript compliance of ActionScript 3, and of course we've still got to get to mobile, for instance -- but that "three frameworks vs one" comparison is an elegant way of explaining the difference in architectural approach.
Posted by JohnDowdell at April 7, 2007 10:20 AM
Trackback Pings
TrackBack URL for this entry:
http://weblogs.macromedia.com/mtadmin/mt-tb.cgi/8580
Comments
Totally wrong comparisons.
First off, there are 2:
1. Flex 2 Components - AS3
2. Flash CS3 Components - AS3
This doesn't include:
- Apollo's API which has methods that Flex 2 does not natively support in browser
- Flash Lite X (whichever one will support AS3, hopefully 3)
- Flash 8 and below work (which uses older Flex 1.5 like API of components written in AS2)
This is further muddied by which tool you use. For example, if you utilize FlexBuilder 2, you won't have any problems. Same language (AS3, MXML, CSS), same deployment (SWF + external assets).
You veer from FlexBuilder, and suddenly things get just like Microsoft. I know AS3. However, I can be utilized as a resource on Flex projects, Apollo runtime projects, Flash CS3 projects (when it's released soon obviously), and Flash Lite projects. Granted, hopefully Flash Lite will get simpler in the future by having the AS3 AVM in it, as well as integrated tool support.
Bottom line, if you start talking about Flash, things get uber complicated. As long as Peter Fisk frames the comparison as "Flex 2 Component Framework vs. .NET 2", then his argument has merit.
[jd sez: Yes, Peter went straight to Flex and never used the visual components, my bad. That distinction is based on production styles, rather than distribution targets.]
What he, and the rest of the programming world doesn't see, nor will probably ever, is there is still a huge market for Flash applications that aren't Flex, use AS3, and have their own set of components. They are even extremely similiar type projects. Someday, they'll go the way of Director and become extremely niche, but for now, Flash has such a stranglehold on the rich GUI in RIA, that I fail to see how one can break the comparisons down to that degree of black and white without making it an apple and oranges comparison in terms of just "component sets".
Posted by: JesterXL at April 7, 2007 01:02 PM
This is just nonsense. First off, if you really want to count up all the different libraries available from MS, there are a hell of a lot more than 5 button classes. However, when we are talking specifically about .NET, it isn't true to say that the two libraries are incompatible, because you can host legacy .NET controls inside WPF forms as well as use WPF and the older .NET libraries all in the same application.
Secondly, it's a complete lie (or just misinformation) that no one knows what is in WPF/E. The thing is in an open beta. You can download the beta bits today and see for yourself exactly which classes are available and how closely they mimick WPF. They are basically the same thing, but obviously a subset since it needs to fit in a 1-2 MB download.
Moreover, you can't compare Apollo to a full WinFX/WPF install unless you are smoking crack. Apollo doesn't have 10% of the features that WinFX has, probably more like 1%. Since when does Flex have this 3D support he is claiming it has? That's certainly news to me. Maybe he means you can build a crappy 3D rendering library with Actionscript and get a load full of non-GPU accelerated 1 FPS goodness?
Furthermore, who says that a single gimped language is better than the choice of just about any language under the sun? Javascript is a horrible language for large scale development to begin with, not having any choice besides Javascript isn't anything remotely close to a plus for the Adobe platform.
Really a load of complete BS here. I'm suprised you linked something that far off the deep end.
Posted by: Jesse Ezell at April 8, 2007 01:28 PM
Sounds like someone's cranky.... ;-)
Jesse's points, seriatim:
You may be able to combine one generation of .NET within another, but that still means you'd need to first understand the differences between the generations and would have to watch for naming collisions. Peter's point obviously holds.
People can see part of the upcoming Microsoft browser plugin, but the continued promises of mysteries yet to be unveiled for the future are unknown as to their (a) created and (b) deployed capabilities. This point also holds.
I agree that it's odd to compare Apollo's cross-OS runtime with Microsoft's new interface framework. But to say that those who would demur "are smoking crack" undercuts your own case, your own security in your position. The original point, whether to deliver to MS-only, complexly, or to deliver universally, with a single approach, still holds.
I'm not sure what objection that "single gimped language" paragraph is intended to convey.
You attack others, but insensibly so. Not good.
jd/adobe
Posted by: John Dowdell at April 8, 2007 01:51 PM
@Jesse Ezell: It's not just Flex that has 3D, it's Flash Player 9 that'll display 3D - check out: http://blog.papervision3d.org/ looks like it's news for you...
Posted by: Andrew Muller at April 8, 2007 01:54 PM
Yeah, cranky today JD, broke up with my girl yesterday. Watch out ;)
[jd sez: I'm sorry to hear that, Jesse... barkeep, a couple of pints for me and my friend here....]
Posted by: Jesse Ezell at April 8, 2007 08:52 PM
Followup: "For the past year, I have been preparing Vista Smalltalk to run in the browser environment - because that is where I think the largest scripting market is going to be. And everything did run fine in IE7 on Vista... My attempt to rebuild Vst in Flash was an act of desperation, and I really didn't expect it to work. But it did work (much to my amazement) and Flash/ActionScript will now be my principal platform moving forward."
Posted by: John Dowdell at April 8, 2007 11:11 PM