Consider the client application as a kind of giant state machine. The initial state of the client is equal to the first view returned from the server. Links in the returned view provide possible "state transitions".
You might think that there are two main types of links: passive and active. Passive links, such as <img> and <link rel="stylesheet"> , do not actually cause a state transition, they simply increase the current state. Links such as <form> and <a> , however, are active links and cause a state transition. After executing one of these links, the new client state is equal to the returned view, aka state transfer .
If you are used to creating traditional client-side applications for desktop computers, you will find that this is a fundamentally different architecture. Not the one you are likely to forget at night. Initially, this approach may seem very limited, but if you think that the client application can be the host for many simultaneously running state machines, you will begin to understand that you can do anything, that you could use the remote architecture of the object and still maintain free web browser connection.
Darrel Miller Jan 06 2018-11-11T00: 00Z
source share