Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Starting out with .NET - ASP.NET, WPF, Silverlight or Command Line C#?

Tags:

c#

.net

asp.net

wpf

If someone were starting out with the .NET framework, what is the most feasible template to start with? And by the feasible I mean the one that has the lowest learning curve and the highest gains.

Start with:

  • Command Prompt applications in C#?
  • Web applications using ASP.NET?
  • Silverlight applications in XAML/C#?
  • WPF/Winforms Desktop applications?

I don't want to focus too much into one particular domain at the moment, instead learn a little bit of everything in .NET Framework 4.0. In which order would it be better to learn .NET?

like image 256
Sahat Yalkabov Avatar asked Jun 19 '10 21:06

Sahat Yalkabov


People also ask

Is Silverlight a WPF?

Silverlight is simply a subset of WPF. 2. Silverlight is meant to be used online, while WPF is for local use.

Is asp net a WPF?

WPF is part of . NET, so if you have previously built applications with . NET using ASP.NET or Windows Forms, the programming experience should be familiar. WPF uses the Extensible Application Markup Language (XAML) to provide a declarative model for application programming.

Does ASP Net use XAML?

No. ASP.NET is to build Web applications and XAML is to build Windows. They are two different programming frameworks.

What is Net framework in C#?

NET Framework is a software development framework for building and running applications on Windows. . NET Framework is part of the . NET platform, a collection of technologies for building apps for Linux, macOS, Windows, iOS, Android, and more.


1 Answers

Console applications are obviously the starting point: user interface is a vast forest, and there's no sense trying to get through it until you've developed the ability to find trails in the wilderness. Also, there's nothing that you will learn doing console applications that's not applicable in everything else you do in C#.

The next step after that is to learn how to build user interfaces. I would take issue with those suggesting that you pick up WinForms: Yes, there's a lot of information out there about how to use it, and there are plenty of tools, and at its simplest it's pretty easy to understand. But there are two problems with WinForms.

First, a lot of the things that WinForms makes so easy are actually extremely poor programming practice. Mixing business and presentation logic in the same class is the norm in WinForms programming, and it takes a fair amount of effort to break that habit, especially since data binding - a key tool in decoupling the data model from the presentation - is fairly marginal in WinForms, while it's central to the architecture of WPF. There's a lot more to learn with WPF - a lot more - but you end up writing much better programs.

Second, WinForms is approaching the end of its life. You're not going to see Microsoft pouring more resources into improving it. They're done. This hardly means that it's not going to be useful well into the future - it is - but its overall penetration in the software-development ecosystem is, right now, as large as it's ever going to be.

Another reason to go with WPF is that most of what you learn working with WPF is also applicable to Silverlight, which opens up a door that is going to be forever closed to WinForms.

As far as ASP.NET is concerned, it's something that you don't want to learn until you need to.

like image 174
Robert Rossney Avatar answered Oct 20 '22 18:10

Robert Rossney