views:

684

answers:

3

I'm in the early planning phase for a project and determining whether to use Silverlight or the Google Web Toolkit (GWT). There are obviously a lot of things to consider, but this question is specifically concerning deployment.

This application is intended for intranets; i.e. it is not a hosted website and is intended to be deployed at a customer's site. The target company size is small, so most would likely prefer to run on their pre-existing servers. The intent is not to sell the code base along with the application, so code security is a concern.

Given that: Which is easiest to deploy? Which is better for code security? Which is better suited for deployment to the majority of small servers?

+2  A: 

Both will work.

Both can be secured.

Neither place a heavy load on servers.

Use what makes more sense to the user. If I were using in Intranet application, I would probably want something that doesn't require me to download anything and runs smoothly in the browser. That makes me lean towards using the Google Web Toolkit (as long as you're comfortable with coding in Java).

If you think your users will be able to and ok with downloading Silverlight and you're a MS developer, go for it. The only downside is that your users have to download and install a runtime AND you might be using more internal bandwidth.

Justin Niessner
+2  A: 

It mainly depends on what technologies you are familiar with. If you are a .Net shop, it just makes so much sense. Silverlight is compiled to XAP and is deployed on windows servers. Make sure you register the file extension of XAP in IIS. A XAP file is a Silverlight package that contains everything you need to deploy your Silverlight application, including the application manifest, the project assembly, and any other assemblies that your application uses

A major side effect of the Silverlight compilation model is the IL code can be easily decompiled or reverse engineered, Hence it is not an an appropriate place to store encryption keys, algorithms that are proprietary etc. If there is such needs, then design a web service that is on the server side. you can also try using obfuscation.

CodeToGlory
Silverlight can actually be deployed from any webserver, Windows or not, even one where you might not be able to register the file extension. If you can't register the .xap extension, it's simple enough to rename the file to a .zip (or anything for that matter) and edit the object tag accordingly. It's hardly a good practice, but it has let me deploy Silverlight applications to a cheap shared host where I have no control of the server.
Raumornie
A: 

I would agree with what you are familiar with. Ask yourself, "What IDE am I best at?"; "What language do I know best, VB, C++, J#, C#, Java, ASP, JSP?".

What I know about either library would not give you much help but I have used them both.(just playing with samples).

I do know that GWT will take java classes and create a nocache.js file that your web page uses. I have not tried GWT with Silverlight although I did see this on the way here: http://www.ongwt.com/post/2007/12/08/GWT-will-support-Silverlight

Is caching an issue? What classes does you system already support?

Both technologies are of an AJAX base. MS does it for Windows servers. Others use Open Source servers. What do use?