Why are virtual machine based RIA solutions so quickly rejected by proponents of legacy AJAX/DHTML patchwork solutions? [closed]
RIA adoption rates in the corporate intranet world seem higher than that of the Internet because the cost-effectiveness and efficiency is being recognized there. (A growing number of job postings asking for Flex experience in my IT-heavy region demonstrates this.) Why not also on the Internet?
Reasons you get from people who favor hacked-together JavaScript/AJAX/DHTML solutions just don't hold up to scrutiny. For example you hear RIA 'downsides' like:
Vendor lock-in... Using supposedly "standard" web techs you are still locked in to whatever JS framework tool you choose. What's the difference? It's even worse because the heavy competition between the multitude of "AJAX frameworks" means your FW of choice is more likely to be abandoned some day.
Search engine indexing... This is an issue for AJAX websites (anything with very dynamic content) too, not just RIAs. And for static content, Google has been indexing SWF (Flex) content for some time now. Anyway, this is a problem for web-SITES, not web applications: two entirely different things. And deep-linking is not a problem for a Flash app, even basic research can dispel that myth.
Performance/interoperability... Flash/Flex is JIT compiled. (If Silverlight isn't, I'm sure it will be eventually.) JavaScript is interpreted. Poor performance? Really? Flex runs in a platform independent virtual machine. Compared to the 'platform incompatibility' problem within browsers for AJAX scripts, saying a VM approach is not as cross platform is completely backwards thinking which completely ignores the browser wars and compatibility problems.
Accessibility... Any large website needs to think about this. Contrary to what many believe, Flash has accessibility capabilities--it's not vastly harder like many claim, just different.
Player 'upgrade nightmares'... Not an issue for a consistent backwards compatible platform like Flash. Actually the non-standard, inconsistent DOM and DHTML browser incompatibility problems common in AJAX applications seem like the real nightmare in comparison.
To make it worse, the list of "downsides" (such as O&M maintainability issues in response to new versions of browsers which break AJAX scripts) is much longer than any list of issues with virtual machine application deployment. Why do so many hesitate to adopt 21st century innovation and abandon the 1990's legacy JavaScript era? Is it just job security and learning fatigue from a rapidly evolving IT environment? What is the difference between the software and hardware world where they are adopting virtualization technologies so readily?
In intranet solutions, corporate have complete control over installation and compatibility issues, however Flex is very powerful and we have deployed it for our internet based solutions for more then 3 years and we have been able to achieve greater customer satisfaction then before.
I guess, people are just following some blogs/articles that furiously say "swf requires flash to be installed, so more changes that you may loose customer if he chooses not to install it", however more then 95% of internet users except mobile users have flash installed already.
And also on internet, mobile users are growing so fast, that is still a big reason to stay on html/js as Apple is not supporting flash/silverlight on iPad/iPhone.
However, Android and other mobile platforms are now coming up with Flash/Silverlight solutions, Apple's policy will soon get diluted and then I would see no other reason except SEO to avoid RIA platforms.
I am personally more interested in RIA instead of HTML/JS because, W3C has been sleeping for long time to bring any more new features in HTML and there is no corporate control over W3C's decision of how to improve HTML, where as in case of Flash/Silverlight, competitive vendors keep up with customer's need and they bring new features that will probably be always 10 years ahead of html.
I love the question... hence the questino up-vote.
My view, however -- unless your website provides a core business service instead of a glorified business card, then who cares? (ours is woodward.com, fyi... and i work on the internal erp app... flex + c#). Yes, Air Force uses a flex application for internal resource management... they also have a flash-based public site. They have a vested interest in having an awesome user experience to keep users on the public site. Most businesses, however, even $billion+ businesses, can't be bothered to pay tens or hundreds of thousands to focus on UX for the public-facing business-card site.
This isn't a question of apple vs. adobe, to me. For large enterprise development, Apple simply isn't a consideration... it may be someday, but currently, ixnay. If I get a request to build an application on an android scanner to save something in our oracle database, I can almost guarantee that the development time will be less than a couple short days and I will be able to utilize portions of 3 years worth of flex library project to complete the request quickly and easily.
To side with the questioner: If a business wants to give a great user experience and takes any time to think about the 5 points detailed in the question (and the multiple html5 / apple comments in other answers) AND the business decides to run with AJAX, then I would hope there is a good reason for making the decision.
I feel like I'm reading flame bait, and I'm not sure exactly what sort of responses you're searching for. But, here are my thoughts.
RIA adoption rates in the corporate intranet world seem higher than that of the Internet because the cost-effectiveness and efficiency is being recognized there. (A growing number of job postings asking for Flex experience in my IT-heavy region demonstrates this.) Why not also on the Internet?
RIA stands for Rich Internet Application. People in the corporate world building these type of applications are using the Internet. Anything you see there is on the Internet.
the heavy competition between the multitude of "AJAX frameworks" means your FW of choice is more likely to be abandoned some day.
Thankfully, Adobe and Microsoft have a history of never abandoning projects or products, right? So we can rest well at night knowing that Silverlight and Flash Player will be here forever to run the applications we want to build.
I, personally, want to thank all those graphic designers who keep buying the Adobe CS Suite and fund the Flash Player / AIR development. All that time is one big sink hole and it is not unfeasible in my mind that at some point in the future the "powers that be" at Adobe say "enough is enough, this distraction into RIAs and the Flash Platform was a nice attempt, but didn't work. Reshift focus back onto our money maker." I don't expect this to happen anytime soon, but it's not out of the realm of possibility.
Google has been indexing SWF (Flex) content for some time now.
Adobe had a headless player that they gave to Google [and other search engines] to index SWF content. But, no one is quite sure how it works or how such items end up in search results. The fact that the capability exists in theory does not help when trying to put it in practice.
Why do so many hesitate to adopt 21st century innovation and abandon the 1990's legacy JavaScript era? Is it just job security and learning fatigue from a rapidly evolving IT environment? What is the difference between the software and hardware world where they are adopting virtualization technologies so readily?
Why are people people? Beats me! Many stick with what they know and do not want to change. That is not unique to technology.
- Vendor lock-in... Using supposedly "standard" web techs you are still locked in to whatever JS framework tool you choose. What's the difference?
Adobe is a for-profit company, so they theoretically could have a real interest in making it difficult for their customers to move to a different platform.
JavaScript frameworks are written by volunteers, often to solve problems they have writing apps in JavaScript. There isn’t the same motivation for framework authors to make their users lives difficult.
Equally, Adobe own Flash and Flex, like Microsoft owns Silverlight. No-one owns JavaScript, CSS and HTML. They’re controlled by several companies working together in standards bodies. So they seem safer to rely on, because no single company can move them in a direction that’ll hurt others.
- It's even worse because the heavy competition between the multitude of "AJAX frameworks" means your FW of choice is more likely to be abandoned some day.
But it’s better, because JavaScript frameworks are written in JavaScript, so if your framework did get abandoned, you can adopt it, or rewrite your own. JavaScript frameworks aren’t as complex as something like Flash.
Search engine indexing... this is a problem for web-SITES, not web applications: two entirely different things.
That’s debatable.
deep-linking is not a problem for a Flash app, even basic research can dispel that myth.
Could you point to a reference? (I’m not disputing it, it’d just be good to have a reference.)
What is the difference between the software and hardware world where they are adopting virtualization technologies so readily?
I don’t really see what problem virtualization solves with regards to browser application interfaces.
精彩评论