I have read a range of articles on advantages/disadvantages of Microsoft Silverlight framework in comparisson to Flash.
Fact that there were two version of Silverlight in the past 18 months worries me, as well as the fact that over 97% of web browsers already have Flash pre-installed.
I'm a .NET developer and I'm very happy with what I can do in the framework. At the moment I feel like I have to put my own preference to a side and decide whether I need to integrage flash with .NET instead of using Silverlight with WPF.
Did anybody try integrating Flash with .NET? What challanges did you come across? How easy was it in comparisson to working in Silverlight?
I have also read about recent talks between Microsoft and Adobe. Whatever way I go It feels very unstable. Can HTML 5 really compete with what's offered by Flash and Silverlight?
Thank you
I have integrated both Flash and Silverlight into my ASP.Net applications. I have to say that working with Silverlight was by far the easier way to go. Communication with the server is easier, initial setup was easier (along with a ASP.Net application or a simple HTML page). Integration into the ASP.Net application was the easiest part (as I'm sure you imagined it would be). If you're a .Net developer, then this is the way to go.
Also, I wouldn't worry about either of these technologies going away anytime soon. HTML5 is not going to take over. It'll take some of the market share, not all.
EDIT
Here are some links to other SO posts on the subject:
Which is the future of web development: HTML5 or Silverlight(or other RIA framework)?
Should I Abandon Adobe Flash for HTML5 and ?
Can HTML5 do most of what Flash does today?
This is basically the way I pick web technologies:
do you need to support every available platform made now, in the past and in the future? HTML4 (yes, 4!)
Do you have to make stuff that is not possible with HTML4, and are ready to sacrifice some user base? HTML5
Can you limit yourself to desktop users (no mobile devices) and need a very interactive application (more so than a "website")? Flash or Silverlight
Do you need to integrate with .NET? Silverlight
Are you familiar with .NET (more so than Flash)? Silverlight
Do you want to reach the absolute maximum number of users? Flash
Do you know Flash/ActionScript (more so than .NET)? Flash
Do you need even more features than what Silverlight provides, and can you limit your deployment to intranets? WPF/XBAP
The whole debate around Silverlight being dead is completely flawed in my opinion: those that thought Silverlight would be completely multiplatform really were not connected with the reality: just by looking at Flash it was clear from the beginning that iOS & co. would never support Silverlight.
HTML5 will probably be the real "universal multiplatform" environment (what is HTML4 now), but with all the nightmares we all know of html. If you are targeting desktops and need more interactivity, better tooling, unit testing & co. then Flash and Silverlight will still be the first choice.
Silverlight's user base is quickly coming close to Flash, so between those two it really comes down to the one you know better and the ease of integration with an existing backend.
The fact that Silverlight got a new major version every 9 months until now is just a sign of how much they are pushing it. Now that it's reached a mature stage you can expect to see larger intervals.
Frankly, AS3 is not hard to learn if you already know OOP. It will take a week or so. If you don't like all the frames stuff in Flash, you can create a single frame app and then manage everything from your custom AS classes.
I'm also a .NET developer, and I had no trouble learning AS3.0. Of course, one week is not enough to become an expert (it takes years to become an expert in any field). But if you simply need to create video or mp3 players, create drag and drop basic games/apps to add to an ASP.NET page, it's worth spending 20 or 30 hours on AS3. There are great video trainings out there . Seven or 8 hours training should take the 20 to 30 hours I mentioned. I went for AS3.0 a few years ago, rather than SL, simply because everybody has Flash plugin installed.
AS3.0 is typed (simple types like Number, String etc), but at least it's typed. There are plenty of functions, classes and methods allowing to implement hit tests, drag/drop, event listening (mouse events, keyboard events etc). Really cool and fun language.
Take care.
HTML5 has SVG and Canvas and video.
It's perfectly possible that at one point someone creative is going to create a very nice animation package that generates SVG files. There already are SVG generators there of course, but obviously they're not good enough because SVG and Flash is, so far, never mentioned in the same sentence.
But is ought to be possible. SVG does structured vector graphics, embedded scripting. The things you see done in Flash has to all be possible in SVG. Flash also has this awful notion of frames, which was a major design flaw from day one.
They should have just let you determine that you want to move an object from point A to B along a path determined by a line or curve or freehand path, and that the times of A and B can be anything and not just confined to a particular frame.
Then at playback, the faster your computer is, the better the frame rate ends up being. Slower computer, slower frame rate. As long as the object moves from A to B.
Then there are the bugs and just overall clumsy handling of Flash.
Flash can be done so much better.
So, I think that someone will at one point soon make an amazing SVG animation package that will just crush Flash.
I'm against Silverlight because it's Microsoft. Microsoft means proprietary. They do whatever they want to do. You've already mentioned different version numbers. This means your customers have to have the right version downloaded. You can count on your customers having to download major upgrades, and before you know it their entire .net install needs updating, before you can show your animations and applications.
Silverlight also doesn't work on Linux. It's supposed to, through Novell's efforts with Mono, etc, but in practice, in the field, it just does not work where you need it to.
I don't know if and how well, in practice, Silverlight works on the Mac, but I don't trust it.
Eventually, I think, that future HTML5/SVG (Canvas maybe?) is the way to go. It'll even do 3D using OpenGL accelerated graphics... (but I don't know if that's portable enough).
In the meantime, Flash is your safe bet, and it's almost guaranteed to run anywhere.
I wonder if anyone has created an animation package that outputs to swf files that's better than the Flash IDE. Shouldn't be too hard, given Flash IDE's clumsiness.
Microsoft recently announced a "change of direction" with Silverlight with more emphasis on mobile rather than desktop.
Flex/Flash and SilverL. now are very similar... using webservice for the clientt/server comunication you can work well with both.
Sure, for .NET developer with Visual Studio to use SilverL. is much more FAST and you need C# only.
But, Flash is more available on PCs, also for mobile devices... you could think for Flash if you need portability.
Related
I have a question about Flash. I am writing my first browser game, and I am trying to decide on a technology.
I have a few requirements:
I don't want to have to pay to write code and a not-complete-crap free IDE would also be good.
I want most (or > 70%) of "normal" computer users to have it installed, so, Unity's pretty much out.
I don't really need performance too much
I need 2D, not 3D
Needs to be able to communicate with the server, and no extra downloads required.
Preferably works with the Facebook platform, but, this isn't a requirment.
Now, I would go with Flash as it fills all of my requirements, but, to my understanding, I need to pay for CS5 to get coding with Flash. Is an alternative around this possible?
Are there any other alternatives I'm missing?
To add onto what ColinE mentioned, FlashDevelop also provides you the ability to download and install the Flex SDK. However, if FlashDevelop as an IDE doesn't work for you, you can also download the Flex SDK yourself.
This is essentially the same thing that's included with Adobe's Flash Builder application, which is basically built on top of Eclipse. This should at least give you a start on creating things in Flash, though you'll be limited to ActionScript 3. I'd suggest sticking with AS3 as it provides a lot of power compared to AS2.
If you do choose to use the Flex SDK, I'll give you a bit of knowledge I've gained since I started using it for developing games. This may be a little long-winded but hopefully it'll answer some of the initial starter questions.
You can develop apps/games using the Flex library but this may increase the size of your SWF file. However, it's worth noting that it's not required to use the library. You can use the compiler (mxmlc) provided in the SDK to build against .as files as well.
From here, there's a few gotchas that might creep in when it comes to assets. Flex provides you the ability to embed assets within your class files. Out of the box, it allows for the embedding of a handful of formats, most notably PNG, TTF, XML and SWF. There's a lot that you'll be able to do with Flex from a code standpoint but it's not very pretty for creating the assets themselves. Primarily, I use the Flash IDE only for cases where a project requires a SWF asset, however, most of my projects tend to use PNG.
When using an embedded SWF asset, you may come across an issue where any code that's included in the asset, such as any hover or animation logic as ActionScript, gets stripped out of the copy embedded in the resulting project's SWF. A workaround for this is forcing the mimetype to "application/octet-stream" and using a Loader object's loadBytes() method.
Finally, you should be able to make some sort of progress provided you have some sort of ActionScript knowledge. There are plenty of resources out there but be aware that a fair amount of them still use AS2. The knowledge can be applied with some modifications but may require some extra legwork to implement. The language is fairly easy to work with.
With all that, I wish you luck. Flash gets a lot of flack these days but even with HTML5 nearing final, there's still a lot of features that it will never be able to touch without leveraging Flash in some way.
Flash, Silervlight or HTML5 will tick pretty much all of those boxes for you, however Silverlight is only installed on ~65% of computers at the moment.
HTML5 can be tough to develop with, so perhaps Flash is your best bet. See the following question which discusses Flash IDEs:
Flash Developer IDE
FlashDevelop is a free development environment for Flash.
I believe your question is about which type of development you should use to get this game going, but I would also urge you to consider the future of each of these software sets, and choose based on what you would like more experience in.
Flash has been holding it's ground pretty well, but I've seen it less and less on major sites these days, and I believe HTML 5 is taking pretty good stabs at it. Even Pandora doesn't use flash anymore, and that was a pretty well designed little flash app (they still use AIR for Pandora One, but not their main site). Instead, like many other websites, it's using HTML and JavaScript.
So, while flash is slowly losing ground to HTML and JavaScript, where does Silverlight stand? Microsoft is still pushing their Silverlight technology, and based on Microsoft's support scheme, they'll still be using it for the next few years at least. At the same time, it's based on the .NET framework, so you'll be gaining some valuable WPF and .NET skills by using Silverlight.
There is no right or wrong decision here, it's really just based on which technology you see yourself using past this product, and which technology you want to learn.
I'd give it a shot in Silverlight, myself, but that's simply because I dislike flash, and there's already too many HTML and JavaScript developers.
edit:
Silverlight is a relatively small 30 second install. I generally hate installing new plugins, but Silverlight is relatively painless, imo.
I want to develop a web Application to manage school administration. But I am not clear, which technology should I use to create Rich Internet Application. At present, develeopment company is going with ASP.net tools and say this is a web app.
However, there is page refresh on every click. Which I don't like. Please suggest, where to proceed.
Regards
Piyush
In a plain ol ASP.NET application, the screen refresh can be eliminated by using update panels in webforms, or by using more of the AJAX capabilities of the MVC Framework. (Wikiplex on Codeplex has a crazy simple example of this that I love in their example application).
Between Silverlight and Flash, however, Silverlight is designed to be a Web Application, or (at times) a desktop application in a Browser, while Flash is more of a multimedia framework.
Since it is school administration, which doesn't require random people to have Silverlight installed, Silverlight and JS/AJAX are both good options. Both are built into the ASP.NET set of libraries, and have good support in Visual Studio. Flash is a bit of an outsider in this regard.
So to sum up:
In general JavaScript/AJAX > Silverlight but either would be great.
If you are totally against any screen refresh, I'd lean more towards Silverlight.
If the developers are very familiar with Flash and communicating with the server with Flash, then I'd say it is also an option, but with no knowledge on all three and I'd not pick Flash first.
It's a little late for a response to the initiator. But I didn't agree with some of the answers I read here, and since google is popping this up in the search returns I felt compelled to align my answer on this board.
First off, a lot of developers create applications in ASP.NET and AJAX because they are comfortable with it not because the technology is better. For years, what it took one person to develop in the Adobe Flex framework, took many developers to create in AJAX. There is no more AJAX versus Flex, there's just Flex. Who wants to write a hundred lines of code in AJAX to do the same thing it takes 1 line of code in Flex. That's why the cost with an AJAX deployment was always more expensive.
On ASP.NET, you're right. Who wants to see the page refresh every time you perform an action? Not to mention, no browser follows the HTML implementations exactly, so how .NET app looks in 1 browser would look different in another browser, in addition to differences witnessed with the various browser versions.
Most ASP.NET, heck even Coldfusion Applications are clunky in HTML. So with that in mind all of my gui development is done in Adobe Flex. When a flash file is created, it compatible with 99% of the browsers (safari on mobile devices excluded), and all of the Operating Systems are supported. I'll tell you what, you can get silverlight to work in linux but have fun while it loads 50MB of MS software on your Linux OS. Not to mention Flash has a 99% market penetration. So it's already preloaded on machines and browsers.
Plus flash supports most picture formats and SVG natively. Did you know Silverlight became notorious because they don't support even a GIF/BMP formats? Forget SVG if you're using Silverlight because it doesn't support it. What's SVG? Look it up! It's only the most useful way to create any image you want right in a flex app. For instance maps are useful in SVG. AND its just a small file. Not a horrendous large file.
Language, Flex is just easier to program in and there's a lot of support for it. Think I'm kidding, try for yourself. You can download a Free version of flex for 30 days. Forgive my ignorance but I don't even know where to begin on loading Silverlight. I've got visual studio and all that but I gave up after trying. But that was 1 year after it's release so it may have changed.
And frankly, if you or a developer can't afford flex, DON'T BUY IT. Instead, download eclipse, which is free forever. Adobe Flex is only a special iteration customized by Adobe anyway. So you probably won't get charting and some other components in eclipse, but most of the GUI components are built right into Eclipse.
Programming ASP.NET is just old hat. It's clunky, difficult to work with and it's possible to corrupt the files. It's not possible at all to corrupt your project files in Flex/Eclipse because they are just TEXT files. How cool is that?
Don't get me wrong, I program in ASP.NET too. But I like it for Application server processes; you know like the middleman between database and client. SQL server feeds ASP, and ASP feeds my Flex GUI using SOAP. Big plus is even though I hate Visual studio crystal reports, it's still way better than nothing. Believe me you want to have some reporting possibilities like CF Report Builder or crystal reports. Some people just like a nicely formatted PDF and that's all there is to it.
I've released hundreds of applications using various technologies. Right now this is my favorite. But frankly, a good GUI can be done anywhere if you are a 'kung fu' master. I'm saying that although it's easier out of the gates to program in Flex compared to .NET/Silverlight, someone with some mad .NET skills can put a Flex app to shame. But as it stands right now, there is no argument that Flex is the stronger candidate with the most market penetration, flexibility, and ease of use.
Good luck all...
ASP.NET does provide some special sauce for AJAX, so it's entirely possible to eliminate the page load without leaving ASP.NET. If you leave ASP.NET, the options are endless: Java, Silverlight, JQuery, Flash, etc. ad infinitum.
Silverlight and Flash are great for richer user interfaces, however I dont think they should be used for the "whole" interface or application. Its best to narrow down these parts and decide how rich these need to be, then evaluate which technology to use. If you just want to prevent full round trips to the server on a page, AJAX is a good option. I would also recommend Silverlight over Flex, since you probably/already have the tools.
We are launching a site that is media heavy and looking at using silverlight, since most of our video library is in wmv and from what i understand flash serving still costs a couple bucks.
Is silverlight really adopted out there, I know i use it as well as a bunch of developers for internal apps but as far as a web application is it ready to go, i went through a mac install with safari and had to restart my whole browser to install it, not exactly a great user experience. I also noticed that MS doesnt even use it for http://video.msn.com and also the few sites that have launched get crazy MAC people crying bloody murder , read http://www.itwriting.com/blog/641-mac-users-refusing-to-install-silverlight.html where one New York Times reader said "Nope. Not going to use anything from Microsoft. If reading the NYT requires MS products then, for this reader, goodbye NYT." when asked to install silverlight for NYT site. Tech wise moving forward I like Silverlight and some of the things i can do from a framework / wpf perspective and want to move ahead with it just not sure it's the out there enough yet.
Just wondering what people think out there
I think that if you have a user base that refuses to upgrade from Internet Explorer 6, good luck with getting anything else adopted, including Silverlight.
The thing can be installed more or less automatically just like Flash, for crying out loud. How difficult could it be?
The argument up to now has been, "Flash is already installed on most computers, so it already has high adoption." But that's a chicken and egg problem. How did Flash get adopted in the first place?
The NYT reader just has a prejudice. Clearly he believes that Microsoft is the evil empire. There's really nothing you can do about that. The real question is, how prevalent is this attitude? Certainly it will be common among the Linux/open source crowd, but it's hard for me to believe that this attitude would be prevalent among the average user. If anything, the Microsoft name is a warm and fuzzy for them.
I personally think Silverlight will pick up pace on business applications just because it's much programmer friendly and the fact that you can program it in .NET languages means it is much easier to reuse and maintain your business logic.
However, in terms of consumer application I don't think it can beat Flash, who's got a much larger install base and already used by most major companies. Also, don't forget HTML5, which now has integrated video element supported by major browsers including Firefox, Chrome and Safari.
Despite codec arguments, it is another strong contender, which will squeeze Silverlight's market share even further.
As a user and as a web developer I like sticking to the bare minimum. Like it or not Flash has pretty much become the standard platform for rich media on the internet. Everyone I know has flash to use videos from common sources like You Tube.
Since money seems to be an issue I might suggest Flowplayer, an open source Flash video player. Currently it only supports mpg, mov, and avi, but it's fairly easy to convert wmv to other formats using open source tools.
Here is Flowplayer:
http://flowplayer.org/v2/player/index.html
Here are some simple instructions for converting video:
http://flowplayer.org/v2/tutorials/my-movies.html
The only major sites using silverlight are ones that microsoft either owns, or has paid to use it, and most of the ones that they paid for switched back to flash. The version number may be approaching 3.0, but it is still a very new and immature platform that is not as widely installed as flash (which is pushing 97% of all browsers).
If you are talking wmv vs silverlight, I would go silverlight. If you are talking flash vs silverlight, I would say flash hands down. If you want to be forward thinking, serve stuff up with the HTML <video> tag, with flash as a fallback.
I remember that MLB went from showing those games from silverlight back to flash due to a few issues that didn't get resolve. It work pretty well on the Olympics, but beyond that I can't say how good or bad it is. Do you have any idea what percentage of users have Silverlight installed for their browsers? That might be something to look at.
I've heard that desktop Silverlight penetration is around 30%. Flash is somewhere north of 95%.
Going with Flash seems the easy decision now. I can certainly imagine a lot of Mac users seeing the "install Silverlight" message and saying, "Ick! No!"
In the long run, probably most Windows PCs will have Silverlight. Diehard Mac fans may never install it.
Meanwhile, I've seen more and more people who don't install Java, and who just pass on any site that says to install Java.
Adobe's only weakness now is mobile. They seem to have desktop locked up tight.
Now with Silverlight 3 (offline, out of browser stuff), what are the main differences between the two technologies?
There are some significant differences right now in the Beta, no idea if these will still be differences in the release version.
There is no way to hide the window chrome in Silverlight OOB.
No ability to create a notification tray icon.
Air apps can be multi-window, Silverlight OOB cannot.
Air apps have more access to the system, Silverlight apps are sandboxed.
There are differences in the install and update procedures, not sure of al of the details.
AIR gives you access to the file system and a SQLite db. SL3 only lets you write to the file system with user interaction (a Save As dialog) and doesn't have any support for a DB in Isolated storage or on disk.
SLOOB runs in a sandbox still, so you're limited to the same cross-domain issues as a Silverlight app running in the browser.
It's a three way war: Adobe AIR, MS Silverlight and Mozilla Prism.
Read this blog-post and this article. A quote from the second article:
Silverlight is the clear winner in terms of power, but as one of my colleagues pointed out the other day does it matter? His point was that Flash has an incredible penetration rate. According to Adobe it’s in the 99% range. When considering rolling out a new product that requires a plug-in why introduce another barrier to adoption?
and another one from the second:
We then asked of those who answered yes which formats they use. Unsurprisingly, given how long it has been available, Flash leads with 61% of respondents. More surprising was Silverlight’s very small market share of a little over 2%, essentially the same as that of the Real format. Quicktime did surprisingly well, at just under 20%.
As for VOIP support in SL read this.
Read up on Prism here.
In addition to what Dave said, Silverlight seems to be missing device support (microphone and web cam).
One thing I'd like to point out, that nobody else has mentioned is (and I'm not picking favorites when I say this, as we use Air/Flex for a project at my job):
Adobe doesn't have the talent needed to create quality run times and IDEs for developers. Their ideas are fine, it's the execution of those ideas that I doubt. I think we can all agree that Visual Studio is light years ahead of any IDE out there. Quality wise I'd even go as far as to say that VS2005 is better made than anything on the market (it's now 2011) 6yrs later.
If you feel Flex/Air meets your needs better, my all means, go with it. But if feel either platform will give you what you want, I'd say Silverlight wins every time. It's more mature, it's substantially more stable.
Our biggest headache for our commercial app is that Air does not managed garbage collection well, for the past year and a half, our app has suffered from slowdown, the only resolution is to do a nightly reboot on a kiosk because we nest objects inside objects, once you hit the 3rd nesting, it seems Air cannot flush those objects correctly, Adobe is will aware of it, and considering how much time has passed and all the newer versions, Adobe has no resolution. That is the sign of poor run times and Adobe developers who just aren't very good. Despite the fact people love to bash MS, these days their platforms are pretty reliable is reliable overall, especially their .NET runtimes. Adobe feels like Microsoft circa 1997, they're years away from offering reliable solutions.
PS: I'm sure a couple koolaid drinking Adobe devs will be down voting this answer.
Assuming only minor changes are necessary to run a Silverlight app on the desktop, the differences are in implementation details. Silverlight is a .NET-space framework based on WPF. Flash/Flex/AIR are proprietary Adobe products based on ActionScript.
In terms of capability, they seem to be roughly equal with complementary strenghts and weaknesses. Example: SL3 will have GPU and pixel shader support. The latest Flash as Inverse Kinematics. Different strokes, etc.
From the users standpoint I like the Silverlight installation process a lot more... Specially on the Mac - Air app installation is unnatural (to many clicks and processbars) but oneclick Silverlight install is nice :)
I've been developing with XHTML, CSS and Javascript for about 4 years now.
I love it a lot and hate it a little. I've looked into Flash and Silverlight a bit, but as a developer, I'm not too keen on them.
One reason is that they lock you into a vendor and generally, into using that vendor's tools. E.g. Adobe Flash or Microsoft Visual Studio, etc.
Also, Silverlight seems to mix content, layout/styling and behavior and into a single markup language, whereas I like the XHTML way of separating them out in code, but bringing them together in the user's web browser.
I also applaud the usability of the web, e.g. back button, hyperlinks, etc. which are set-in-stone standards that people are used to dealing with.
However, I'm seeing a lot of industry support for Silverlight and Flash. As far as .NET Developer jobs, I'm seeing less jobs for front-end/.NET developers and more jobs for Silverlight/.NET developers.
Will HTML developers still be employable in the future, or should I consider moving to a proprietary platform such as Silverlight?
While Flash/Silverlight skills may be worth developing, I think you will find that general web development skills will still be required for some years to come. Mobile apps in particular seem to place more emphasis on good, basic web design without dependence on plugins and or client-side code. Eventually, I would expect web standards to evolve to subsume the best (or at least most used) features of proprietary plugins. The web, at least, seems to be a place where people tend to favor solutions that maintain independence over lock-in to specific vendor technologies.
No, I think that idea will never fully catch on. The problem is really about the platform being developed on.
Look at how accessible the web is. Almost any machine can get on the web. My phone, my iPod, my laptop, my 11 year old PII machine, my gaming tower, all can access the same web.
The devices I have are not the limit to what can reach the web either. I think just about every gaming platform and cell phone can get on the web, as well as thin terminals running any OS imaginable. I'm sure there are others also.
The big thing looks like it's going to be the mobile market in the next few years. Some mobile devices can run flash, but it isn't used much because of the poor support & performance. The only way that the mobile web can work is by using pure standards based solutions, because that's really the only baseline that can be trusted to exist.
No matter what proprietary technologies come out, I can always rely on the fact that my XHTML pages will still render successfully on whatever device decides to access it. The same can't be said for flash or silverlight.
At the same time, I can also guarantee you that there will be a bigger market for flash and silverlight because the web is becoming more "media rich" in some niche markets (YouTube, Adobe Air, Hulu, Google Gears, etc. to name a few examples). There will absolutely be a market for it, but I wouldn't say it will defeat XHTML and web standards because the web is constantly being redefined.
No matter how much Flash or Silverlight try to take on, the technology will move so fast that the only baseline that I think will remain will be standards like XHTML and CSS.
Flash has been around for years and still hasn't taken over. I think that is one good example of how hard it is to replace XHTML.
Go for server-side development of any kind, but I wouldn't become a Silverlight or Flash specialist.
<CrystalBallMode>
To be honest I can't see it happening. Other than the reasons mentioned by tvanfosson and DanHerbert, the XHTML + CSS + JS stack just grew mature enough so that things like AJAX and jQuery make pretty much all the lightweight client side stuff easy with these tools (as opposed to things like streaming video, heavy computations or sockets etc.)
Common technological inertia will just guarantee that the existing things will stay around. People are much more likely to use something that has been around for a while and has been extended to meet the latest requirements than to use something totally new. Of course there are great paradigm shifts every now and then like the native to managed code transition but I don't see that happening with Flash or Silverlight.
</CrystalBallMode>
My hope is that what comes out of all of this is a new standardized web platform truly suited to building the web applications that people want to see with tools that developers really want to use. I see all of the effort going to trying to shoehorn these legacy web technologies into the "Web 2.0" model and I just wish that this effort could go towards making a truly revolutionary "Web v.Next".
Don't get me wrong, I really like what jQuery is doing to make Javascript client code easier, but it's still Javascript and my personal preference is to work with strongly typed languages with productive development tools.
In the meantime, I think tools like Silverlight and Flash have a lot to offer and help you do things more easily in some cases than in other web technologies, and there are some things you simply can't do any other way. But I don't think Silverlight or Flash or any other technology is the end game, just a step in the right direction.
Consider for a moment that you can manipulate a web page using Javascript, (X)HTML, and CSS with a great deal of overlap in functionality and yet ALL three technologies remain in prominent use today. The reason for this is because all three languages are different tools meant to solve different problems and no one of them can serve as an adequate replacement for the other.
Its the same thing with Flash / Silverlight vs these existing web technologies. In fact, I work in a dev shop that builds Flash based e-learning. One of our current products was originally built to use a purely Flash-based solution for navigation, etc. However, as the product has continued to evolve we have actually moved a lot of the functionality from the Flash-based e-learning module and into regular html pages.
In other words, I don't think that we'll be abandoning the current tools that web developers use any time soon. For the most part I see Flash / Silverlight as additional tools that will solve particular problems better than we were able to solve them previously.
Neither one is going to win out anytime soon. I expect which one is used will depend entirely on the purpose for many years to come.
The reason you're seeing so many job offerings for Silverlight of late is because it's a relatively new technology and just recently gained some momentum.
Though, I do expect Silverlight to make quick work of Flash.
I sure hope so. And yes, I think they will. There will be some development on legacy (XHTML/CSS/JS) apps for re-tuning purposes, but I think there will come a day when new apps are simply not created on those platforms.
Mobile phones are the issue right now. Flash isn't available on many of the major phone models. And their browsers are all over the map. Luckily there's Webkit (iPhone and G1).
If Silverlight makes it to a web platform then it will be a nice viable alternative to the hodgepodge of technologies that are currently in use. FYI, Microsfoft says Silverlight on Android is very possible. On the iPhone, hard to say, Apple is weird about such things.
AOL recently created a RIA version of it's email client in Silverlight. Looks nice and there's no Javascript errors to worry about. From a developer standpoint, that's huge.