How do you differentiate a web application from websites? It's language/platform agnostic.
When I think of a Web site, I think of a series of pages accessed using the traditional request/response model of the Web over HTTP(S) to transition from page to page. Some Web sites use AJAX to make them a little more dynamic, such as by preventing the page from needing to be reloaded to show new content.
When I think of a Web application, I think of a Web site that uses certain tricks to circumvent the limitations of the Web's traditional request/response model and become something that is much closer to the type of programs one would expect to see on the desktop.
When I think of a Web site, I think of marketing. I picture something that may have a web form, or a blog, or content that I would just read. I don't think of a Web site as something interactive, something that would take input from me other than just clicking on links to other pages.
When I think of a Web application, I think of something that requires just as much from me as I expect from it. I picture Comet-based tools for increasing sales, like live chat software, or CRM systems for managing customer data, or some kind of interactive software on the Internet.
In summary, a Web application can be thought of as a cloud-based version of something you might see on the desktop.
UPDATE: Web applications also typically involve tracking users of the system in great detail. They'll most likely require a username and password, but not always.
A great example of a Web application is this site, Programmers SE. What's most interesting is that these types of applications go beyond what you would expect to see in a traditional desktop application in that users from all over the world are able to interact with it, access the content, and update it in semi-real time.
At the most basic:
- Web Site: Read only
- Web Application: Read-Write
This means that parts of a corporate web site could be both — to the content manager, the CMS (mysite.com/admin) where the web site is configured is a web application but what the visitors see is a web site (mysite.com).
Once a web site starts taking in information from you which changes what you are seeing*, it becomes an application. Using apple.com as an example:
- apple.com/mac, /ipod, /iphone, /ipad — Web Sites
- store.apple.com — Web application (product configuration, shopping cart, ordering, account login)
- apple.com/support — A bit of both. Web site (product manuals and help) and Web application (Check coverage, repair status, discussions, Genius Bar reservations). Notice that the web applications are almost always very divided from the sites by significantly different URLs (links to the applications I listed are usually sub domains: selfsolve, register, discussion, concierge).
* Usually search is excluded from this definition
Here's the answer I wrote for the Web Apps Stack Exchange on the question Define "web application":
Here's the definition for Application software from Wikipedia
Application software, also known as an application, is computer software designed to help the user to perform singular or multiple related specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players.
Application software is contrasted with system software and middleware, which manage and integrate a computer's capabilities, but typically do not directly apply them in the performance of tasks that benefit the user. A simple, if imperfect analogy in the world of hardware would be the relationship of an electric light bulb (an application) to an electric power generation plant (a system). The power plant merely generates electricity, not itself of any real use until harnessed to an application like the electric light that performs a service that benefits the user.
So I'd say a Web application is any website that allows a user to accomplish specific tasks. A website that is not a Web application is a website meant to give the user information (blogs, news, tutorials, etc.).
IMO a WebSite is a collection of pages, not necessarily with related functions on each one but all part of one site. A Web Application is a web site that enables someone or something to perform business functions; it's a web-based line of business application.
Yes, this means that things such as Twitter and Digg and Facebook are "web sites" not applications. Something like TurboTax or a businesses' CRM system are web applications.
In general, a website is a collection of web pages under the same location while a Web application is a type of application that is hosted over a network. A Web application is often accessed in a certain website. Although some of the more complicated sites can be as resource intensive, most are not. This is because most sites simply show information that is static and are not updated very often. A Web application often needs a lot more processing power than most websites. A Web application is more difficult to create than a website.
If you talk about Visual studio, a Web site is just a group of all files in a folder and sub folders. There is no project file. All files under the specific folder -- including your word documents, text files, images, etc -- are part of the Web site.
The Visual Studio 2005 Web Application Project model uses the same project, build and compilation method as the Visual Studio .NET 2003 Web project model.
All code files within the project are compiled into a single assembly that is built and copied in the bin directory.
All files contained within the project are defined within a project file (as well as the assembly references and other project meta-data settings). Files under the web's file-system root that are not defined in the project file are not considered part of the web project.
A Web site is good for you if you just want to create Web sites and share with others. It is ideal for new projects.
However, "web application project" is better if you are planning to migrate your Visual Studio 2003 or 2002 Web sites into Visual Studio 2005. Otherwise you may end up spending lot of time to exclude unwanted files from your Web site folder.