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 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 the infrastructure on which software is executed. While the individual components of a computing platform may be obfuscated under layers of abstraction, the summation of the required components comprise the computing platform.

WebKit is a browser engine primarily used in Apple's 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, GNOME Web, 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.

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.

<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, iPadOS, 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 (2014–2017)

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.

HTML audio is a subject of the HTML specification, incorporating audio |speech to text]], all 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 is 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 web app that can be installed on a device as a standalone application. PWAs are installed using the offline cache of the device's web browser.

<span class="mw-page-title-main">WebGPU</span> Web standard and API

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.

Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017. Flutter is used internally by Google in apps such as Google Pay and Google Earth as well as other software developers including ByteDance and Alibaba.

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