Skia Graphics Engine

Last updated
Skia Graphics Engine
Original author(s) Skia Inc.
Developer(s) Google
Repository
Written in C++
Operating system Android, iOS, Linux, macOS, Windows
Type Graphics library
License New BSD License
Website skia.org
skia.googlesource.com/skia

The Skia Graphics Engine or Skia is an open-source 2D graphics library written in C++. Skia abstracts away platform-specific graphics APIs (which differ from one to another). [1] Skia Inc. originally developed the library; Google acquired it in 2005, [2] and then released the software as open source licensed under the New BSD free software license in 2008.

Contents

Overview

In order to stay multi-platform, Skia supports several (platform-dependent) back-ends. These include:

Skia is most similar in purpose to Cairo or Pathfinder (meaning that it focuses on drawing) rather than to other more elaborate APIs like that one of Qt that provide their own widgets and UI description language etc. [4]

Application

The library is used as of 2023 in Google Chrome, ChromeOS, ChromiumOS, Mozilla Firefox, Mozilla Thunderbird, Android, Firefox OS, Flutter, [5] Avalonia (from Alpha 4), LibreOffice (from version 7.0) and RAD Studio [6] (since version 12.0).

Supported platforms

Etymology

Skia is a romanisation of the word 'shadow' in Greek (Σκιά).

History

Skia Inc, developers of the Skia Graphics Engine, was founded in 2004 by Mike Reed and Cary Clark in Chapel Hill North Carolina, before being acquired by Google in 2005. [8]

See also

Related Research Articles

Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

A computing platform, digital platform, or software platform is an environment in which software is executed. It may be the hardware or the operating system (OS), a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed using the services provided by the platform. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon Kindle e-book reader, Nintendo consoles starting with the 3DS Internet Browser, and the discontinued BlackBerry Browser.

This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.

Cairo (graphics) Vector graphics-based software library

Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different backends. Cairo uses hardware acceleration when available.

Mozilla Firefox has features which distinguish it from other web browsers, such as Google Chrome, Safari, and Microsoft Edge.

Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers.

HarfBuzz is a software development library for text shaping, which is the process of converting Unicode text to glyph indices and positions. The newer version, New HarfBuzz (2012–), targets various font technologies while the first version, Old HarfBuzz (2006–2012), targeted only OpenType fonts.

<span class="mw-page-title-main">Google Chrome</span> Web browser developed by Google

Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, and also for Android, where it is the default browser. The browser is also the main component of ChromeOS, where it serves as the platform for web applications.

Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independent of the user operating system, allowing web apps to run at near-native speeds, which aligns with Google's plans for ChromeOS. It may also be used for securing browser plugins, and parts of other applications or full applications such as ZeroVM.

Direct2D is a 2D vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008.

<span class="mw-page-title-main">Chromium (web browser)</span> Open-source web browser project

Chromium is a free and open-source web browser project, primarily developed and maintained by Google. It is a widely-used codebase, providing the vast majority of code for Google Chrome and many other browsers, including Microsoft Edge, Samsung Internet, and Opera. The code is also used by several app frameworks.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

<span class="mw-page-title-main">Firefox OS</span> Mobile operating system by Mozilla

Firefox OS is a discontinued open-source operating system – made for smartphones, tablet computers, smart TVs, and dongles designed by Mozilla and external contributors. It is based on the rendering engine of the Firefox web browser, Gecko, and on the Linux kernel. It was first commercially released in 2014.

HTML5 Audio is a subject of the HTML5 specification, incorporating audio input, playback, and synthesis, as well as in the browser.

ANGLE is an open source, cross-platform graphics engine abstraction layer developed by Google. ANGLE translates OpenGL ES 2/3 calls to DirectX 9, 11, OpenGL or Vulkan API calls. It's a portable version of OpenGL but with limitations of OpenGL ES standard.

<span class="mw-page-title-main">Progressive web app</span> Specific form of single page web application

A progressive web application (PWA), or progressive web app, is a type of application software delivered through the web, built using common web technologies including HTML, CSS, JavaScript, and WebAssembly. It is intended to work on any platform with a standards-compliant browser, including desktop and mobile devices.

WebGPU is a JavaScript API provided by a web browser that enables webpage scripts to efficiently utilize a device's graphics processing unit (GPU). This is achieved with the underlying Vulkan, Metal, or Direct3D 12 system APIs. On relevant devices, WebGPU is intended to supersede the older WebGL standard.

ArkGraphics 2D is an proprietary 2D graphics library written in C++ for HarmonyOS and OpenHarmony-Oniro based operating systems. ArkGraphics 2D API abstracts away platform-specific graphics API which differ from ArkGraphics 3D API. It is compared to other 2D computer graphics API such as Skia Graphics Engine.

References

  1. "Skia Graphics Library". skia.org. Retrieved 2020-11-01.
  2. Malik, Om (2 Sep 2008). "Google Open Sources Skia Graphics Engine". gigaom. Retrieved 31 August 2011.
  3. "Specialized Builds". Skia. Retrieved 2022-01-18.
  4. "The Skia 2D Graphics Library From Google - Phoronix". www.phoronix.com. Retrieved 19 April 2018.
  5. "Skia Documentation". skia.org. Retrieved 20 April 2023.
  6. "RAD Studio". embarcadero.com.
  7. "CanvasKit - Skia + WebAssembly". skia.org. Retrieved 2021-09-03.
  8. "Inside Google's Chapel Hill outpost: A growing success story | WRAL TechWire". 2017-05-24. Retrieved 2021-10-27.

YouTube