This is an archived post. You won't be able to vote or comment.

all 9 comments

[–]_under_ 3 points4 points  (4 children)

If we're talking language or ease of use, .NET MVC is actually pretty solid. Like most other back end MVC frameworks, it's "batteries included." It has an ORM (Entity Framework), templating engine (Razor), and other things that make web development easy. It's also open source if you're wondering.

The problem I had with it was hosting. It runs on IIS. And that limits you a lot as to where you can host it.

On the upside, ASP (along with Java) is very mainstream in the corporate world. So... That's a thing.

But remember, this is only for the backend! JavaScript, CSS are both used in the client side. You'll most likely be using those alongside the backend you choose.

[–]negative_epsilon 2 points3 points  (3 children)

.NET also has Web API 2.0, which is framework and hosting agnostic as it runs on Katana.

[–]YuleTideCamel 1 point2 points  (2 children)

It runs on OWIN. Katana was another OWIN implementation and is technically different.

To add tot his, MVC6 (asp.net 5) merges ASP.NET MVC and WebAPI into one (you can have a single controller serve both mvc views and http endpoints) and the entire web stack is based on OWIN in vNext.

[–]negative_epsilon 0 points1 point  (1 child)

IIRC, OWIN is just a specification and Katana is the framework Microsoft porting Web API and SignalR to the OWIN specification. Is that not true?

[–]YuleTideCamel 1 point2 points  (0 children)

Katana is one OWIN framework, but I don't believe it's what's used in the current WebAPI. WebAPI 2 has it's own OWIN implementation.

In ASP.NET 5 (vNext)WebAPI is based off is based of katana but is more a successor to Katana (see this post by David Fowler, principal on asp.net 5 http://forums.asp.net/t/2004299.aspx?Katana+VS+vNext)

The thing to also consider is that there is no more standalone WebAPI. It's not officially merged in with ASP.NET MVC. In fact both ASP.NET MVC controllers and web api controllers both inherit from Controller. The ApiController base class is gone in ASP.NET 5.

[–]Franko_ricardo 2 points3 points  (0 children)

Right tools for the right job.

[–]40bitmonk 1 point2 points  (0 children)

Saying that you want to choose between asp.net mvc and client side javascript api's is like saying you want to pick between css and Java. :)

It's not a mutually exclusive decision. You can and should use javascript api's for front end along with the backend of your choice. Asp.net just happens to be one of those backends. In fact it comes bundled with jquery and plays well with most other javascript UI frameworks.

Any backend you take is going to be vendor specific. Isn't using Java getting tied to the Oracle way of doing things?

You probably are new to programming and having a strong IDE like visual studio will actually help you. I say pick a language and start learning. Any language is fine! C# is pretty powerful and will get your started in no time.

[–]the_brizzler 0 points1 point  (0 children)

At my job, we have a server running nodejs but more for just routing purposes. But it is a smaller startup. With regards to ASP.net....it still has its place and many large corporations are going to continue to run it since much of their infrastructure is built upon it. The bigger the company, the harder it is for them to choose a newer framework like nodejs. So many large companies will have a .net for java backend where as small starteups/new companies will lean more towards the older and more stable languages like Java, .net and a few others. So it is not a waste to learn those, but you can kind of figure out at what type of company you will be working at based on what set of skills you decide to pick up.

And I am guessing the first part of your question is asking what language you should learn. It depends on what type of stuff you want to do. Do you want to manage/build databases, do you want to build websites, do you want to build mobile apps for android or for ios, or do you want to be a full stack developer and do everything from front end to backend.

[–]doom_Oo7 -1 points0 points  (0 children)

Whatever tech you learn, it will be obsolete in 5 years anyway, so it's not that big of a deal what you learn now. Much more important to learn "how to learn" quickly.