ContentsImportant RulesPlan for Decoupled Development
Previous: Important Rules | Next: Web Page Designers Should Not Write Programs

Plan for Decoupled Development

At one point in the history of application development, the special skills of the programmer and the user interface developer were well understood.  Both the Macintosh and MSWindows environments recognized the need for these special skills and provided resource editing tools to allow these tasks to be decoupled.  The advent of integrated development environments (IDE) forced these two tasks together for the convenience of the programmer.  Philosophically, though, the programmer needs to have a different mindset when creating a user interface than when implementing the code that makes it work.

Screen painting is a different skill than programming!  If done correctly the screen painting skill may be more difficult than programming.  The results of good web page design are certainly more important to the end user than the details of how it was programmed.

Object-oriented programming has three basic tenets (I'm deliberately avoiding the use of the word "object" to avoid a self-reference):

  1. Encapsulation - the act of hiding the details of implementation (code and data) by providing a simple API
  2. Inheritance - allowing specialized code and data to enhance existing general code and data instead of copying it
  3. Polymorphism - allowing one set of code and data to be used (to behave) like another set of code and data according to a contract

The most important tenet is encapsulation.  The user of an object should know as little as possible about it and how it works.  Although WELD uses the TCL language to integrate web pages with server-side Java code:

I do not recommend that web page designers do any scripting with WELD

Even though a single person may be required to do both the web page design and the Java programming for a small project, the distinction between the two tasks should be kept firmly in mind.  This simple preparation will decouple the interface design from the Java code, which will permit either of those concerns to be enhanced or rewritten without concern about requiring changes in the other.  An example of this might be the need to change the web pages to support a different device or spoken language: if the web page design is decoupled from the Java programming, this can be done without involving the programmer.  Conversely, if a new server-side technique will improve performance: changes to the Java programming can be done without involving a change to the web page design (and without the end user even knowing).


ContentsImportant RulesPlan for Decoupled Development
Previous: Important Rules | Next: Web Page Designers Should Not Write Programs

Modified: Thu Apr 13 11:10:38 EDT 2000