Web Applications - Applications that are, all or in part, downloaded from the Web each time they are run.
Browser-Based Web Applications -
In a Browser-Based Web Application a Browser on the Client retrieves HTML, JavaScript, CSS
and perhaps other data, such as database records, from a Web Site to provide a static Page or dynamic
application.
Client-Based Web Applications -
A Client-Based Application is a Web-Targeted, purpose specific application, installed on a user's computer or mobile device.
A Process can be thought of as a running
instance of a program. Simplifying, when you open, say, a browser the
operating system creates a Process, displaying the browser's
Home Page. A good working point of view is that Processes do
not share resources. When a file is open in one Process it is
locked and cannot be modified by other
Processes running on the operating system. One codicil is that
operating system resources for communication between processes are in general
available.
A Thread is a path of execution within a
process. They are subject to process-like operating system time sharing constraints. A Process can contain multiple
Threads. The critical difference between a Thread and a
Process is that Threads of a given Process
share resources. They can read from and write to the same data structures and
variables, facilitating communication between them. Threaded Process Design Issues
To create a positive user experience, to
the extent possible, the Clients should be oblivious to, necessary, Thread
queuing.
The order of execution of Threads within
a given Process must be synchronized. As a simple example,
if a value is to be computed by one Thread and read by
another, the designer must be certain that the computation is completed
before the value is read. A more dramatic version is where two Threads go into wait states, each depending
on the other to complete a computation.