Since nobody really answered this, here you go:
Neither one is really 'better' - they both do pretty much exactly the
same thing. Some people like the syntax used in FlashObject, some
people like the way UFO works instead. Check them both out and pick
the one you like better.
I'd also like to address some of the concerns about FlashObject:
1) Jim said "My only reservation with FlashObject is that it's
written in a style that makes it pretty un maintainable."
First, I guess I'm not sure why you would need to 'maintain' it. The
script is basically just an API for writing the HTML to embed a swf
file into an html document. This probably won't change significantly
any time soon, so the need to 'maintain' a script like this is non-
existent. Second, maybe you were looking at the compressed version? I
include a version of the 'source' code that is much easier to read if
you are into that.
As far as the misc. accusations about FlashObject not being Object
Oriented, (Jim said: "IMHO, the code is very procedural, not object
oriented. The cues for this are the endless conditional
statements. A good, encapsulated architecture can greatly minimize
these...")
I say this: WTF? FlashObject is about os OOP as you can get with
Javascript. (and where are the 'endless conditional statements' you
speak of?) It's not some compiled language that gets compressed and
translated into machine language. FlashObject is also meant to be a
*very* small file with one specific task. Comparing it to dojo or
other js libraries makes absolutely no sense to me at all. That said,
it's very easy to add more functionality to FlashObject because it
*is* in fact written in an object oriented fashion (in the style of
ECMA script, using prototype). I've written an extension for it for
Flash/JS communication and it works great - I haven't officially
released it yet, but if anyone is interested in seeing how to do
this, you are welcome to grab the source code here: example page:
http://blog.deconcept.com/code/intkit/fo_integrationkit.html
source: http://blog.deconcept.com/code/intkit/fo_integrationkit.zip
2) elibol and I have discussed the ExpressInstall functionality in
FlashObject very thoroughly, and he has a lot of very good points and
had a couple of requests to make using ExpressInstall a bit easier,
but I decided to not change how it works because I like giving people
the choice of custom upgrade messages. During the exchange with him,
I did realize that forcing people to use AS2 for something like that
was a bad idea and have since changed it to a simple AS include file
instead of an AS2 class.
As for the need to couple your Flash content with FlashObject if you
use ExpressInstall - this is just wrong - All of the scripts I've
seen that use ExpressInstall pass in the same 3 variables (and they
have to) - take any Flash movie that is set up to support
ExpressInstall and it will work with any of the other javascript
embed solutions that also support ExpressInstall.
3) Kevin suggested using his Player.js script - while his other stuff
is really awesome (HistoryKeeper, dang) the Player.js code doesn't
support all the stuff that FlashObject or UFO provide. So really I
think that Kevin should just use FlashObject ;)
4) John Grden says:
"ummm, that's the problem - no JavaScript worky - no write out object
at all = screwed. He's got a great point that we've been dealing
with as well. We are using the FlashObject code, but if a user has
JavaScript disabled, there ain't no party. So, flash dectection is a
bit more than just FlashObject."
and
"You don't just go and tell a fortune 500 company "um, sorry that it
failed on your lame computer at home."
To this I say: Dang, man. I work with those same fortune 500
companies (I work at Schematic - we use FlashObject in all of our
Flash sites) and we never have issues with it. Assuming you create
your pages to degrade gracefully (which FlashObject encourages), your
users will be just fine if they don't have Flash or JS installed. I
personally don't feel that embedding Flash *without* JS an option
anymore. With all the different vesions of the Flash player out
there, and all the benefits you get from using Javascript in search
engines, it seems like a no brainer to use Javascript.
If you have doubts about using FlashObject on a 'big' site, then you
can rest assured that it's already being used an many many huge
websites.
Like what? oh how about: windows.com, youtube.com, and the library of
congress: http://www.loc.gov/bookfest/ (and thousands more)
--
Ok, I think I've covered most of the issues - if anyone wants to
discuss this further, or has suggestions on how to make FlashObject
better (or just feature requests), you are welcome to join the
mailing list I have set up, which is here:
http://lists.deconcept.com/listinfo.cgi/flashobject-deconcept.com
(or of course reply to this thread, whatevs)
Sorry for the delayed response on this one - as Jim said, it was
awesome in NYC this weekend, and I was lounging in the sun in Central
Park :)
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com