In my previous tutorials, I’d explained the difference between string and String, main difference between string and stringbuilder, difference between executereader executenonquery and executescalar, OOP concepts with examples, difference between dataset datareader dataadapter and dataview and other similar tutorials on difference here.
Now here in this tutorial, I’ll explain the main differences between the website and web application in asp.net.
Difference: Website vs Web Application
So, now a question is what’s the difference between a website and a web application?
Not a lot more or everything. It’s mostly a matter of perspective and semantics and is largely opinion based.
In my perspective, generally a website is defined by its static content and web application is defined by its user interaction that requires programmatic user input or data processing.
The basic distinction would be if a website is connected with a database and stores user data or modifies what the user sees based on some user specified criteria, then it’s probably a web application. Whereas on other hand, the static files such as .html that link pages to one another, I would say it’s a website.
When you create a new project in Visual Studio, You’ll see there are two options offering you to create a new project, one option is Website and another option is Web Application (New Project). So, you can select your option as per your requirements.
In my opinion, following are few points that practically differentiate both of them:
|A Website is Informational||A Web Application is Interactive|
|All the files in folder structure are automatically included in the website. There is no .csproj/.vbproj project files in Website||A Visual Studio .csproj/.vbproj project file stores information about the Web Application, such as list of included project files or any internal or external project to project references|
|When you deploy or publish Website, you need to upload both .aspx and .cs/.vb files to the server||When you deploy or publish Web Application, you only need to upload .aspx files and there is no need to upload .cs/.vb files because code-behind files are pre-compiled in .dll file|
|By default explicit namespaces are not added to pages, controls or classes, but you can add them manually||By default explicit namespaces are added to pages, controls and classes|
|There is no need to re-compile or built the website before publish or deployment||You need to re-compile or built the web application before publish or deployment because it contains .dll files with reference of other project file details|
Website vs Web Application – Which is best and appropriate?
As I explained above, when you want to create an Informational project, then go for Website and when you want to create an Interactive project that requires programmatic user input or data processing, and then go for Web Application.
Can we convert one project type to other?
No, you must select the appropriate project type before you create a project, because it’s not practical to convert from one project type to the other.