Contents

Foreword

1Mastering App Development Requires More than Coding Skills

2Why is JavaScript a Good Choice for Building Web Apps?

3Why is Java a Good Choice for Building Web Apps?

4Comparing Java with JavaScript

5Good Programs Are: Effective, Robust, Efficient and Maintainable

6Run the Apps and Get Their Code

List of Figures

List of Tables

Part IGetting Started

1A Quick Tour of the Foundations of Web Apps

1.1The World Wide Web (WWW)

1.2HTML and XML

1.3Styling Web Documents and User Interfaces with CSS

1.4JavaScript – “the assembly language of the Web”

1.5Accessibility for Web Apps

1.6Quiz Questions

2More on JavaScript

2.1JavaScript Basics

2.2Storing Database Tables with JavaScript’s localStorage API

3Building a Minimal Web App with Plain JS in Seven Steps

3.1Step 1 – Set up the Folder Structure

3.2Step 2 – Write the Model Code

3.3Step 3 – Initialize the Application

3.4Step 4 – Implement the Create Use Case

3.5Step 5 – Implement the Retrieve/List All Use Case

3.6Step 6 – Implement the Update Use Case

3.7Step 7 – Implement the Delete Use Case

3.8Run the App and Get the Code

3.9Possible Variations and Extensions

3.10Points of Attention

3.11Practice Projects

4Building a Minimal Web App with Java EE in Seven Steps

4.1Java Basics

4.2Step 1 – Set up the Folder Structure

4.3Step 2 – Write the Model Code

4.4Step 3 – Configure the App

4.5Step 4 – Implement the Create Use Case

4.6Step 5 – Implement the Retrieve/List All Use Case

4.7Step 6 – Implement the Update Use Case

4.8Step 7 – Implement the Delete Use Case

4.9Style the User Interface with CSS

4.10Run the App and Get the Code

4.11Possible Variations and Extensions

4.12Points of Attention

4.13Practice Projects

4.14Quiz Questions

5Information Modeling

5.1Classes with Properties and Methods

5.2Connecting Classes with Associations

5.3From a Conceptual Model via a Design Model to Class Models

5.4Excursion: Formalizing Information Models with RDF and OWL

5.5Summary

5.6Exercises

6Application Architecture

6.1The Model-View-Controller (MVC) Architecture Metaphor

6.2The Onion Architecture Metaphor

6.3“Logical” versus “Physical” User Interface

6.4MVC Web Applications

6.5Deployment Architectures

Part IIConstraint Validation

7Integrity Constraints and Data Validation

7.1Introduction

7.2Integrity Constraints

7.3Responsive Validation

7.4Constraint Validation in MVC Applications

7.5Adding Constraints to a Design Model

7.6Summary

7.7Criteria for Evaluating the Validation Support of Frameworks

7.8Quiz Questions

8Implementing Constraint Validation in a Plain JS Web App

8.1Introduction

8.2New Issues

8.3Make a JavaScript Class Model

8.4Set up the Folder Structure Adding Some Library Files

8.5Write the Model Code

8.6Write the View Code

8.7Run the App and Get the Code

8.8Possible Variations and Extensions

8.9Points of Attention

8.10Practice Projects

8.11Quiz Questions

9Implementing Constraint Validation in a Java EE Web App

9.1Java Annotations for Persistent Data Management and Constraint Validation

9.2New Issues

9.3Make an Entity Class Model

9.4Write the Model Code

9.5Write the View Code

9.6Defining a Custom Validation Annotation

9.7Run the App and Get the Code

9.8Possible Variations and Extensions

9.9Practice Projects

9.10Quiz Questions

Part IIIEnumerations

10Enumerations and Enumeration Attributes

10.1Enumerations

10.2Enumeration Attributes

10.3Enumerations in Computational Languages

10.4Dealing with Enumeration Attributes in a Design Model

10.5Quiz Questions

11Implementing Enumeration Attributes in a Plain JS Web App

11.1New Issues

11.2Make a JavaScript Class Model

11.3Add the Library File Enumeration.js

11.4The Meta-Class Enumeration

11.5Write the Model Code

11.6Write the View Code

11.7Run the App and Get the Code

11.8Practice Projects

11.9Quiz Questions

12Implementing Enumeration Attributes in a Java EE Web App

12.1New Issues

12.2Make an Entity Class Model

12.3Write the Model Code

12.4Write the View Code

12.5Displaying Value Sets for Multi-Valued Enumeration Attributes

12.6Run the App and Get the Code

12.7Practice Projects

12.8Quiz Questions

Part IVSpecial Datatypes and Derived Properties

13Special Datatypes

13.1Boolean Values

13.2String Patterns

13.3Special Numeric Data Types

13.4Calendar Dates and Times

13.5Quantities

13.6Complex Data Types

14Derived Properties

14.1Virtual Derived Properties

14.2Materialized Derived Properties

14.3Dealing with Derived Properties in the User Interface

Glossary

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset