New Windows Application - What language?

2020-08-22 07:48发布

问题:

We are currently in pre phase of developing a desktop application for windows. But when hearing all the latest discussions on Windows 8, Silverlight, WPF, Jupiter I don't know what to believe anymore. Is it wrong starting a new project with WPF now? Should I switch to Silverlight? Or should I wait until more details of Windows 8 comes out?

回答1:

Interesting topic, main point is if you do it windows based (Winforms or WPF) or web based (ASP.NET MVC or Silverlight).

For a new business application we are just starting now, business wants windows based because they want more features, IT wants web based to have no deployment issues and easier support on a centralized server instead of trying to figure out what the client machines has...

In fact I believe WPF is ready for LOB (even if there are still less third party controls comparing to winforms).

I would not invest on SL because still requires a plugin and with MVC / Ajax and HTML5 you can do the same and more with no plugins required and having same UI running on all browsers and platforms ( I focus very much of have my web app running also in iPad and Android tablets with no changes )...

Main point is the architecture, how you distribute it across servers and tiers so to have well distributed workloads and good reliability... then if you have a UI windows based or web based, as long these UIs consume the same server components exposed as WCF end points for example... is more a "kind" of detail...



回答2:

Pick the least complicated language that has the features your app needs to run.

If all you need is HTML5 and Javascript, use that. Then you'll have an application that will run in any browser, everywhere.

If you need the .Net runtime, use any CLR supported language (C#, VB.Net, F#, etc.) with Mono or Visual Studio. .Net applications are going to be supported a long time.



回答3:

The answer will depend on many issues, not just what is the latest and best language to use. It is also about what the developer skills are ( or what the cost will be of buying them in ), what the delivery, running and support environments are, what the application requirements are.

If your skills are WPF, then that would be a pointer towards that. OTOH, if Silverlight provides approrpiate and relevant features, there may be significant value in moving to that.

The answer should depend more on the application and the environment than popularity.



回答4:

Waiting for a new version of an operating system to come out, have an acceptable uptake (think Windows Vista) and be the platform everyone hoped is a bit of a stretch and a rather big dependency. Personally I would stick to the technologies that you / your team is comfortable with and go from there.



回答5:

Starting with Silverlight should be pretty safe move. Native W8 UI will be XAML based and pretty similar to the one used by Silverlight (if the rumors are to be believed). If at some point you decide that you've outgrown Silverlight sandbox you should be able to move to WPF or the native W8 with little effort.

As others mentioned it, if you can get all your features implemented in HTML5/javescript you should seriously consider it. It will be more costly in development time and if you run into the limitations of what is possible with HTML5 you won't have an easy path to more feature rich technology, but you will gain unparalleled platform reach.