Application Extensibility

The ability to modify existing application behavior to achieve greater privacy.

Markus Gritsch

Last updated March 22nd, 2022

Intro

Intro#

What does the phrase "an app is extendable" mean?

What does the phrase "an app is extendable" mean?#

Bestandteile einer Anwendung lassen sich durch anwendungsfremde Fragmente ergänzen oder verändern. Die Laufzeitumgebung gibt dabei jene Bereiche vor, welche von außen beeinflussbar sind und solche, die ausschließlich der Anwendung selbst vorbehalten sind.

Die Laufzeitumgebung stellt eine Programmierschnittstelle bereit, welche von anwendungsfremden Fragmenten benutzt werden kann, um mit den autorisierten Bereichen einer Anwendung zu interagieren.

Eine mit Fähigkeiten zur Erweiterung ausgestattete bekannte Laufzeitumgebung ist zweifelsfrei der Webbrowser. Zu den bekanntesten und meist genutzten Erweiterungen zählen sogenannte Ad-Blocker; diese führen eine Unterdrückung störender Werbeinhalte bei der Betrachtung einer Webseite aus.

Konkret bedeutet dies, dass die Integrität der Anwendung durch Code-Fragmente Dritter nicht beeinflusst wird. Oftmals die Darstellungsebene beschränkt.

Isolierte Welten

Isolierte Welten#

Devices and Runtime

Devices and Runtime#

Lets start with desktop, web where extendability is available

Mobile

Mobile#

Web

Web#

Apps

Apps#

Desktop

Desktop#

Web

Web#

Apps

Apps#

Wrap up

Wrap up#

In this post, we looked at rendering pipeline from parsing to compositing. Hopefully, you are now empowered to read more about performance optimization of a website.

In the next and last post of this series, we'll look at the compositor thread in more details and see what happens when user input like mouse move and click comes in.

Did you enjoy the post? If you have any questions or suggestions for the future post, I'd love to hear from you in the comment section below or @kosamari on Twitter.

Next: Input is coming to the compositor