views:

297

answers:

6

I've been programming for over 15 years and started with .NET 5 years ago. We built our framework for windows data-oriented apps and it is a quite stable.
At this point, we are considering to make a new platform. But, I am a little bit confused with all these new technologies. We considered CAB and SmartClient technologies but there are also WPF, WinForms and Silverlight options in there.

A: 

We built our framework for windows data-oriented apps and it is a quite stable. At this point, we are considering to make a new platform.

For your specs, all choices might be very good :)

Ropstah
A: 

I know that, but what you think is the best for investing in the following, let's say, 5+ years?

To add a reply to an answer you have recieved, please either edit your question or comment on the answer provided.
Daniel May
A: 

If you have a choice ( meaning if you are just displaying data without all the fanciful animation, movie and game like stuff), use ASP.NET MVC.

I always advocate web applications over desktop ones, because web apps are hosted in a single place, and so they won't produce upgrade nightmare.

In terms of which one has the brightest future, well, none of us have crystal ball and we don't know what Microsoft will throw at us in a few years time. But you should orient your apps around your business, not around fashion. If you really ask me out of the so many, which one will still remain standing 5 years later, I would say ASP.NET MVC, because ASP.NET is a mature technology, and MVC is a tried-and-true design pattern that has been used by open source and non-MIcrosoft companies. The fact that it is widely accepted makes it less likely to fade out of fashion.

Ngu Soon Hui
+2  A: 

It sounds like you just need a quick overview of the technologies you have outlined there.

WPF: Windows Presentation Foundation - a new graphical rendering system for building interfaces based on the XAML markup language.

WinForms: Windows Forms Applications - Visual Studio's classical drag-drop GUI.

Silverlight: a Web Application framework - usually used with WPF, very similar features

ASP.NET & MVC: ASP.NET is the web application framework used in conjunction with C# and VB.NET used and MVC stands for Model-View-Controller - a design pattern that has actually been around for ~30 years

Without knowing the true intricacies of your framework, what you need it to do, what limitations you have - I can't say X would be better than Y - especially seeing as WinForms and WPF is used for desktop applications, and Silverlight, ASP is used for web applications - unless you're thinking of linking these in with each other? You haven't given enough information in your question.


However, the best for investing in the following 5 years? The most recent and still in development technologies are WPF, Silverlight and the ASP.NET MVC - but nobody has a crystal ball to say whether these will still be alive, kicking, and technologically advanced in 5 years time.

Daniel May
http://www.mysticalball.com/
Arnis L.
@ Arnis: returned 'Absolutely' for "Will WPF be used in 5 years time?" Looking good!
Daniel May
@Daniel sure - if you believe in "var n = Math.floor(Math.random()*8+1);" :)
Arnis L.
We all need to believe in something, Arnis... :(
Daniel May
ASP.NET isn't a language - it's a (web application) framework. VB.NET or C# are the main languages of ASP.NET.
Matt Ball
@Matt: Right you are.
Daniel May
@Daniel: I got "my sources say no" for the same question. I think we're seeing the same problem as with fortune cookies that have *different* lottery numbers in them.
MusiGenesis
A: 

If you want to continue with creating desktop applications, then your two major choices are WinForms or WPF. WPF is the "hot" technology right now, but there are a few things to consider before choosing it.

  • WPF requires .Net 3.5 (maybe it's 3.0, but whatever). This is significant because many corporate customers are still using .Net 2.0, and may not authorize upgrading to 3.5 for some time (my former company still has some clients that haven't authorized moving from .Net 1.1 to 2.0 yet). Also, the installer for .Net 2.0 is 23 MB while the installer for .Net 3.5 is close to 200 MB, and the 3.5 installer appears to be buggy, failing occasionally with a helpful "SETUP Error" message.
  • Developing with WPF requires Visual Studio 2008. If you're currently using an older version, you'll have to upgrade.
  • This isn't completely true, but for the most part what WPF brings to the table is a much snazzier user interface. In my experience, corporate customers who are paying big bucks for custom software do not care in the slightest how the application looks - they only care that it functions well and that it ultimately saves them money.

Finally, if you already have experience developing desktop applications for Windows, then you will feel right at home going the WinForms route. Also, because of the Mono project, a WinForms app can (theoretically) work on other platforms like Mac, Linux and the iPhone, whereas this is not yet possible for WPF (I might be wrong about this, and I will happily correct myself if someone points it out).

I'm actually sort of torn about this advice, because I think WPF is very cool and powerful, and it may take off and become the only viable way of developing for Windows very soon. It is a risk, however.

MusiGenesis
A: 

Thank you all for answers !

We tested all platforms and we have at least one project finished using MVC, WPF, Silverlight, WinForms...

The main problem with WPF and Silverligth is missing of native ReportVIewer controls since we have a lot of reports (RDL) created.

Personally, I think also that MVC is best structured framework.

I really have positive thinking of MONO. But, I would rather decrease the price of the project so the clients can buy WINDOWS but to handle bugs in Mono-Linux option.

We decided to follow the Microsoft way.

I'm thinking of some kind hibrid framework (Webservice - SQL SERVER- ADO .NET Entity Framework) to be on hosted on server and hibrid CAB-SMARTCLIENT to be usen on clients.

I really miss the times where only one tool and technology was available like Levi's 501 :)