<p>We provide a web application with a frontend completely developed in Adobe Flash. When we chose Flash 6 years ago, we did so for its large number of features for user interaction, like dragging stuff, opening and closing menus, tree navigation elements, popup dialogs etc.</p>

<p>Today it's obvious that AJAX/JS offers roughly the same possibilities and because of the number of frameworks that are readily available, it's very feasible to implement them.</p>

<p>Is there a technical reason one should choose either technology over the other? By "technical", I mean performance, security, portability/compatibility and the like. I don't mean aspects such as the very non-programmer way development is done in Flash or whether it makes sense to switch an app from one to the other.</p>

<p>As I just explained <a href="https://stackoverflow.com/questions/52094/which-ria-technology-has-the-biggest-market-share">in another question</a>, it seems to me that JS is way ahead in terms of market share and I'm wondering whether we are missing some important point if we stick to Flash.</p>

[{'answer_id': 52145, 'author': 'Gulzar Nazim', 'author_id': 4337, 'author_profile': 'https://Stackoverflow.com/users/4337', 'pm_score': 2, 'selected': False, 'text': '<p>JS and Flash both have great presence on the web with overlapping capabilities. One area JS is still lacking is in rendering video.</p>\n'}, {'answer_id': 52150, 'author': 'Chris Upchurch', 'author_id': 2600, 'author_profile': 'https://Stackoverflow.com/users/2600', 'pm_score': 3, 'selected': True, 'text': "<ul>\n<li>Correctly designed AJAX apps are more googleable than Flash</li>\n<li>Correctly designed AJAX apps are more easily deep linkable than Flash</li>\n<li>AJAX doesn't require a plugin (Flash is pretty ubiquitous, so it's not really a big deal)*</li>\n<li>AJAX isn't controlled by a single company the way Flash is</li>\n</ul>\n\n<p>Edited to add:\n* Except for the iPhone, as Abdu points out.</p>\n"}, {'answer_id': 52164, 'author': 'Abdu', 'author_id': 5232, 'author_profile': 'https://Stackoverflow.com/users/5232', 'pm_score': 0, 'selected': False, 'text': "<p>I think Flash should be limited to online games, videos and animation. Otherwise use html and Ajax. It's a web standard and supported by almost all devices.\nAFAIK, the iPhone doesn't support Flash. That's a fast growing segment you're blocking out already. Keep it simple and efficient.  </p>\n"}, {'answer_id': 52175, 'author': 'crashmstr', 'author_id': 1441, 'author_profile': 'https://Stackoverflow.com/users/1441', 'pm_score': 0, 'selected': False, 'text': "<p>Although flash is pretty ubiquitous on desktop browsers, mobile support is very limited (flash lite? yeah, right). I get really frustrated looking up a restaurant on my phone only to find the entire site is flash based and I can't even get a phone number or address!</p>\n"}, {'answer_id': 52194, 'author': 'Pat', 'author_id': 238, 'author_profile': 'https://Stackoverflow.com/users/238', 'pm_score': 2, 'selected': False, 'text': '<p>In addition to what others have said, Flash is constrained in the "rectangle" and cannot be added to a normal html page in an un-obtrusive manner.</p>\n\n<p>@Gulzar I think when more browsers will support the video tag like mozilla 3.1 does we\'ll see even more adoption of ajax/js over flash.</p>\n'}, {'answer_id': 52207, 'author': 'elarson', 'author_id': 5434, 'author_profile': 'https://Stackoverflow.com/users/5434', 'pm_score': 0, 'selected': False, 'text': '<p>One benefit of Flash is that it has a few facilities to help do cross domain type operations safely, which can be helpful. Flash also has (limited) support for some hardware, which is not possible with Javascript. </p>\n\n<p>Personally, I\'d try to use as much Ajax as possible before turning to something like Flash. From the UI perspective, it is better in that the controls and basic authoring is a little more developed. The <a href="http://www.schillmania.com/projects/soundmanager2/" rel="nofollow noreferrer">Sound Manager</a> project is a good example of effectively using a small amount of Flash while keeping the remainder in Javascript.</p>\n'}, {'answer_id': 52212, 'author': '17 of 26', 'author_id': 2284, 'author_profile': 'https://Stackoverflow.com/users/2284', 'pm_score': 2, 'selected': False, 'text': '<ul>\n<li>Adobe Actionscript is a statically typed language, Javascript is dynamically typed.  Depending on your point of view, this may be a good thing or a bad thing.</li>\n<li>With Javascript/HTML/CSS you\'re going to be heading into cross-browser compatibility hell, especially if you want to support older browsers.  This can be mitigated by the libraries that are available, but it\'s still a big headache.  With Flash, you write the code once and it just works in all browsers.</li>\n<li>Even with the libraries available, Flash user controls are simply more advanced than anything you can find in the world of Javascript/HTML.  In Javascript, you are not going to find anything that comes close to the simplicity and power of a databound user control that Flash provides.</li>\n</ul>\n\n<p>I don\'t see how Javascript has more of a "market share" than Flash.  Pretty much anyone with a web browser has a Flash plugin installed.  I\'d be curious to know how many people disable Javascript but have a Flash plugin.</p>\n\n<p>Also keep in mind that you\'re going to be in for a huge learning curve and lots of development time if you decide to switch your technology base so you\'d really better have a good business reason to do it.</p>\n\n<p>This decision also has a lot to do with what your application does and who your install base is.  </p>\n\n<p><strong>Edit:</strong>  I see people have mentioned that the iPhone doesn\'t have Flash support.  I would expect this to change with the install base of the iPhone - Adobe would be crazy not to support it.</p>\n'}, {'answer_id': 52486, 'author': 'Ry Jones', 'author_id': 5453, 'author_profile': 'https://Stackoverflow.com/users/5453', 'pm_score': 1, 'selected': False, 'text': '<p>Flash, used well, allows easy localization and internationalization.</p>\n\n<p>Furthermore, it is much easier to use Flash in an accessible manner; you can feed screen readers the right text, instead of having them iterate over all of the possible form elements.</p>\n'}, {'answer_id': 54134, 'author': 'grapefrukt', 'author_id': 914, 'author_profile': 'https://Stackoverflow.com/users/914', 'pm_score': 0, 'selected': False, 'text': "<p>I suspect one of the reasons javascript is becoming more popular is that it's more easy to retrofit into an existing application. </p>\n"}, {'answer_id': 58867, 'author': 'Hanno Fietz', 'author_id': 2077, 'author_profile': 'https://Stackoverflow.com/users/2077', 'pm_score': 0, 'selected': False, 'text': '<p>As I can\'t accept two answers, I\'m going to merge <a href="https://stackoverflow.com/questions/52140/what-are-the-technical-pros-and-cons-of-flash-vs-ajaxjs#52150">Christ Upchurch\'s</a> and <a href="https://stackoverflow.com/questions/52140/what-are-the-technical-pros-and-cons-of-flash-vs-ajaxjs#52212">17 of 26\'s</a> answers in my own post. I think, these two together pretty much sum up what I wanted to know. Thanks guys!</p>\n'}, {'answer_id': 13637949, 'author': 'Kernel James', 'author_id': 1203580, 'author_profile': 'https://Stackoverflow.com/users/1203580', 'pm_score': 0, 'selected': False, 'text': "<p>If you're dealing a lot with polygons, then Flash is still easier to program and debug. With AJAX there are a lot of libraries to handle polygons, but the more libraries your app uses, the slower it gets.</p>\n"}]
['https://Stackoverflow.com/questions/52140', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2077/']