With the emergence of the Web 2.0 and RIA trends, browser plugins marketed as
alternatives to Ajax have appeared, including Microsoft's Silverlight™, Adobe's
Flex™ and Sun's JavaFX™. Each claim a nearly identical set of benefits in exchange
for moving off of the internationally standardized web platform.
It's a bad bet. Here's why:
1Ajax has come of age
A rich IDE environment featuring code completion. Step-through debugging. Visual design tools.
Rich diagnostic tools that you can even use in production. Sounds like the toolset being
promoted by plugin vendors, right?
No. These are tools that come with SmartClient, and they are in many ways superior to the tools offered by plugin vendors.
Plugin vendors paint a picture of Ajax development that hasn't existed for years, providing hand-picked testimonials from companies that simply took the wrong approach with Ajax - rolling their own from scratch, or picking a featherweight framework that didn't meet their requirements.
The reality is, the cross-browser inconsistencies that plagued early attempts at Ajax have long ago been eliminated for developers using SmartClient, not just for trivial applications, but for the entire enterprise development lifecycle, from design through deep customizations and pixel-perfect visual design requirements.
At the same time, the tools available for Ajax are now excellent, and are increasing in power and scope exponentially as the vast ecosystem around Ajax makes more and more contributions.
2The bright future of Ajax and HTML5
The battle for browser market share is back, and with it, fast-paced innovation by browser
vendors, including rapid adoption of existing standards and proposals for new ones.
Every feature for which plugins are commonly used - including offline support, real-time data streaming, video, sound, visual effects, vector graphics and animation - is already incorporated into the HTML5 web standard and into recent browsers. Prominent sites such as YouTube and the Wall Street Journal are already leveraging these features to minimize reliance on plugins.
In the meantime, Ajax performance in browsers has improved by over 100 times just in the past two years. Critically, every major browser vendor has made public commitments to match the performance levels of the current leaders.
3The reach and simplicity of true zero-install deployment
"Plugins such as Flash enjoy a strong installed base almost solely because they were formerly required for video"
It's hard enough to win customers and gain the trust of partners. You don't want to use a
technology that creates extra hurdles.
Plugin-based applications can only match the zero-install simplicity of Ajax applications if the user has already installed the correct plugins and the correct versions of those plugins. But plugins such as Flash enjoy a strong installed base almost solely because they were formerly required for video, animated advertisements and other media-rich use cases. With sites eliminating the need for plugins in favor of HTML5 approaches, this installed base will dwindle rapidly, and new versions of plugins will take much longer to roll out.
Further, it is increasingly apparent that plugins are a major source of security vulnerabilities, and security-conscious IT departments are now limiting which sites can use plugins, locking down plugin versions, and preventing new installations. Do you want to have to ask your prospective customers or partners to change IT policy to allow access to your application?
4Incremental upgrade and transformational RIAs
The consensus among analysts, industry luminaries and commentators is clear - Ajax is the
technology to use when making incremental improvements to existing applications. Similarly,
Ajax is definitely the technology to use for sites that require only small amounts of
So your organization will be using Ajax.
When Ajax also handles full-blown transformational RIAs, why would you invest in two sets of skills, two sets of tools, perhaps even two sets of server licenses or hardware?
From an enterprise-wide standards perspective, Ajax must be in the mix. There should be a very, very, very compelling and well-researched reason why another technology is worth the investment. When you become familiar with SmartClient, you'll find that that reason just isn't there.
5Ajax lets you leverage any plugin and the open web
In the short term, plugins are the best solution for certain niche use cases like 3D rendering.
It makes sense to embed plugins within a predominantly Ajax interface to handle these use cases
now, but with an approach that will allow you to replace them with the standards of tomorrow.
What does not make sense is using a plugin to provide the entirety of your UI.
Unlike Ajax-based applications, plugin-based applications cannot embed other plugins. If you use Flash for the entire screen, you won't be able to seamlessly embed Java Applets or Silverlight controls, and vice versa. This can make it nearly impossible to integrate with a site or product that relies on a different plugin technology.
With today's increasingly connected and integrated applications, you can't afford this kind of limitation. Tomorrow's requirements will inevitably involve integration with a technology you didn't anticipate. Using Ajax as the foundation of your application puts you in a position to smoothly integrate with anything that runs in the browser.
6Reach platforms other than Windows
If you think performance is a good reason to adopt plugin technology, then you'd better only
care about Windows, and be ready to ignore mobile devices.
MacOS, Linux and mobile versions of plugins - when they are available at all, and if they are installed, and when they actually work - are typically one-half or one-quarter the speed of their Windows counterparts, and have been benchmarked as substantially slower than Ajax on those platforms.
The reason is obvious - Apple cares much more about Safari performance than Microsoft cares about Silverlight on MacOS. Take any other platform - mobile, Linux, etc - and the story is similar.
The incredibly large installed base of Ajax applications - from slightly enhanced web pages to full-fledged RIAs - naturally implies that a fast, high-quality Ajax-enabled browser engine is the first priority on any given platform. Plugin vendors don't have the bandwidth to create a first-class experience on every platform, or worse, have reasons to leave some platforms as second-class citizens.
When it comes to the basic feasibility of your application - it's reliability and performance - Ajax is the platform that brings real cross-platform consistency, not plugins.
7Control over your technology
Control over your technology
Plugin vendors tout that their technology is open source or an open source alternative is
available. The implied benefit is that if you are desperate you might be able to fix problems
If a plugin vendor is not interested in prioritizing the fixes or features you desperately need, does having the source code to a plugin really give you options?
If you have the source code to the plugin, you can:
- patch the plugin, on all platforms
- negotiate deals with Microsoft, the Mozilla Foundation and Apple to bundle your modified pluginwith their browsers
- wait 3 years for sufficient adoption
Don't be fooled by claims of openness. An open source Ajax technology like SmartClient gives you real fallback options in a bad situation, but with plugins, the ability to get a plugin distributed worldwide is the true source of lock-in, and nothing else matters.
Ajax: the RIA technology for business applications
In a time of tremendous uncertainty, the sane strategy is to stick to standards-based Ajax
technology, leverage the most appropriate plug-ins only when required, and ensure you are in a
position to move to standardized technology as it becomes more prevalent.
With a true solution to cross-browser issues, a 7 year track record of success in the world's most demanding business applications, and the world's most complete framework and toolset, the best of breed Ajax technology for enterprise business applications is SmartClient.
Learn more about SmartClient or download the SDK now to get started with SmartClient today.