Web Applications for Novices

  • Context in UP
  • Specializations
  • MVC Pattern
  • Languages
  • HTML, XML, XHTML
  • CSS
  • PHP
  • Frameworks
  • Standards
  • Quality control tools
  • PHP
  • Examples
  • References

Context in UP

Image reproduced from http://www.wittmannclan.de

Specializations & Workflows

In a large project, work is divided among specialists, e.g.

Need for Intermediate Artifacts

Introduced to communicate between participants and stages, e.g.

Producing these adds work (cost) but need grows with project size. One reason development time & cost grows non-linearly.

"Agile" Short-Cuts

You will be doing all functions, so you may skip some artifacts

Model-View-Controller (MVC) Pattern

  • A conventional architectural design pattern for systems with graphical user interfaces.
  • Separates user interface logic from business/application logic
  • Many variations and interpretations
    • Let's look at one
    • See references at end for more

Image reproduced from http://www.wikipedia.org. Solid lines are direct "depend-on" associations, dashed indirect (e.g., observer).

Model

  • Manages information/data
  • Encapsulates all domain-specific information and logic
  • Is called by Controller to get data and notify of events that change state
  • Can be developed and tested independently from View and Controller
  • In some variations, may notify Views when data changes state

Image reproduced from http://www.wikipedia.org.

View

  • Manages display of information
  • Renders model into form suitable for interaction
  • Example: HTML + CSS + Web browser

Image reproduced from http://www.wikipedia.org.

Controller

  • Receives input, initiates response
  • Interprets mouse and keyboard inputs from user
  • Calls model and view to inform of changes in state and view

Image reproduced from http://www.wikipedia.org.

Languages

Standards

Web Standards

  • HTML, XML, CSS - W3C
    • help separate view from other components
  • SQL - ISO
    • helps separate model from other components
  • Languages? - not
    • a major source of maintenance problems
*

Quality Control, Validators

Use them!

Frameworks

Importance of Continuing Education

Web Sources

Use Google. You will find plenty of tutorials and references. The ones maintained by reputable organizations, like W3C, IBM, Sun, etc., are more reliable. For example, a search for "MVC pattern" turned up the following:

Learning by Example

Examples in Class