` CS 5610/4550

Web Development Home


This page updated on

Overview: Web Development

The history of web development started with the deployment of static HTML web pages and evolved to include the following:

  • HTML5
    HTML5 is a strong, clean, modern version of HTML. The emphasis of HTML5 is on content structure and on standardized facilities such as the canvas object for graphics and tools for local data.
  • CSS3
    Cascading style sheets or CSS have become a key to separating the styles, spacing, and location of elements of web content from the structural specification of that content in HTML files.
  • Server-Side Tools for Dynamic Web Pages
    Microsoft ASP.NET is an example of a family of server-side tools to dynamically generate rich web pages that can change structure and enable data interactions based both on conditions at the time the page is served and on the interactions from the end user.
    With server-side tools, page data content need not be provided statically but rather may be retrieved and manipulated using back-end data sources such as text, XML, databases and web services.
    The main limitation of server-side techniques is that the web page often must do a full refresh each time a change is required. Using a combination of server-side and client-side techniques, the limitation of full refresh may be overcome.
    As this course has evolved, we have used ASP.NET more as an algorithmic engine to generate HTML code via server-side C# and have used the ASP.NET widgets less and less.
  • Client-Side Tools for Dynamic Web Pages
    Javascript is a scripting language that is built into modern browsers, albeit with some differences of implementation that require workarounds or Javascript toolkits. The most important Javascript toolkit is jQuery because this toolkit totally hides the annoying differences in Javascript implementations across browsers.
    Javascript is capable of modifying the visual structure of a document by modifying the CSS styles of a document element or by adding/removing document elements. These changes may be initiated by a user and can take place without intervention of the server.
    Javascript may also process events generated directly by the user or indirectly by earlier events, initiate communication with the server, send and receive data, and use the received data to modify the web page without the need for a full page refresh. This technique is known as AJAX.
  • Server-Side Tools for Creating the Client-Side Tools
    A recent technique in web development is to use server-side tools to generate some of the client-side Javascipt so that Javascript itself becomes dynamic rather than being coded by hand manually.
    With the invention of UpdatePanel, ASP.NET became able to handle partial page refresh. This technique uses auto-generated Javascript. It is not as efficient as hand-crafted Javascript but it is fairly good.
    In our examples, we have been moving away from tools such as UpdatePanel and moving towards hand-crafted Javascript based on jQuery.
  • Web Services
    A big question in web development is how to enable programs to communicate over the web. Should the information transmitted be lightweight and be packed in human-readable text format or should the information be packaged as XML for processing by standard tools? How should security requirements be met expecially when encryption is needed? These are the questions in the field of web services.
    The concept of REST (REpresentational State Transfer) views a web page as a potential parameterized web service where the parameters are expressed in the query string. This is a beautiful and promising approach for clean design in a large number of applications.
  • Plug-Ins That Add Functionality to a Browser
    Javascript in a browser is sufficient for many tasks but is ultimately limited because it is an interpreted and dynamic language that must traverse its structures each time it is used. To get around this, plug-ins such as Flash and Silverlight compile scripts for performance gains. These plug-ins require the presence of small runtime environments on the client machine.
    There is a strong movement away from both Flash and Silverlight as the implementation of HTML5 widely across browsers lessens the need for special purpose plug-ins.

The purpose of the Web Development course is to explore these themes through discussion in class and, most importantly, through experiments and projects. See the page on

Requirements and Expectations

for more details on the philosophy of the course.

Back to the top