As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am an intermediate C# developer and taught myself the basics of C# MVC, but not ASP.NET MVC. I already know classic ASP and ASP.NET though I haven't used them in many years, at least 5, since I mostly do C# desktop development at my job. The thing is, I now want to migrate all of our existing C# applications to the web..
So, I am going to start looking to hire a new developer but my question is this, since I don't really know ASP.NET MVC specifically would it be smart to look for a C# MVC developer only, since I plan to have all our internal C# apps migrated to the web? I know that ASP.NET and C#.NET can be used together but I want to try and keep everything uniform. This person will likely have to understand some C# to be able to migrate our internal apps so should I continue looking for a C# MVC developer only or do you think an ASP.NET developer will have no problem? I imagine there are plenty of ASP.NET MVC developers out there but not as many knowledgable with C#...plus it would help if they understand the not-so-difficult C# written apps when they they migrate to MVC.
Can someone explain the pros/cons or differences between the ASP.NET MVC & C# MVC or what issues I should expect to come across?
Thanks in advance!
Well, there is no C# MVC.
MVC (Model, View, Controller) is an Architect Pattern.
ASP.NET MVC is an implementation of this pattern of Microsoft ASP.NET and you can use C#, VB.Net and other languages to programming on this platform.
You also can build your application using MVC principles (for sample) in a Windows Forms application without any default implementation like ASP.NET MVC.
In general, I try to test for general programming and problem-solving skills.
If a developer cannot quickly pick up a new library or language, I probably don't want to commit to hiring them.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I want to ask experienced ASP.NET developers about how to climb the learning curve of ASP.NET.
I am an experienced C++ and C# developers with no web application experience.
I found ASP.NET MVC and ASP.NET are two different technologies. I just want to ask:
Whether these two technologies will co-exists or MVC will replace
ASP.NET?
If I want to learn ASP.NET MVC. Do I need to learn ASP.NET as a prerequisite?
Can you recommend some learning resources? Book? Video? Not paid Microsoft training :(
Many thanks
First of all ASP.NET is request/response pipeline. This means that you are given access to the request and response streams as well as some provisions like, session, cache, security, etc.
On top of this there are 3 frameworks in charge for generating HTML. The first and oldest is known as ASP.NET Web Forms. Because it was the only one it is sometimes called ASP.NET but this is not correct in the current state of things. ASP.NET MVC is the second one and there is a third one known as ASP.NET Web Pages. All 3 of these share the same core ASP.NET request/response pipeline and the APIs for Session, Cache... What is different is how they generate HTML.
You can check my answer to this question for more info.
Asp.Net Web Forms and Asp.Net Web Pages
And to answer your concrete question - no Web Forms is not going away. A lot of people use it, MS are releasing new versions.
Web Forms is pretty good for people with desktop background because it uses a control model familiar to desktop devs and also has something that simulates state. It also requires less knowledge of HTML, JS, CSS. ASP.NET MVC is kind of the opposite. It gives you a lot of control but requires a lot of knowledge about the web.
I personally prefer Web Forms to MVC for a variety of reasons that I will not list here but even Web Forms supporters (and especially me) will admit that Web Forms is pretty bad way to learn about the web because it abstracts a lot of things. This gives you productivity, security, etc. but can result in cases of leaky abstraction if you don't know how the underlying framework works and it is pretty easy to skip learning the details because you know stuff just works... until it breaks and then you don't know where to start.
Ultimately the choice is yours but if you start with Web Forms be sure to learn about HTTP verbs, cookies, raw response stream, http headers, html form/submit model inline css vs separate files and javascript out of the context of Web Forms and make sure you know how Web Forms automates these.
1) Whether these two technologies will co-exists or MVC will replace ASP.NET?
The official position of Microsoft today is that those two technologies will coexist. ASP.NET MVC will not replace classic ASP.NET. At least Microsoft will continue shipping new features in ASP.NET.
2) If I want to learn ASP.NET MVC. Do I need to learn ASP.NET as a prerequisite?
Not necessarily but it will be better if you learned it because as ASP.NET MVC is based on ASP.NET kernel and it will help you be a better understand the underlying technology.
3) Can you recommend some learning resources? Book? Video? Not paid Microsoft training :(
http://asp.net/mvc is a good start.
Can't say if one is going to rule the other one out.
But the easiest to learn is asp.net MVC.
Pro ASP.NET MVC 3 Framework
this is a good book to learn it.
http://www.w3schools.com/aspnet/default.asp
http://aspauthors.com/aspnetbyexample/
http://www.exforsys.com/tutorials/asp.net.html
Some links which may useful to you.
Darin gives you good answers on 1 and 3, but i disagree some on 2:
2) If I want to learn ASP.NET MVC. Do I need to learn ASP.NET as a prerequisite?
No. ASP.NET WebForms (often reffered to as just ASP.NET) has a VERY different paradigm.
While ASP.NET WebForms tries it best to hide all the web (like POST vs. GET, the HTML, how to maintain state) stuff from you, ASP.NET MVC is dependant on knowing and understanding the same things. Learning aboutWebForms' ServerControls and ViewState are of little help.
There are of course parts of the ASP.NET stack that you'll encounter in both WebForms and MVC. The different state mechanisms (session, application, cookies etc.), the Server, Reguest and Response objects, caching mechanisms, jQuery etc. are used in both places.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
We are a group of 2 C# programmers, which have experience in wcf web services, asp.net MVC 3, different architectural patterns, Inversion of control etc.
We have to implement a web site, which will run on Linux with minimum of 10k online users.
The problem is that it will run on Linux, and we don't know what language to choose, which is stable, maintained, free, cross platform, and reusable in business/desktop applications.
We think about Java servlets and Python's Django framework, are there other good frameworks?
Which one to choose, we are confused.
Thanks in advance.
EDIT:
What about the performance of JSP vs Django vs Asp.net MVC on Mono vs Ruby On Rails?
We are a group of 2 C# programmers, which have experience in (snip) asp.net MVC
You want to write a web-site, and you have asp.net MVC experience... ASP.NET MVC can run on linux / Mono. So my suggestion... do that.
Some links:
Deploy ASP.NET MVC on Linux: Best Practices, Tools & Surprises
Developing ASP.NET MVC Apps Using Mono
Setting up a Ubuntu, Apache, MySQL, Mono, ASP.NET, MVC 2 Development Server
mono FAQ : ASP.NET
If you don't mind moving out of your comfort zone, I would recommend Ruby on Rails (on top of Django and JSP).
I love Python and Django, and even use it in every projects I have at school/uni before.
But it's just me, who have some experience with Python; everything you know have some real-world sample with large scale, so choose the one you like/know best.
You are going to deploy in Linux, so maybe ASP.NET is a acceptable choice, but not the best. I would recommend Django (because I love it); Ruby on Rails is another good choice, but I don't like it because of some bad experience before with its dependencies. Python and Ruby both has its advantages and dis-advantages.
There's another web development framework choice for Python like Pylons (Quora use it), webpy...
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm a C# ASP.net MVC Developer.
I got a new job and have to move to the java world (which I left few years ago :))
Are there any recommendations for
asp.net mvc equivalent java framework
also,
are there any simmilar technologies like LINQ in java world?
(I've used LINQ with entity framework, I guess I would use Hibernate with it's own query language)
Also, is there a good book / tutorial you know for C# to Java transition?
update: I'm currenly looking at Spring MVC
Check Play framework
Apache Struts is an equivalent to ASP.NET MVC:
http://struts.apache.org/
I used Struts 2 and no problem.
http://struts.apache.org/2.x/index.html
Note: I do NOT recommend Struts 1. They are completely different. Struts 2 is way better.
Disclaimer: I use Ruby on Rails now :)
Edit:
The official docs has plenty of documentation.
http://struts.apache.org/2.2.1.1/docs/home.html
I'd recommend looking at Spring. It's like Enterprise Framework on the .NET side, if I understand the latter correctly.
It's a library of modules built on top of dependency injection and aspect oriented programming.
My experience with JSF 2.0 has been good and i dont feel any need to learn Spring. From books i can recommend "JavaServer faces 2.0: the complete reference" By Ed Burns, Neil Griffin, Chris Schalk
are there any simmilar technologies like LINQ in java world?
Check out Scala language. It's full of functional idioms while cooperates with Java pretty smoothly (actually, it's bytecode is the same as Java's. For example, F# requires it's runtime to execute assembly).
And there is awesome Lift framework supporting MVC pattern among other great features.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am starting my first software engineering job in a week and wanted to sharpen my skills up. I'm looking for someone to suggest a good week long, web application project that can help me sharpen up my C#, Javascipt, and JQuery.
Thanks!
Brandon
Edit: As noted below this is a pretty broad question. Let me give a little more background. I am a strong programmer, but an entry level one. My experience as an intern for a year gave me glimpses into a number of the .Net and C# technologies, but what I have never done was put them all together into an inclusive project. I'm looking for a project idea that will have me setting up both client and server side code (purely for practice) that will provide me better insight into how each piece of the puzzle fits together.
write a blog engine. its useful, easy, and has bounded, easily understood requirements.
You could start with one of the ASP.NET Starter Kits and build upon it.
Being that you have C# experience, I highly recommend trying Asp.Net MVC as I feel it is the future of MS Web programming (I am not alone in this opinion... though it is just an opinion).
If nothing else, the MVC (model-view-controller) organization is a well established and useful method of coding that is used accross all sorts of platforms like php, ruby on rails, etc. - not as much of an 'island' like Asp.Net WebForms (Asp.Net WebForms are still great).
There are all sorts of great tutorials, the most famous being Nerd Dinner
You might also want to check out the materials available under the jquery tag on Channel9. There is a great video from PDC2008 that talks about ASP.NET and jQuery and another jQuery for the ASP.NET Developer presentation from DevDays 2010.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are some good resources for learning ASP.NET MVC 2.0 (if I don't already know ASP.NET MVC 1.0)?
Tekpub (Steven Sanderson and Rob Conery) is doing a video series on MVC 2: http://tekpub.com/preview/aspmvc
Obviously the first resource I'd point you to is the official ASP MVC website here.
Perhaps the biggest and most key aspect you need to understand about ASP.NET MVC is that MVC isn't explicitly specialised for ASP.NET - it's a very wide design pattern - MVC stands for Model-View-Controller, you should really read up on MVC and gain a general understanding before you dive straight into the ASP.NET implementation.
You may want to look into buying a book that can nicely ease you into ASP.NET MVC. The reviews on amazon are something you want to take into account, as they're usually very accurate.
You can find results of a ASP.NET MVC search here.
As far as your concerns around version 1 to version 2 of ASP.NET MVC go, you shouldn't automatically dismiss any ASP.NET MVC v1 resources you come across - the chances are it's still relevant. You may wish to check out the changelist between v1 and v2 to see if anything you learn is now redundant, updated or changed in any way.
There is going to be a lot of help around for MVC 1. If you're looking to learn .NET MVC then most of .NET MVC 1 is relevant. Phil Haack is one of many who has blogged about the blogged about the release of .NET MVC 2. Importantly, he gives a link to the release notes.
Not a great deal has actually changed. Mainly to do with validation in fact. You can use the release notes as a guide. Whenever you're doing something that is 'flagged' in the release notes, then make sure you look for .NET MVC2 help specifically.
Brad Wilson has some nice posts about templates.