[WPE] Add page for webkit.org
[WebKit-https.git] / Websites / webkit.org / wpe.md
1 # WPE
2
3 WPE is the reference WebKit port for embedded and
4 low-consumption computer devices.
5 It has been designed from the ground-up with performance, small footprint,
6 accelerated content rendering, and simplicity of deployment in mind,
7 bringing the excellence of the WebKit engine to countless platforms and
8 target devices.
9
10 In times where embedded devices power endless ad-hoc applications
11 in a diverse range of industries and the Web continues to establish itself as
12 one of the most popular application development frameworks for developers,
13 WPE closes this gap and serves as a foundation over which embedders
14 can build rich applications that run entirely on the Web.
15
16 ## Design goals
17
18 The design goals that set WPE apart from other ports of WebKit and
19 other engines are:
20
21 * **To provide a no-frills, straight to the point, web runtime
22   for embedded devices.**
23
24   Thanks to the primary focus on the embedded world,
25   WPE is being developed each step of the way with the needs
26   and constraints of embedded devices in consideration,
27   allowing for the best experience in all kind of web-based applications.
28
29 * **To be fast and lightweight, keeping software dependencies to a minimum.**
30
31   The minimal set of dependencies needed to run WPE ensures that
32   its footprint is small and that applications built with WPE
33   can run in low-end devices.
34
35 * **To keep up with Web standards and to continuously work in
36   ensuring compliance.**
37
38   By its complete upstream integration, WPE can leverage the work
39   on Web standards that goes into the WebKit project.
40   Additionally, the WPE team is committed to ensure that new specifications
41   are implemented in WPE with our goals in mind.
42
43 * **To use hardware acceleration wherever its advantageous:
44   WebGL, accelerated canvas, CSS 3D transforms, video playback.**
45
46   For best performance, responsiveness, and user-experience,
47   WPE enables deployments to make the best out of
48   hardware acceleration capabilities present in the target embedded devices.
49
50 * **To make deployment in new platforms and target devices as easy as possible,
51   through a backend architecture.**
52
53   WPE has been designed with a backend architecture,
54   which allows easily developing backends for the widest range
55   of platform of devices, including, for example,
56   Wayland and Raspberry Pi devices.
57
58 ## A multimedia-oriented web engine
59
60 Because of the extensive growth of multimedia in the embedded sector,
61 WPE has a strong focus on multimedia applications.
62 Some of the key multimedia features in WPE are:
63
64 * Hardware-accelerated video rendering and CSS transformations.
65 * Punch-hole video playback available when needed by the target platform.
66 * MSE (MP4, WebM, VP9, Opus) supported and under constant development,
67   optimized for YouTube and YouTube TV.
68 * EME (V1 and V3, Clearkey, other third-party DRM frameworks) supported
69   and constantly improving.
70 * GStreamer-based multimedia framework.
71 * WebRTC partially supported and under heavy development.
72
73 ## How to get WPE?
74
75 WPE is an upstream WebKit port, which means that you can just
76 [get it the usual way](https://webkit.org/getting-the-code/).
77 You can build the code following the instructions
78 in the [WPE Wiki page](https://trac.webkit.org/wiki/WPE).
79
80 The WPE team is making periodic releases and
81 these are available at <https://wpewebkit.org/>.
82
83 ## How to contribute?
84
85 The WPE port has a mailing list where development and
86 general questions can be addressed.
87 You can subscribe at
88 [https://lists.webkit.org/mailman/listinfo/webkit-wpe](https://lists.webkit.org/mailman/listinfo/webkit-wpe).
89
90 You can report issues, bugs, and file feature requests in WebKit Bugzilla,
91 under the WebKit WPE component:
92 [http://bugs.webkit.org](http://bugs.webkit.org/).
93 You can follow the instructions in
94 [https://webkit.org/reporting-bugs/](https://webkit.org/reporting-bugs/).
95
96 If you want to submit code, you can follow the instructions at
97 [https://webkit.org/getting-started/](https://webkit.org/getting-started/).