From e8a4341a1cc4a93025355ca9d0a238f9263533e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20Marussy?= Date: Sat, 1 Jan 2022 13:40:29 +0100 Subject: docs: Add architecture docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kristóf Marussy --- docs/architecture.md | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 docs/architecture.md diff --git a/docs/architecture.md b/docs/architecture.md new file mode 100644 index 0000000..6467b6f --- /dev/null +++ b/docs/architecture.md @@ -0,0 +1,124 @@ +--- +title: Architecture +--- + +# Purpose + +Sophie is designed to + +* display _services_, i.e., web pages, most of which are messaging web applications, +* allow the user to quickly switch between services and save resources by displaying multiple services in the same desktop applications, +* provide integrations for services, e.g., to manage unread message counts and notification in a single place. + +Integrations for services are provided by pluggable _recipes_ to allow adding support for new services easily. +A recipe may come directly from Sophie, a third party (under AGPLv3 licensing), or be created by the user themselves. + +# Electron + +Sophie is built on the [Electron](https://www.electronjs.org/) application framework, which in turn uses the [Chromium](https://www.chromium.org/) browser to execute javascript applications. + +## Displaying foreign web pages + +Electron makes two facilities readily available to display foreign web pages: + +* The easier solution that mimics the HTML `