View Engine are responsible for rendering the HTML from your
views to the browser. The view engine template will have different syntax for
implementation. Currently there are few number of view engines available
for MVC and
the top four view engines are Razor, traditional ASPX, Spark and NHaml. I have
written another article on comparison of different view engines.
Razor is the preferred View
Engine for MVC, ASPX View Engine is the legacy View Engine
and this option is there for backward compatibility.
I will be explaining more
about Razor on another article.
Once you click 'OK' after
selecting the appropriate project template Visual Studio will create a MVC Web
Application project with default files and folders as per the Template
Selection.
If look at the visual studio
status bar you can see that the project creation progress and the files adding
to the project. ASP.NET MVC 4
project template is using Nuget Package Manager to install and manage the
assembly references in your application. the below files in status bar adding by
Nuget.
Package.Config File contains
the list of the Nuget Package used in this project.
Now Visual Studio created our
project in place and the solution file looks like ,
I have explained the Project
Items/ Application folder structure in another article, before continuing with
our newly created project I just wanted to explain the Project Templates.
Project Templates
Currently MVC 4
Application in Visual Studio 2010 and Visual Studio 2012 offers 6 different
types of project templates. (Previously it was 7 but the final version of MVC 4
doesn't shipped with ASP.NET Single
Page Application due to some compatibility)
I will be explaining the
Basic, Empty, Internet Application, Intranet Application, Mobile Application and
Web API project templates here.
Empty
The Empty template created the
minimum references and resources required to run an Asp.net MVC application.As you can see in below image,
Models, Controllers, App_Data are completely empty folders and View folder only
contains web.config and a Global.asax file and web.config.App_Start folder
contains 3 configuration files ( FilterConfig.cs, RouteConfige.cs and
WebApiConfig.cs ).
This option will be good if
you plan to create everything from scratch.
After comparing the Empty
project image and Basic project image we can say that The Basic template is
somewhat similar to Empty template. In addition to the Empty project , Content ,
Script folder are present in this template and Shared folder is present inside
Views and also in App_Start folder apart from the three files in empty template,
basic template added one more file named BundleConfig.cs (Bundling and
minimization).
Same like Empty Template,this
option also good if you plan to create everything from scratch.
Internet Application
The Internet Application
extends Basic Template with two controllers( Account controller and Home
controller) with all the logic and functionality implemented in actions and
views. In this template membership management functionality gives the option to
user to register and login, change password etc in the website.
It's a template used usually
to start a normal web project in action.
Intranet Application
The Intranet Application
template is same like the Internet Application template, except that it is
preconfigured to use Windows-based authentication.
This template will be a good
option if you plan to create an intranet web site.
Mobile Application
The Mobile Application
template is another variation of the Internet Application template. This
template, however, is optimized for mobile devices and includes the jQuery
Mobile JavaScript framework and views that apply the HTML that works best with
jQuery Mobile.
If you plan to target touch
based mobile devices then this template is the right option.
The Web API template is yet
another variation of the Internet Application template that includes a
preconfigured Web API controller.ASP.NET Web API is a framework that makes it
easy to build HTTP services that reach a broad range of clients, including
browsers and mobile devices. ASP.NET Web API is an ideal platform for building
RESTful applications on the .NET Framework.
Web API is a great choice for
quickly and easily creating data services that your AJAX-enabled applications
can easily consume.
If we want to create a Test project while creating the MVC project itself then we need to mark the
Create Unit Test Project Check box. If you don't want to do this at the first
time you can add a unit test project later also.
If we are creating MVC Application with Test project then the
solution explorer will look like below .
No comments:
Post a Comment