The Challenges of Web Development

Why is designing web interfaces so hard and why are the consequences of getting it wrong so dire? Some of the many reasons include the following:

  • Web interfaces change frequently
    For example, re-branding may change the look and feel, but not necessarily the workflow, of a web application. A successful application can accommodate such change without the need to change business objects or even web-tier control code.

  • Web interfaces involve complex markup
    Typical web sites contain nested tables and lengthy JavaScripts; pages may even be designed using GUI tools that produce hard-to-read markup. Usually only a small proportion of the content is dynamic. It's vital that the generation of complex markup doesn't obscure the generation of dynamic content. Getting this markup right is the business of specialists; Java developers are seldom good at it and their skills are better employed elsewhere. Thus separation of the roles of markup developer and Java developer is crucial.

  • Web interfaces use a very different model compared to traditional UIs in languages such as Java
    The web programming model is punctuated by requests and responses; it's impossible to update GUI components dynamically when an underlying model changes, as in a traditional MVC approach such as Java Swing.

  • HTTP requests can carry only string parameters
    Thus we frequently need to convert string values to and from Java objects. This can be difficult and error-prone.

  • Web interfaces make it difficult to validate user input, as we have limited control over the client browser
    We must be prepared to reject invalid user input and make users resubmit it. In contrast, we can use custom controls to prevent users entering invalid data in Swing or VB interfaces, as we have complete control over UI presentation.

  • HTML offers a limited choice of UI controls
    Again, this is in sharp contrast to traditional GUI applications, which offer a rich range of controls and the ability to implement custom controls.

  • Ensuring that a web site looks right and works correctly in all common browsers can be difficult
    This can significantly complicate markup and add to the challenge of separating presentation issues from Java programming issues.

  • There are many efficiency considerations
    Often we cannot restrict or predict the number of users using a web application. Both performance and concurrency are likely to be particularly important in web applications.

  • Web interfaces are relatively hard to test
    This is one of many reasons that we should ensure that as little application functionality as possible is web-specific.



Expert One-on-One J2EE Design and Development
Microsoft Office PowerPoint 2007 On Demand
ISBN: B0085SG5O4
EAN: 2147483647
Year: 2005
Pages: 183

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net