views:

81

answers:

4

Silverlight, Flash, and JavaScript, oh my..

I have a couple of applications that I need to develop for one of my business partners that will be distributed to dozens of people. These applications will need to be able to query information from the internet (query via Google, grab feeds from our other sites, just general web access) and save files to their computer.

The reason I want to host the application is so that it all can be centrally managed, and any updates would be instantly deployed to everyone that uses the service. There always seems to be headaches with developing a pure desktop app in a language like C# with regards to making sure people use the latest version, don't have some odd problem with the installer, etc.

Since we don't want to tie up our server's CPU I want effectively all of the processing done client-side. Meaning that they would log into their account, access the app, and then all the work done within the app is all handled by their machine. Only specific data would be sent back to the server.

So - which language is best for this? Microsoft's Silverlight, Adobe's Flash, or Sun's JavaScript? I've heard a lot of good things about Silverlight and have wanted to try it for some time. I've only done extremely limited JavaScript programming, and absolutely none with Flash. Or, with my main requirement being that the client does all of its own processing should I just stick with C#? Also, is there any way to integrate a C# app into a webpage? I've never even considered it (or have any idea if it's even possible) until just now.

Thanks in advance!

-Sootah

+4  A: 

The way I see it, is you can use Silverlight or even a WPF browser app. Now, if you use a browser app, you have to sign the app and have a certificate that the user can import, and this could cause a headache. If you don't need things like local access to a database (say an MDB) then Silverlight is probably your best option. With 4, you can now print, and even have COM support, as well as out-of-browser apps. It's C#, which you seem to know, and a sub-set of WPF markup for the UI. Also, this would lend itself to using MVVM.

Muad'Dib
Just agreeing that Silverlight is probably what you want. You can develop in C#, which you already know, and can control all aspects of the experience.Javascript would be a good second choice: no plugins required, but you may have a lot more problems getting things to work, especially if users may have different browsers.
CodexArcanum
A: 

Why not use a server with ASP.NET ? Then you can keep writing C# ... Developing an application like you describe in Flash is possible, but I wouldn't start on it... Developing in flash is buggy and painfull ... Also, you can't save files to the client pc from a client app like flash or javascript .. The only way to do it is to point to a file on the web ...

Run CMD
Flash is not buggy and painful and you can save files to the client PC from the client app. Sounds like you have not tried Flash within the past 3 years.
Allan
Well I'm not going to begin arguing about this, but we cannot even start Flash debugger ... it will crash Flash .. (CS3). Besides from that, there's no intellisense or even a decent code editor. And yes, we have written many flash classes, sites, apps, CMSs and even Flash/JS/AJAX/ASP.NET communicating sites...Have you even tried C# ever ?..... Flash isn't buggy if you compare it to Flash 8 ...Anyway ... go with it the way you like it ... i don't think there's a "best" way ...
Run CMD
Then you haven't tried http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page. Brilliant free IDE.
Glenn
A: 

Not sure what is best for your particular application but Curl fits the bill (not to be confused with cURL), although it is much more popular in Japan and Korea than in the US.

Christopher Barber
A: 

If all you're doing is data processing with no fancy user interfaces (e.g., vector animations, dynamic shading, etc..), just use JavaScript for the simplest, quickest system. No plugins, everyone has it, and it can send and receive data easily from the server using AJAX-style stuff. And it's getting faster all the time on modern browsers.

Edit: And I believe that Silverlight is basically C# in a web-browser these days. Just my understanding. I've not used it yet.

Glenn