I want to develop a windows based application in silverlight. I went through many articles and every where I found that "Silverlight is for web based application". I don't know whether I am wrong or right, as my superiors told me that in Silverlight5 we can develop Windows based application. Can any body help me to give a clue for how to start. Any help would be highly appreciated.
Thanks in advance
If you mean a Windows based application which can connect with internet you go for Out of Browser application which silverlight supports but if you want simple plain desktop application, there is no point in using Silverlight, WPF would be the right choice in that case.
Look at this article for building an out of browser app using Silverlight.
Silverlight specializes in building rich UI based Web applications and WPF is best for making UI rich applications for Desktop.
You can run silverlight apps "Out Of Browser", its just a setting in the config. Here's a video with more info: http://www.silverlight.net/learn/videos/all/out-of-browser-experiences/
silverlight is a web-based technology that runs on the client machine. it is, basically, Microsoft's version of Flash.
Now, that being said, you CAN write silverlight apps that run out of the browser. but, they are not "really" windows apps. silverlight is a sub-set of WPF. However, you can also make WPF apps that run in a browser. Confused yet?
The bottom line is that WPF is for desktop apps and is full-featured with access to the machine resources.
while silverlight is a light-weight version of WPF that is intended to be run in a browser, similar to flash. it does not have all the features of a full desktop application due to security model and that sort of thing.
Both have elements that cross into the domain of the other.
Like all good things, the answer is "it depends on what you're trying to do". If you want an application that can run inside the browser, outside the browser, plus on Windows and Mac then Silverlight is the answer. You also get for free/are restricted by a security sandbox; you can get around this sandbox by requiring additional permissions from the user. If you're trying to do something that requires multiple monitor support, access to COM objects, stroke/pen/stylus input, 3D hardware acceleration, or access to a large local file store then WPF is probably the better answer. Silverlight out of browser applications also have a nice "phone home" feature that will automatically download updates; WPF requires you to roll this by hand.
Some folks have mention XBAPs (running WPF inside of a browser). Stay away from this error prone steaming pile of stuff. It's good for demoware, but is not something which you'd want to support.
You heard right.
This is called "out of browser":
Silverlight-based applications typically run within Web pages, but you can enable users to install them from the Web and run them outside the browser.
Related
Ok, so I'm a major amature to the world of programing and I want to make an app that can be deployed through the Windows Store. This is mainly because it seems easier and cheaper than if I were to distribute it myself. I'm using Visual Studio Ultimate 2013 (hooray for free college software!) and I plan on using c# and JSON to pull some data from a public api.
My question is: If I develop an app so that it can be downloaded and installed from the Windows Store to be primarily be used in "Metro" mode, can I also add a button that makes it switch over to desktop mode like Google Chrome has?
Note: I have done some research on the subject and I think this is doable, but I could never find specifics on how it's done. I appreciate any insight you can provide!
AFAIK, as of Windows 8.1 there is no built-in support in WSA to run in a window on the desktop, unless you find that Snap mode suits your needs (it does for me). Primary browser is an exception, but it's not strictly just a WSA.
However, there are 3rd party solutions to do precisely that, e.g. ModernMix, so technically it's possible, but goes outside of what you have access to during WSA development.
There are also talks about Windows 8.2 supporting this out of the box: dailytech
I have build a WPF media player application in c# .Net 4.0. I would like to take this WPF application and put it on a Windows Embedded operating system. This would take out all the things I don't need and just make a simple power on and my application loads. I know there will be a lot of work in order to make this happen and I'm just wondering if someone can point me to a good starting location. I've looked around a lot but haven't found a good tutorial on how to go about doing this or what version of windows embedded I would need etc. Any help would be greatly appreciated.
Thanks!
if you are using Windows Embedded 8, it's basically full windows with lockdown features, thus any application that can run on normal windows will be able to run on it
I am writing my first vb.net application ( But I will tag c# here as well, as I am sure even a c# person can answer this with the similar .net implementation).
Short Description of my Applicaiton:
My desktop application will run on win platform only, using vb.net, it is a simple internet cafe management software, with a server gui running on server, and a client gui running on workstations, both communicating with TCP/IP to allocate time to customers, and the server storing some data in either xml files ( for human operators login info e.g) or in a small database. Nothing complicated.
What I would like to do:
I'd like to have a "sexy" look, i.e. either silverlight look or win7 phone look, yet this is a desktop application. I'd like to use CSS but its entirely optional, if there is a simple way to have my controls look like below without CSS thats fine with me.
What I have tried
I have looked into just doing a silverlight out of browser app, but as I am new to .net, and even though I have read up as many articles about using silverlight5 out of browser, I don't want to be caught down the road when I want to implement a feature and realize "Oh silverlight out of box doesnt support that".
So my question is , how do I implement one of the new looks in the picture in my desktop vb app?
You should look at using WPF for your application instead of using WinForms.
WPF (Windows Presentation Foundations) is a platform which works same way as silverlight but on desktop (as far as you need to be aware now.) Silverlight is a cut down version of WPF so WPF will give you a lot more controls and a lot more control over the program.
WPF uses XAML to draw up the UI and it holds the code in the source code file associated to the xaml file. If you have experience using Silverlight you should easily be able to make programs with WPF.
WPF is really powerful and gives you access to all the styling that is possible on Silverlight. WinForms is more so restricted which makes it harder to abandon the consistent Windows look and make your own intuitive and innovative UI.
Hope it helps!
Here are some tutorials if you are interested:
WPF Tutorials
Here is an example WPF desktop app (exact same look as achievable with Silverlight)
You can use wpf with Mahapps Metro : http://mahapps.com/MahApps.Metro/
I currently develop a handful of Silverlight Applications that are hosted on the company intranet. It is my understanding that Silverlight is basically dead, so I was wondering if anyone knew of a good alternative to use for future applications. I have done some research, and I see that Microsoft is recommending to move to WinRT stuff for desktop applications , but I can't find anything about apps that are supposed to be hosted in a browser, like I am doing with Silverlight now. Should I just switch over to using ASP.NET / HTML / CSS ?
The recommended approach would be to use HTML5. The Metro version of IE 10 doesn't support plugins, so Silverlight will not work there. However, the desktop version of IE 10 still has plugin support, so your Silverlight apps are still supported in Windows 8 to a certain degree.
Silverlight is no longer being advanced by Microsoft, but will still be around for a while (i.e. all browsers will not drop support in the near future). Given that you are working on intranet apps, you probably have an opportunity to control the environment to a degree so that the Silverlight apps are still accessible. However, it is probably wise to move to HTML5 for new development and also think about a long-term migration strategy for existing apps if needed.
I've talked to some folks around the office, and it seems that their approach is to just convert their Silverlight apps into WPF apps and use ClickOnce for the deployment. The advantage here is a relatively easy and clean port (compared to HTML/CSS/javaScript) and we still get the benefit of existing code / look / feel.
These apps are all internal as well, so we don't have platform problems or browser issues to worry about.
I would like to rewrite an application that currently works as a Windows GUI in C#. The problem is, it works well on Windows, but is not adapted for Mac and Linux because of GUI issues with Mono.
So my idea, was to continue with C# (needed because of an essential sub program that needs to run C# and cannot be ported) and try to rewrite it as a web application that any user on Windows, Mac or Linux could access easily and make it work.
It is also important that my application remains working "out-of-the-box" because it aims high accessibility.
I've looked for solutions like :
KayakHTTP but it does not support POST data ! (needed for a web GUI)
XSP2 from Mono and make an ASP.NET MVC web app, but will it really work with my web app to make an out-of-the-box application ?
Alternatively, do you have any other idea for me to have a C# web app working out of the box for the end users ? The only thing needed would be to install Mono on Mac and Linux.
Thank you very much for your help.
EDIT 1 : I realize that I have not explained all aspects correctly. In fact, there are 2 applications in my project :
The CORE application which is written in C# and is too big to be ported or rewritten and thus must use Mono for running on Mac and Linux
My GUI application using Windows Forms which is written in C# too and controls the CORE application
My goal is to convert my GUI application into a web app application so there's no more the Windows Forms GUI hassle on Mac and Linux.
Is it necessary for your core application to run on the client?
If NOT, then the best approach is to rewrite everything as a web (ASP.NET) application which is going to run on a Windows server. Users on all your target platforms will then access this app through a web browser.
If YES, then a web app is not a good idea. You really don't want to require a web server on your clients. You have two possibilities:
Take a look at the GUI toolkits available for mono and select one that is available on all your target platforms to avoid having different front ends for each of your platforms.
To ensure best user experience on all platforms you should choose the native GUI toolkit for each of the platforms and write a different front end for them: either using Mono or using a native development environment as long as your core application has an interface that can be accessed from it (e.g. command line or similar).
This is a duplicate question, but I don't have time to find the duplicate.
Briefly, the answer is: don't do this. You cannot translate a desktop application to a web application on a one to one basis: the two paradigms are too different.
I recommend instead refactoring your current application to remove all dependencies on the GUI. Then, write a totally new web application to meet the requirements, and have the web application call the code you refactored out of the desktop application.
Be aware of the big, hidden difference between the two platforms: the web application will be running on a server. It will be used by multiple users at the same time, and by multiple threads at the same time. While you are refactoring, be certain to note any code that would be sensitive to the difference. For instance, code that uses static member fields now could work in the desktop application because there is only one user at a time. In a web application, that static will be shared across all users and all threads.
This may not be what you had in mind.