Crosswalk article for Wikipedia - PeterWangIntel/crosswalk-website GitHub Wiki

Work in progress


(Side panel)

Developers: Crosswalk Team Initial release: November 11 2013 Development status: Active Written in: C++, C, JavaScript Platform: Android (x86/ARM), Tizen (x86/ARM) Type: Web runtime License: BSD Website: https://crosswalk-project.org/


(Overview)

Crosswalk is a free, open source, extensible web application runtime, built on top of Blink[ref4] and Chromium[ref5].

Crosswalk is designed to provide a stable, consistent environment for web applications written using common web technologies (e.g. HTML, JavaScript, CSS). As well as supporting most stable web APIs[ref7], Crosswalk also implements experimental specifications (e.g. the Presentation API[ref11]) and specifications which are relevant to installed web applications (e.g. the manifest for web applications[ref8]).

Crosswalk is licensed under the BSD licence.[ref3]


History

The project was founded by Intel's Open Source Technology Center in 2013; Intel is still the main sponsor. The project was announced on the public crosswalk-dev mailing list[ref12] on 2013-09-10.[ref2] The first stable version of Crosswalk (for Android on x86) was released on 2013-11-11.[ref1]

In late 2013, Crosswalk was integrated with the Intel XDK, where it became one of the options for building Android packages for XDK applications.[ref16]

Early in 2014, support for Tizen mobile and Android on ARM was added.

Throughout 2014, the project continued to expand, adding Cordova integration[ref15] and an API for embedding Crosswalk in Android Java applications.[ref10] While Tizen mobile support was discontinued, support for Tizen IVI remained.

Notable users include Google, who adopted Crosswalk as the webview for Chrome Apps on Android in June 2014[ref14]; and the Construct 2 game creator, which exports HTML games to Android packages via Crosswalk[ref17].


Features

Support for recommended and emerging web standards

Crosswalk tracks development of Chromium quite closely: for example, version 8 of Crosswalk (released August 2014) was based on version 37 of Chromium (released May 2014). Consequently, it has excellent support for many recent web standards, such as the CSS flexbox, Web Audio API, and WebGL.

Crosswalk also supports some experimental APIs which are not available in mainstream web browsers, such as SIMD.[ref13]

Android support

Crosswalk works with Android version 4.0 or later, on both x86 and ARM architectures. It can be used to package web applications for deployment to Android, either by bundling it with the application (as a native library plus some Java wrappers); or by distributing a shared Crosswalk library to be used by multiple applications.

Crosswalk can also be used with Cordova for Android, as a replacement for the default Cordova Android webview.[ref15]

Tizen support

Crosswalk is included as part of the version 3.0 Tizen image, on both x86 and ARM architectures.[ref6]

Customisation

Crosswalk can be customised by writing extensions, either in Java (for Android) or C/C++ (for Tizen). Extensions can access device capabilities which may not be accessible to web applications (e.g. interfaces to unusual hardware, access to the whole filesystem).

In addition, Android applications written in Java can embed Crosswalk via the embedding API.[ref10]


Links

ref1: earliest Crosswalk Android release: https://download.01.org/crosswalk/releases/crosswalk/android/beta/1.29.4.1/

ref2: earliest mailing list email: https://lists.crosswalk-project.org/pipermail/crosswalk-dev/2013-September/000000.html

ref3: Crosswalk license: https://github.com/crosswalk-project/crosswalk/blob/master/LICENSE

ref4: Blink: http://www.chromium.org/blink

ref5: Chromium: http://www.chromium.org/

ref6: "Tizen 3.0 Overview & Roadmap" by Sunil Saxena (Intel), presented at the Tizen Developer Conference 2014: http://download.tizen.org/misc/media/conference2014/slides/tdc2014-tizen3.0-update.pdf

ref7: W3C WEB APPLICATIONS (WEBAPPS) WORKING GROUP: http://www.w3.org/2008/webapps/

ref8: system information API spec: http://www.w3.org/TR/battery-status/

ref9: manifest for web applications spec: http://w3c.github.io/manifest/

ref10: Crosswalk embedding API: https://crosswalk-project.org/#documentation/apis/embedding_api

ref11: Presentation API: http://webscreens.github.io/presentation-api/

ref12: crosswalk-dev mailing list: https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

ref13: "SIMD in JavaScript" white paper by Ivan Jibaja (Intel): https://01.org/node/1495

ref14: "Chrome Apps on Android and iOS" by Max Woghiren (Google): https://www.youtube.com/watch?v=nU4lvgTrjFI

ref15: Crosswalk Cordova integration: https://crosswalk-project.org/#documentation/cordova

ref16: "What is Crosswalk and How you can use it with Intel XDK" by Greeshma Yellareddy (Intel): https://software.intel.com/en-us/html5/blogs/what-is-crosswalk

ref17: "Introducing Crosswalk: the new way to publish to Android" by Ashley Gullen (Scirra): https://www.scirra.com/blog/133/introducing-crosswalk-the-new-way-to-publish-to-android