6 ms·
This makes me a little sad. For all that people complain about Flash, and any problems the Flash Player runtime has, it's really a fun environment to code for.
by cowpewter 15y ago
This makes me a little sad. For all that people complain about Flash, and any problems the Flash Player runtime has, it's really a fun environment to code for. I like AS3, I like the Flash API, and I greatly enjoyed writing Flex back when that was most of my job.
I don't have nearly as much fun writing HTML/JS as I did writing AS3. I liked the (optional) strict typing. I liked writing for a single target and knowing it would just work. I liked having the power to say, "Render this thing in just this spot," and having it do what I wanted rather than spending hours fiddling CSS.
So as much as the decline of Flash is generally heralded as a good thing (and I agree that Adobe really never managed to fulfill their promises/goals with Flash on mobile devices), I'm still going to miss it when it's gone.
Edit: Just want to note that I'm speaking from the perspective of writing large, complex webapps in AS3/Flex, not just websites. Use the right tool for the job, etc etc.
- wahnfrieden 15y agoSurely you saw this coming though? But anyway, a lot of your issues with HTML/JS for the types of things you'd use AS3 for are a matter of immature tools and libraries I think. Google's added static type notation to JS via their Closure compiler - you might take a look at that. And straightforward rendering is something that Adobe could be great for giving us now that they're refocusing on this.
- cowpewter 15y agoOh yeah, I've seen it coming. There's a reason my day-to-day at my job doesn't involve much Flash anymore. It doesn't make me any less sad about it becoming more 'official' though. It's more of a nostalgic sad than an upset sad. I can certainly hope that HTML/JS evolves more in the direction of AS3, though I fear that Adobe will either push in the direction of Canvas-manipulating tools (where now you have a crappier API than Flash and you still lose the ability to arbitrarily throw some html in the mix (say, for including ads)) or their tools will mostly lend themselves to huge bloated div-fest monstrosities like what we've seen out of Muse so far.
- magicalhobo 15y agoI still used Grooveshark when you guys moved from Flash to HTML5, despite it being a less enjoyable experience. But, when the AIR app became just a wrapper for the HTML5 site, I cancelled my subscription. It seems like a lot of work went into switching, considering the functionality is still the same as the Flash version. Did any good come out of switching to HTML5?
- cowpewter 15y agoHmm... Upsides: It's easier to integrate ads and other third-party content like Facebook like buttons/comments, Youtube videos, etc. Unless you want to destroy Flash's performance by using a wmode other than window, there is no way to mix flash and html/iframe content. I'm pretty sure most people's hatred of Flash comes from ads that are not only annoying and poorly coded, but embedded with opaque or transparent. Then they will melt your laptop, yes. It's easier to hire for, HTML/CSS/JS are more common skills than AS, especially when you're not hiring to do 'push movieclip around' Flash, but working inside a huge Flex app with 90% custom in-house components. It's also easier to find people who might not have a lot of development experience but are good at pushing around html and css to finetune the interface to our designers' desires. Maybe that got easier in Flex in Flex 4 with the Spark components, but we weren't allowed to drop support for Flash 9 despite it being less than 1% of visitors, so we were still on Flex 3. Downsides: Performance. Holy crap performance. The flash site still ran well in ancient browsers like IE6 and IE7. The new site struggles in IE7 and we had to drop support for IE6 entirely (performance was not the only reason there but, you know). And on the subject of mobile, the flash site was sluggish but technically worked on my Nokia N800 tablet running Maemo. New site doesn't. We're working on making this better, of course, but the new site was written pretty quickly and accumulated a ton of technical debt, mostly in the form of poor performance tradeoffs. Stability. Ditto what I just said about IE6 and IE7. And now throw Opera in there too. jQuery eases a lot of cross-browser pain, but not all of it. The edge cases in which Flash behaves differently on different platforms are just that, edge cases, and usually occur when you have to cross the boundary into JS. So now instead of basically one platform to test your code on you have...well all the major browsers * all the major OSs. Maintainability. When your application is pushing the 100k LOC mark, strict typing is a godsend. So are real namespaces, and interfaces. It is very very easy to write stupid code in JS. You can write stupid code in any language, of course, but at least in Flash the compiler will yell at you if it's blatantly incorrect, and exceptions throw useful stack traces on all platforms. I don't know what it is about JS and swallowing errors, but sometimes it's a battle just to figure out where in the code you need to even start looking for the error. Or that an exception even occurred. I guess I should make a blog post about the switch someday...
- jay_kyburz 15y agoI have to agree, I'm really enjoying working in flash every day at the moment. Web development has a long way to go before it's this much fun.
- cft 15y agoThe fact that Adobe acquired Macromedia was quite unfortunate for the web. Had Google acquired it, they would have probably opensourced the player code, and maybe contributed the AS3 rendering engine into WebKit as an alternative to javaScript, making Flash native for WebKit browsers. Maybe it's not too late for this step even now.
- cowpewter 15y agoAdobe open-sourced their AS3 engine[1] to Mozilla, instead. That potential future of JS (based on ECMAScript 4) was rejected in favor of Harmony. [1]: http://en.wikipedia.org/wiki/Tamarin_(JavaScript_engine) http://en.wikipedia.org/wiki/Tamarin_(JavaScript_engine)
- zzzzzzzzz 15y agoTamarin ain't bad, but for me the main advantage of Flash right now is the relatively fast, browser-independent and (unfortunately) closed-source rendering engine.
- bsimpson 15y agoWas Macromedia openly on the market? Did Google ever seriously consider buying them?
- kreek 15y agoJust before Adobe bought Macromedia there was a lot of noise (and angst) that Microsoft would be the one to buy them.
- hrktb 15y agoWhy the sadness ? Flash for mobile browser was a PITA from the start. The lite version was limited not only in power but in the APIs, was too sandboxed, and there was no practical use I can think of. I don't see Flash on android for anything serious (serious as complex webapps). Adobe AIR is a much more adapted and competent environnement, and it's getting more traction that ever. Seems a pretty sunny landscape for AS to me. The AIR runtime is there for serious applications, and I would expect it to be much funnier than webapps. Edit: About Flash on android, there's the free, open submission process for full featured apps on android. An app would obviously be a better match for complex applications than Flash on the browser.
- cowpewter 15y agoI don't have any experience with AIR for mobile, but on the desktop it's a sad second-class citizen, only slightly more featured than wrapping your website in a site-specific browser like Prism, and no longer fully cross-platform since Adobe decided to stop releasing updates on Linux. I really wanted it to be awesome, but it's not. I do agree though, that complex browser apps just don't work on mobile Flash. I had been hoping that maybe somehow Adobe would get it to work, but obviously they haven't. And now, officially, they won't keep trying.
- hrktb 15y agoI am still longing to see how it goes, but there seems to be more and more "second class citizens" everywhere. While iOS would be the major platform for heavy applications, lightweight utility apps get more and more developped in a cross-platform manner. And as a user I don't feel a great loss, since the apps are more often updated and are OK for the job. Being a second-class citizen should be less damaging now than at the time we were running clunky java or Qt apps on windows or OS X, like a few years ago. At least we'll get used to it, and it might become the norm for a whole class of apps. For the position of AIR...it's compile compatible with iOS, android, it has a runtime on Playbook and the upcoming BBX, it seems to be OK on windows phone as well. I have the feeling that it is where "we" really wanted to see Flash move forward. Not as an HTML extension, but as a real immersive platform.
- arocks 15y agoYou might want to check out Jeash[1], an HTML5 library which mimics the Flash API written in Haxe[2], a typed language. [1]: http://jeash.com/ http://jeash.com/ [2]: http://haxe.org/ http://haxe.org/
- Angostura 15y agoI'm speaking from extreme ignorance here, so excuse my .. ignorance. But isn't the Adobe game plan to keep the powerful development tools that you know and love, but have them spit out HTML5 rather than Flash?
- cowpewter 15y agoI don't actually like Adobe's development tools. I like ActionScript 3 the language, and I enjoy writing code that targets the Flash Player runtime, and its API. I write all my AS3 in TextMate. What I've seen so far of Muse doesn't really inspire me to want to use their new HTML5 tools. I didn't like Flash Pro either. Those tools are not written for developers, they are written for designers (or 'devsigners' as terrible as that moniker is). Now, if Adobe came out with their own version of something like Coffeescript or Google's Closure Compiler, where you wrote your code in some sort of stricter subset of ECMAScript that compiled to browser JS, I'd check it out. Especially if they somehow came up with some sort of sane rendering API that could make valid HTML. But I suspect the closest they will get is writing tools that convert ActionScript to work in Canvas.
- bad_user 15y agoYou're complaining about the development environment, which is considered to be better than JS/HTML5 by many people. However, the Flash runtime is the reason people complain about Flash. It is slow, it leaks memory, it crashes like crazy and has been a second-class citizen on every platform other than Windows since forever. JS/HTML5 on the other hand is a mess in terms of development tools. But it is getting more and more reliable. And it's a real standard with multiple implementations that are extremely competitive. Apple was right for excluding Flash from their mobile browser, as for mobile phones HTML5 is currently much better, even though the technology powering it is newer than Flash. Adobe's current plans are to build development tools for HTML5/JS too. They are even pushing for improvements in the standard, like CSS3 Regions.
- joeyespo 15y agoWhile these things are true, developing in the Flash environment was a lot of fun and very gratifying. I believe if the Flash development environment was available for JS/HTML5 today, Flash hackers would be much more excited about it. It's not the fact that Flash is going away that causes sadness. Rather, it's the gap between that and having an equally powerful environment for JS/HTML5.
- bad_user 15y agoWell that was partly my point. Another thing I forgot to mention ... Adobe already has an AS3 to Javascript compiler that produces Google Closure compliant code (or this is the plan anyway) and they are using it internally for their own projects.
- discreteevent 15y agoWhat would the differences be between what that compiler does and what the Dart compiler claims it will do when its finished?
- ender7 15y agoSadly, 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.
- rsynnott 15y ago> For all that people complain about Flash, and any problems the Flash Player runtime has, it's really a fun environment to code for. I like AS3, I like the Flash API, and I greatly enjoyed writing Flex back when that was most of my job. Really? I used to do a lot of AS3 work; it is hands-down the worst development ecosystem I've ever been involved in.
- cowpewter 15y agoWell to be fair, I do dislike Flash Pro. And Flash Builder is dreadful, but that's because Eclipse is dreadful and it's just Eclipse. All my AS3 work is done in a standard text editor (I prefer TextMate), and compiled from the command line with mxmlc.
- ootachi 15y ago"Render this thing in just this spot" is pretty well handled by absolute positioning, at least.
- VMG 15y agoespecially with canvas
- artur_makly 15y agoThis is why we created : http://ConvertMyFlash.com http://ConvertMyFlash.com In case you weren't aware, Flash sites : - Do not work on 250 MILLION iPhones & iPads. - They are unusable to 1 BILLION SmartPhone Users. - Don't fully show up on Google Search. - Content is Not Shareable on Facebook & Twitter. - Are not naturally SEO Optimized.