I know that you have to install plugins before you could use them in the web browser.
Will it always be like this for plugins like Silverlight?
Or do you think major browsers (Firefox, Safari, Chrome etc) be shipped with it in the future?
I think the odds of it being supplied with those browsers are very slim. It's not on Google's\Mozilla's priorities and probably will never be (Maybe unless it becomes extremely popular.. But that's a very long shot).
Let's worry about HTML5 full support in all major browser before we're thinking about that..
But do notice that all Windows versions since Vista and Server 2008 do include the WPF runtime libraries, which means they do support Silverlight.
I think it depends on what the people want and not so much about what Google or Mozilla wants. Majority rules and eventually if enough people want it then it will be preinstalled. It happened for Flash, why not Silverlight?
Related
When I create new Windows Phone project I have an option to create a "Windows Phone" or "Windows Phone Silverlight" app. I know that they have different runtimes and different APIs.
I was under the impression that Microsoft wants to unify Windows and Windows Phone platforms so why is there even a Silverlight version? What benefits does it bring?
Also, if I want to create an app just for Windows Phone and never have plans to bring it to Windows, what should I choose, Silverlight or Windows Phone?
I'd suggest you go with "Windows Phone" (non-Silverlight). It's the new API, which works for both Windows and Windows Phone. At some point you may want to port the app or create a new one for Windows and you'll already know the API (and porting will be way easier). Also, the new API will most likely get more updates and features added, and at some point you may even be forced to update to it (either because the old one is no longer supported, or because it does not have some features that you need).
As it was said in the other answers - the Silverlight option is there only for backward compatibility and is likely to be phased out in time. That is - it's good if you already know the API and have many libraries (yours or others) for WP Silverlight, but if you're just starting - you'd better go for the new technology.
Edit
There is one other thing to consider before choosing between the two types of apps. Some features are only available in a Silverlight app, and others (smaller amount) - only in a Xaml app. Here's an article with some info on the differences: Migrating your Windows Phone 8 app to a Windows Runtime XAML app
Windows RT Xaml is quite new and People have to generate some knowledge first.
Silverlight for phone has been around for years and there's a load of tools available: Phone Toolkit, diverse Controls, etc.
Just killing it off would have hurt many developers who built up intellectual property over a long time forcing them to start over.
When starting a project with Silverlight you will have more things around that help you get stuff done.
When starting with WinRT Xaml, you will have better performance, but will have to figure a lot out by yourself.
So the Silverlight option is there to not throw of Silverlight developers.
I recently started a new project on WinRT Xaml and my experience was that I had to recreate a lot of common tools like Caches, etc. But also a lot of things that were in Toolkits previously are now part of the platform itself. Also, when moving over to Windows 8, you get to share a lot of code which is nice.
Unifying the environment(s) would be ideal. In my opinion, it hasn't been very successful. At one point in time, you could only develop under Silverlight, so what you are seeing is just a newer version of the same thing to keep backwards compatibility as well as to keep Silverlight's developers happy. In the future, it will probably be phased out. Plus if you want to support older Phones, Silverlight is basically your only choice (you'll be surprise, how many WP users haven't updated their 8.0 to 8.1)
There really isn't any other real benefit of Silverlight other than maybe the Windows Phone Toolkit which has been tremendously useful (you can see how many SO's answers rely on this simple addon). Once the universal runtime gets fleshed out to the point where the documentation reflects what's actually available -- then I think it would be the default project for developing in Windows going forward.
If you're just starting, I would use Silverlight the knowledge based is much greater. After you get use to the WP environment then switch to runtime.
I'm planning web application and considering silverlight as development platform. Will it help to solve browser compatibility issues? The app intended to be used on desktops only (no mobile).
Yes, it will solve browser compatibility issues, and could work on both Mac OS and Windows with the very same code.
The only drawback is that, the first time your user connect to your application, he will need to download the Silverlight plugin.
Awesome you would say? Well, unfortunately some people that probably never try to do something like image processing or advanced line of business application in a browser decide that plugins are not so cool and that you would be able to do the same thing with the magic power of HTML5.
We are still waiting to have the same possibility in HTML5 that we have in Silverlight or Flash, but plugins are already dead. At least as long as no big compay want to push them again.
So, my advice would be: don't start a project in Silverlight. You will have problems, even if you do not target mobile. For example it becomes harder and harder to find compatible good tools (like ReSharper, NCrunch, or even just a decent unit testing library). And in further release of Windows and Mac OS, it will probably not be supported at all (IE for Windows RT already does not support Silverlight).
Sorry man, Silverlight is dead, you arrive after the battle.
If your developing your application for an Intranet, I would say Silverlight is an excellent choice.
If you are developing for the Internet, use an HTML based language
I'm a developer who does a lot of Silverlight work and I experience some frustrations from time to time with various browsers not playing nicely with Silverlight. Particularly, I've noticed that Firefox will frequently interact poorly with Silverlight and attack the plug-in for attempting to interact with the browser.
Specifically, I've seen various versions of Firefox crash when:
The user initiates an action that requires clipboard access and a standard Silverlight security dialog is supposed to display. Other browsers handle this just fine.
A Silverlight application asks the browser to display a messagebox to the user (I've since used custom Silverlight UI for this because Firefox just wasn't liking this)
Silverlight is being run in Firefox with GoToMeeting running
The plug-in takes a bit of time on an operation (much less of a tolerance than other browsers, but this is usually something I can do something about)
Quite a few other times for little reason in particular
What can I do as a developer to avoid these sorts of issues for users that run Firefox? What can I do to analyze the problem when the SL plugin crashes? I don't feel that telling people to use Chrome or IE is a viable solution, but there aren't a lot of resources available on catering SL apps to run well with Firefox.
The best thing you can you assuming you are fulfilling the requirements is to report these bugs. Although some of them sound more like Firefox bugs, like "Silverlight is being run in Firefox with GoToMeeting running".
Another workaround instead of asking your users to use another browser could be to encourage them to install the application as oob.
This is a known bug in Firefox, if you have dom.ipc.plugins.enabled set to false in Firefox. See bug 602502 in Bugzilla.
If you can, set it to true, and you should be just fine.
We have been using Adobe Flex for a major project but it's just too slow.
We're considering switching to Silverlight.
The problem seems to be that Silverlight is not as widely supported by browsers as Flex/Flash is.
For example I tried to access the Silverlight showcase using Safari for Windows but it didn't work.
A web RIA platform surely has to have browser ubiquity as its foundation?
Browser Plugins are essentially native applications, so you essentially need a Plugin for each architecture.
For example, there is no 64-Bit Flash Plugin for Windows, so I always have to use 32-Bit IE for that. I also believe that there is no Linux-PPC support, but it's been a while since I've looked at that. And that new JavaFX stuff from Sun also does not run on many platforms and browsers.
For a list of supported Platforms, Wikipedia has a neat table:
http://en.wikipedia.org/wiki/Silverlight#Compatibility
IMHO Flash is the only thing that comes near perfection. Microsoft is just supporting a few major browsers.
Does anyone know if silverlight plugs into chrome, or when they plan to support it?
This guy have had partial success with silverlight in chrome, but it does not seem to be supported:
http://wildermuth.com/2008/09/02/Silverlight_2_and_Google_Chrome
From The Microsoft Silverlight Team in the silverlight forum:
Hello, currently we don't have plans
to support Chrome. We will support it
in the future if it gains enough
market share. Please understand, each
browser implements the plug-in model
differently, so it'll be a lot of
effort to officially support a browser
100%... By the way, IE 8 also runs
each tab in its own process. If a tab
crashes, other tabs will still work
fine.
UPDATE:
Jon Galloway has just posted instructions on how to get silverlight successfully running on Chrome here:
http://weblogs.asp.net/jgalloway/archive/2008/09/17/silverlight-on-chrome.aspx
The official word on what is supported looks like this:
alt text http://www.jesseliberty.com/sl/browsers.jpg
The reality is that we do run on a lot of browsers, but things change might quickly in these here parts.
For what it is worth, the Dev Branch of Google Chrome was recently updated to support Silverlight 2. I tried it and it works for me. Of course, you have to use the Dev release of Google Chrome. You can get more information about switching to Chrome Dev here.
Silverlight already works with web-kit, and since Google's Chrome is based on web-kit, it shouldn't be too much effort to get it working.
Indeed, this gentleman seems to have had some success.
Based on this, I would suspect that Silverlight will be fully supported by Chrome by the time it goes gold.