Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

From my understanding, the web interface was developed to use HTML because at the time it wasn't possible to simulate a desktop style application in the browser such as how Silverlight and Flash work, because of bandwidth limitations, and possibly processing power.

Why hasn't there in the past, and the present been a larger acceptance and push for technologies like Flash/Silverlight? From my experience they are more pleasing to develop with (of course my opinion), and you don't have to deal with cross browser compliance, and older browsers (for the most part).

Handling postbacks, AJAX, etc seems like extra unnecessary effort compared to the development paradigm of desktop applications. Do the DOM and it's complimenting technologies continue to thrive mainly on the fact that Silverlight/Flash requires a plugin install, and some mobile devices don't support the plugin?

share|improve this question
1  
Because the DOM isn't a second-class citizen. Silverlight and flash are leaky abstractions. You can easily have native desktop like applications in the browser user the DOM. It simply performs and integrates better then flash or silverlight. –  Raynos Jul 9 '11 at 10:14
add comment

4 Answers

up vote 16 down vote accepted

A few reasons I can think of, off the top of my head:

  • The traditional web stack is pretty mature these days; modern browsers have very few quirks left, and designing web sites for them is relatively pleasant, compared to a mere 5 years ago
  • While there are differences between browsers, they are less relevant than differences between the underlying OS and hardware
  • The request/response paradigm actually works very well for a lot of things, such as presenting text-heavy content
  • Search engines aren't exactly keen on Flash or Silverlight content
  • Flash and Silverlight are each controlled by a single company; using them means future platform support for your code is at these companies' mercy
  • Many things you can do with HTML cannot be done with plugins: think bookmarks, copy-paste, on-the-fly translation, custom style sheets
  • Plugins don't play well with non-standard browsers - think text browsers, audio browsers, and the wide range of other devices that can display web pages
  • You can't easily automate Flash or Silverlight clients, while driving HTML web sites from scripts is usually pretty straightforward.
share|improve this answer
    
One more thing I can think of: these plugins are not open source. And some people just don't trust things, which they can't do git clone with. Of course you can get open source versions, like Gource or Moonlight, but they're not really fully compatible. –  Dr McKay Jul 9 '11 at 9:02
2  
I had actually thought of the open source argument, but I did't think it is a big enough issue, real-world wise (no matter how big a fan of FOSS I am myself). The 'at the mercy of a single company' argument is kind of related anyway, and significant. –  tdammers Jul 9 '11 at 13:07
add comment

The technologies are all fairly immature. Just look at how much change has occurred in any 5 year block. With mobile/tablet technologies, it is going to change again.

I look at it as more of a merging. It isn't just HTML/DOM or plug ins. I've seen HTML extensions for accessing device features. Plug-ins support both desktop and web concepts along with bringing their own ideas.

Depending on your perspective, this is a good thing or bad. At the moment, my team is working in SilverLight (not for the web). It isn't a bad technology. You can build some very powerful, very attractive applications. However, it comes with a lot of complexity over its predecessors (.Net and maybe Win32) because you couldn't do as much with those technologies and the expectations were lower. Today, most developers writing any application are often competing (expectations, not actual competition) with the best of desktop, web and mobile technologies combined (speed, features, attractiveness, usability, ...)

share|improve this answer
add comment

This is a very common effect in our industry.
For example, I personally use haXe and deploy my client code on the Flash Player, because IMHO it is the best web enabled platform I can target. Once the C# backend is finished, I will probably check out whether Silverlight is worth using, although my personal feeling is, that it died, before it actually took off.

Being very happy with my language choice, a thing I ask myself often is: Why don't more web developers use an open-source, multi-paradigm, expressive, cross-platform language?

There's many reasons, but they're always the same. A valid one is personal preference. But often it comes down to ignorance or reluctance towards new/niche technologies.
When it comes to Flash, I had numerous arguments about why it has its place and why to use it. People mostly argue, that the whole point of Flash is to create fancy sites that load for ages and perform horribly (and spread a lot of other misinformation).
In fact, the opposite is true and apps such as Aviary Phoenix or Sliderocket and games as Koyotl and Tanki Online prove it. Flash is a mature platform to create desktop-like experience in the browser.

In the end, too many strategic decisions are made by incompetent people, who prefer to follow trends and rather trust some fancy blogger than their developers. And who really have a lot of wrong ideas in their head.

New/niche technologies will always struggle for acceptance, unless they really make a breakthrough. Ruby for example succeeded in this through Rails and the big hype around it. Flash had such a breakthrough for designers, because in the 90s people thought shrill is good and it was the first widely spread platform that allowed to implement just that.
Despite Flex, Flash never really had such a breakthrough for developers. Possibly because GWT, qooxdoo and a lot of other deploy-on-HTML frameworks are sufficiently good too simply not use Flex or Flash, and there's significantly more Java and JavaScript developers (apparently companies prefer to choose technologies where there's a high quantity of potential employees).

You don't need to write your AJAX website from scratch nowadays. You can actually not have any understanding of HTML and do it anyway, in a language of your choice.

Right now, HTML5 is greatly advertised and pushed forward and many people infer the death of Flash from that. A lot of great reasons are given, why HTML5 is better than Flash. What is more likely, is that you'll have more and more resource hungry, bloated websites created with HTML5. Standard based crap is no better than 3rd party based crap.

Right now, there's a lot of things happening. The iPhone and other similar devices have created a giant market, that hasn't been there just 4 years ago. And the web standards are finally being driven forward by all the major companies in the same direction (vaguely).

Personally, I just hope that all the agitation settles within a year or two, that HTML5 stabilizes, matures and spreads until then, while Apple will hopefully take a less despotic stance and Flash Player becomes faster on mobile platforms. And that once this big step is done, people will just come back to choosing the right tool for the job, just as it were after the browser wars had come to stop. As of now, there's too much noise for people to think clearly.

share|improve this answer
3  
Fire up a screen reader, turn off your screen, and give it a try. Does it still work? –  BillThor Jul 9 '11 at 13:03
1  
"Why don't more web developers use an open-source, multi-paradigm, expressive, cross-platform language?" - You mean, like Javascript? –  André Paramés Jul 9 '11 at 14:05
1  
@BillThor: As a matter of fact, this depends on implementation. Flash Player can interface with screen readers. Not many people choose to leverage thes possibilities. Either because they don't care, or because it's pointless. As much as I am sorry for those visually impaired, I don't see much value in making any of the apps/games I linked accessible for screen readers. I am also pretty sure you will have a hard time using Photoshop with your screen turned off. –  back2dos Jul 9 '11 at 16:04
1  
@BillThor: Apparently, you failed to get the core point of my message: People should get back to using the right tool for the job instead of using what is popular. HTML is a great tool for applications with a lot of content that can be captured with its semantics. Beyond that, it's not canonically the best tool. –  back2dos Jul 10 '11 at 9:46
1  
@back2dos: Didn't miss it in the least. If I used the best tool for the job for everything, then I would be using a dozen tools, some of them obscure. Then maintenance becomes extremely difficult. Instead, I use tools that others in the team have experience with. The right tool for a project isn't always a specialized tool. –  BillThor Jul 10 '11 at 14:17
show 1 more comment

The simple answer to "Why no desktop applications in Flash" is that you can just write them in Adobe Air, but apparently only few do.

I believe the answer is that people want web applications, not flashy Flash-application, and they want the web applications to be have just like all the other web applications they use. Personally I want to be able to use a Flashblocker and still have full functionality of the application.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.