Gaia/Architecture Proposal: Difference between revisions

Jump to navigation Jump to search
Line 296: Line 296:
== Interactions ==
== Interactions ==


Putting all the pieces together, the application architecture may look like:
=== Front-End / Back-End ===
This schema represents how the front-end and the back-end collaborates together.


[[File:Gaia Architecture Proposal App Architecture Foreground No WebAPIs.png]]


If one of the back-end worker needs to access a main-thread-only APIs, a server window will be introduced in the content wrapper, and the worker will just be a client for it.
[[File:Gaia Architecture Proposal App Architecture Foreground No WebAPIs.png|600px]]


[[File:Gaia Architecture Proposal App Architecture Foreground With WebAPIs.png]]
=== Front-End / Back-End with main-thread-only WebAPIs ===
It happens that a Worker needs to access a main-thread-only API. In such cases a server capsule will be introduced in the front-end content wrapper, and the worker will use it as a server to access the main-thread-only API.


If the application is opened in the background, and the user opens a bookmark to a specific panel, or launch a WebActivity resolving to a specific url of the app, since most of the logic of the app is already loaded, the bridge can create a communication channel between windows in a transparent fashion.


[[File:Gaia Architecture Proposal App Architecture Multi Windows.png]]
[[File:Gaia Architecture Proposal App Architecture Foreground With WebAPIs.png|600px]]
 
=== Front-End / Back-end. Multiple Windows ===
While on low-end devices most of the application will be shutdown when the application is in background, on high-end devices memory is not the big bottlenext anymore and so we can favor the user experience.
 
In such cases, if the application is already opened in the background, and the user opens a bookmark to a specific panel, starts a WebActivity resolving to the app, etc.., there is no need to restart the whole application logic, the bridge will just connect the 2 windows in a transparent fashion.
 
 
[[File:Gaia Architecture Proposal App Architecture Multi Windows.png|600px]]


= Memory Management =
= Memory Management =
Confirmed users
230

edits

Navigation menu