All Projects → google → Elemental2

google / Elemental2

Licence: other
Type checked access to browser APIs for Java code.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Elemental2

Jeelizweboji
JavaScript/WebGL real-time face tracking and expression detection library. Build your own emoticons animated in real time in the browser! SVG and THREE.js integration demos are provided.
Stars: ✭ 835 (+626.09%)
Mutual labels:  webgl, svg
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+1308.7%)
Mutual labels:  webgl, dom
React Planner
✏️ A React Component for plans design. Draw a 2D floorplan and navigate it in 3D mode.
Stars: ✭ 846 (+635.65%)
Mutual labels:  webgl, svg
Html To Image
✂️ Generates an image from a DOM node using HTML5 canvas and SVG.
Stars: ✭ 595 (+417.39%)
Mutual labels:  svg, dom
Yux Storage
yux-storage 是一个基于 HTML5 IndexedDB 封装的 Web 本地数据离线存储库
Stars: ✭ 64 (-44.35%)
Mutual labels:  promise, indexeddb
Svg
Fork of the ms svg library (http://svg.codeplex.com/)
Stars: ✭ 676 (+487.83%)
Mutual labels:  svg, dom
Onthefly
🔗 Generate TinySVG, HTML and CSS on the fly
Stars: ✭ 37 (-67.83%)
Mutual labels:  svg, dom
Taro
A lightweight 3D game engine for the web.
Stars: ✭ 345 (+200%)
Mutual labels:  webgl, svg
Elementx
⚡️ Functionally create DOM elements and compose them to a tree quickly
Stars: ✭ 62 (-46.09%)
Mutual labels:  svg, dom
Deep Viz
A React component library, providing concise and beautiful diversity charts with Canvas, SVG, E-map, WebGL, Dom, based on data visualization experience and commercial data display practice.
Stars: ✭ 55 (-52.17%)
Mutual labels:  webgl, svg
People You Should Follow On Codepen
People You Should Follow on CodePen
Stars: ✭ 542 (+371.3%)
Mutual labels:  webgl, svg
Fe Daily Record
📚前端书籍汇集点 + 每日好文推荐 + 公开课学习资料 + 各种大会资料
Stars: ✭ 94 (-18.26%)
Mutual labels:  webgl, svg
React Svg
🎨 A React component that injects SVG into the DOM.
Stars: ✭ 536 (+366.09%)
Mutual labels:  svg, dom
Geom
2D/3D geometry toolkit for Clojure/Clojurescript
Stars: ✭ 759 (+560%)
Mutual labels:  webgl, svg
Plain Draggable
The simple and high performance library to allow HTML/SVG element to be dragged.
Stars: ✭ 362 (+214.78%)
Mutual labels:  svg, dom
Dompurify
DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo:
Stars: ✭ 8,177 (+7010.43%)
Mutual labels:  svg, dom
indexeddb-orm
Indexed DB ORM
Stars: ✭ 53 (-53.91%)
Mutual labels:  promise, indexeddb
Three Elements
Web Components-powered custom HTML elements for building Three.js-powered games and interactive experiences. 🎉
Stars: ✭ 331 (+187.83%)
Mutual labels:  webgl, dom
Curtainsjs
curtains.js is a lightweight vanilla WebGL javascript library that turns HTML DOM elements into interactive textured planes.
Stars: ✭ 1,039 (+803.48%)
Mutual labels:  webgl, dom
Dom To Svg
Library to convert a given HTML DOM node into an accessible SVG "screenshot".
Stars: ✭ 67 (-41.74%)
Mutual labels:  svg, dom

Elemental2 · Build Status

Elemental2 provides type checked access to all browser APIs for Java code. This is done by using closure extern files and generating JsTypes, which are part of the new JsInterop specification that is both implemented in GWT and J2CL.

Bazel dependencies

If your project uses Bazel, add this repository as an external dependency in your WORKSPACE file:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "com_google_elemental2",
    strip_prefix = "elemental2-1.1.0",
    url = "https://github.com/google/elemental2/archive/1.1.0.zip",
)

load("@com_google_elemental2//build_defs:repository.bzl", "load_elemental2_repo_deps")
load_elemental2_repo_deps()

load("@com_google_elemental2//build_defs:workspace.bzl", "setup_elemental2_workspace")
setup_elemental2_workspace()

Now from you can add elemental2 targets as needed to your j2cl_library deps.

Following are the different elemental2 modules and their target names:

module Bazel targets for J2CL
core @com_google_elemental2//:elemental2-core-j2cl
dom @com_google_elemental2//:elemental2-dom-j2cl
promise @com_google_elemental2//:elemental2-promise-j2cl
indexeddb @com_google_elemental2//:elemental2-indexeddb-j2cl
svg @com_google_elemental2//:elemental2-svg-j2cl
webgl @com_google_elemental2//:elemental2-webgl-j2cl
media @com_google_elemental2//:elemental2-media-j2cl
webstorage @com_google_elemental2//:elemental2-webstorage-j2cl

Maven dependencies

If your project uses Maven, add the following maven dependencies in your pom.xml:

<dependency>
  <groupId>com.google.elemental2</groupId>
  <artifactId>${artifact-id}</artifactId>
  <version>1.1.0</version>
</dependency>
module artifact-id
core elemental2-core
dom elemental2-dom
promise elemental2-promise
indexeddb elemental2-indexeddb
svg elemental2-svg
webgl elemental2-webgl
media elemental2-media
webstorage elemental2-webstorage

Download the jar files

You can also download manually the jars files.

module jar file
core elemental2-core.jar
dom elemental2-dom.jar
promise elemental2-promise.jar
indexeddb elemental2-indexeddb.jar
svg elemental2-svg.jar
webgl elemental2-webgl.jar
media elemental2-media.jar
webstorage elemental2-webstorage.jar

GWT

Elemental2 v1.0.0+ requires GWT 2.9 or above.

If you use Elemental2 with GWT, you need to inherit the right gwt module in your gwt.xml file:

module GWT module name
core elemental2.core.Core
dom elemental2.dom.Dom
promise elemental2.promise.Promise
indexeddb elemental2.indexeddb.IndexedDb
svg elemental2.svg.Svg
webgl elemental2.webgl.WebGl
media elemental2.media.Media
webstorage elemental2.webstorage.WebStorage

Build GWT compatible maven jar files

If you want to modify and/or build the last version on your own, follow the instructions below:

    $ npm install -g @bazel/bazelisk
    $ alias bazel=bazelisk
  • Clone this git repository:
    $ git clone https://github.com/google/elemental2.git
    
  • Run the release script:
        $ cd elemental2
        $ ./maven/release_elemental.sh --version local --no-deploy
    

The script will output the directory containing the generated jar files that can be used with maven.

Contributing

Please refer to the contributing document.

Licensing

Please refer to the license file.

Disclaimer

This is not an official Google product.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].