3 ms·
Sadly, the development environment matters quite a bit. - I will miss being able to declare classes using a sane syntax (Coffeescript helps in this regard) -
by ender7 15y ago
Sadly, the development environment matters quite a bit.
- I will miss being able to declare classes using a sane syntax (Coffeescript helps in this regard)
- I will miss the optional type annotations, which caught many a bug for me (you can use JSDoc annotations + closure compiler, but only if you like placing a verbose comment in front of every single variable declaration)
- I will miss having an IDE that can actually do code completion (this not possible without type annotations, so it's not coming to Javascript any time soon)
- I will miss interfaces
- I will miss namespaces (there are various ways to hack namespaces into Javascript. They are all letdowns.)
- I will miss color transform filters, drop shadow filters, and blur filters (might become part of CSS if Adobe's proposal gets approval)
- I will miss the (mostly excellent) API documentation (MDN tries its best, but is not even close)
- I will miss masks (of any arbitrary shape)
- I will miss being able to create and dispatch my own events without having to use someone else's event framework
- I will miss having all my resources compiled into one blob and loaded together, rather than having to worry about preloading all of my UI images
- But most of all, I will miss performance. Yeah, Flash is buggy/slow/memory hog blahblahblahblah. But have you tried doing anything graphically complex in HTML5? Holy shit, your processor will scream. Things that Flash used to laugh at will bring Chrome to its knees. Don't get me started with IE.
So no, Flash is not great. It has a ton of warts. But HTML5 is not ready. Not even close. So we're going to have to spend the next ~2-3 years in techno limbo while it catches up. And that makes me sad.
HTML5 is particularly not ready on mobile. For example...don't use gradients, since they kill performance. Oh, and don't use opacity either, since that also kills performance. Seriously? I need to build a UI that doesn't use opacity animations? FFFfffuuuu--
Apologies for sounding like a grumpy old man, but promises of "someone will come and fix it with a standard...at some point" don't really get me excited. I worry that in vilifying all the things that Flash did wrong, the web world is going to ignore all the things it did right, and refuse to integrate those things into HTML.
- kamcknig 15y agoBy the time a standard comes along anyway, we'll already be on HTML8 without a standard for it. HTML will never have a standard, and it will never be at a point where all browser implement all the same features.
- tambourine_man 15y agoThere will be no HTML6, etc. Just HTML HTML is the new HTML5 http://blog.whatwg.org/html-is-the-new-html5 http://blog.whatwg.org/html-is-the-new-html5
- andrewvc 15y agoActually, IntelliJ's tools do pretty good autocompletion for javascript. Not perfect, but much better than you'd expect.
- bad_user 15y agodon't use gradients, since they kill performance. Oh, and don't use opacity either, since that also kills performance. Seriously? The problem with the Flash player is that by design it assumes all applications have such needs, like opacity, gradients and animations, when this is not the case. Even with the drawbacks you mention, an interface built with jQTouch for example is pretty snappy on the iPhone. See the demo: http://jqtouch.com/ http://jqtouch.com/ Android in particular is indeed having problems and I wasn't at all pleased with the results I got from jQuery Mobile. On the other hand Android has this problem with the UI in general, as hardware-accelerated graphics has been its weak point. But you're comparing here the performance of browsers on mobile phones with the performance of Flash on the desktop. Adobe has yet to come up with a decent alternative for mobiles. I have Flash on my Android browser and I'm really not impressed. In fact, I deactivated it. Things that Flash used to laugh at will bring Chrome to its knees. That goes both ways too ... try loading 5000 thumbnails in a Flash UI and compare it with Chrome. I do that whenever I organize my Flickr account. Also in Chrome special effects may not be so snappy, but animations and games are doable. And they only added accelerated graphics support recently (I'm not even sure if it's enabled on my computer). Example: http://chrome.angrybirds.com/ http://chrome.angrybirds.com/ Angry Birds is indeed not representative of what normal people will do with HTML/JS, as Rovio engineers are pretty talented. But I know dozens of games created in Flash that are less impressive and more sluggish than this Angry Birds version ... the truth is, good developers will make snappy and cool things using any technology. Bad developers won't. And this may be an anecdote, but I never, ever used a Flash interface that I liked using. I even hate it whenever I'm viewing a YouTube video because it blocks my browser's normal shortcuts.
- rayval 15y ago> But have you tried doing anything graphically complex in HTML5? ... Things that Flash used to laugh at will bring Chrome to its knees. Agree. An example is graph visualization. Fire up your CPU monitor and go to http://arborjs.org/atlas/ http://arborjs.org/atlas/ and view this very cool physics-driven mesh visualization written in Javascript. You'll see the needle jump to 95% or more. On my relatively modern laptop, if I run this for more than a few minutes, it shuts off due to overheating. Also, this app does not work on IE. By contrast, I can run an similar Flash-based visualization and CPU usage ratchets up to 60 or 70% but not more, and it works on IE.
- kamechan 15y agoabout 30% CPU utilization on my 2011 macbook air (core i5 1.7Ghz) with chrome 16beta. not bad. is this same page written in flash somewhere?
- tambourine_man 15y agoI will miss color transform filters… If it's vector, it can be done with SVG/CSS3 …drop shadow filters… box-shadow? …and blur filters Canvas? http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.h... I will miss masks (of any arbitrary shape) PNG with alpha? …rather than having to worry about preloading all of my UI images Something like this may work: $("#blob").bind("load", function () {}); or even: body { display: none; } <body onLoad="$("body").fadeIn();"> But most of all, I will miss performance. Yeah, Flash is buggy/slow/memory hog blahblahblahblah. But have you tried doing anything graphically complex in HTML5? Holy shit, your processor will scream. Things that Flash used to laugh at will bring Chrome to its knees. Don't get me started with IE. Not on a Mac. Even a freaking side banner will make the CPU spike. There are a few cases where it is slower, but it's rare and we can all help optimize. HTML5 is particularly not ready on mobile. For example...don't use gradients, since they kill performance. Oh, and don't use opacity either, since that also kills performance. Seriously? I need to build a UI that doesn't use opacity animations? FFFfffuuuu-- Android or iOS? I'm actually pretty impressed with the hardware accelerated effects I can get in iOS if I don't do much stuff at the same time. Check this link: http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-making-it-really-fast/ http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-maki...
- muyuu 15y agoAgreed... AS3 had the sweet spot nailed at 99%, the best brace-language IMO.
- JoshTriplett 15y agoGit, the version control system so many people like and use every day, arose because the entire Linux kernel community found themselves suddenly without the version control system they'd become accustomed to, and had to do without until they created a replacement. And Git has long since become much better than Bitkeeper. How much more awesome will HTML, JavaScript, and CSS get when Flash finally goes away?