Something I have noticed over the years is that there are fundamentally two uses of the Web: web pages, and web applications. Each are created, developed, and maintained very differently. It is useful to understand which you are creating before starting so you can employ the most appropriate development strategies.
Web pages
Web pages are informational in nature such as toyota.com, blogs such as getrichslowly.org, or even ecommerce sites such as ebay.com. Typically they display mostly static content that is generated by the organization itself and displayed, consumed, or purchased by the end user.
With web pages, the standard HTTP GET/POST model works just fine. Users are accustomed to clicking links to browse pages where each click loads a new page on the website. This is in fact the way that the Web was initially designed and the use for which it was conceived.
Developing web pages is very much a design process, and much more work should go into the usability and feel of the site itself. There isn’t as much back-end programming with scripting languages such as PHP or Rails. The involvement of those languages is usually limited to content delivery and formatting of the content. A project developing a web page for an organization will typically spend more time in design than in programming.
Web applications
Web applications are tools that can be used online such as gmail.com, spreedly.com, and neobudget.com. Typically they display user-generated content and provide a useful service to the user, rather than just providing information. These are becoming more and more popular as users are getting more comfortable sharing information online. I have noticed a definite trend toward moving applications from the desktop to the Web for the convenience afforded by such online applications.
Google is banking on this trend. They have invested significant resources creating a web browser specifically designed to speed up web applications, and they’re also working on an operating system with the sole purpose of getting users online as fast as possible.
Developing web applications is much more like developing a desktop application. Much of the time is spent with back-end business logic. In fact, this business logic is what provides the functionality that drives users to use the application.
Another significant portion of development time is spent on the user interface. A web application’s user interface is very different from a web page. Remember, web pages mostly display content and link to other content. Web applications on the other hand are much more richly interactive. Many are driven by complex event-based interfaces just as a desktop application would be, and this is where AJAX can be used effectively to enhance these rich interfaces.
Conclusion
There is nothing terribly profound here in this article. However, understanding this simple separation can help clarify development priorities. Before sitting down and creating a website, I recommend spending a few minutes analyzing the purpose of the site. Which category does it fall under? Knowing this will help you understand the way people will use your site, and where you should spend your time in development.