JSweet leverages TypeScript to write rich and responsive Web applications in Java through the use of JavaScript libraries and frameworks. With JSweet, Java programs are transpiled (source-to-source compiled) to TypeScript and JavaScript for being run in browsers, mobile Web views, or in Node.js. It provides web applications with type-checking and generates fully type-checked JavaScript programs. It stands on Oracle's Java Compiler (javac) and on Microsoft's TypeScript (tsc). JSweet depends on well-typed descriptions of JavaScript APIs, so-called "candies", most of them being automatically generated from TypeScript definition files. These API descriptions in Java can be seen as headers (similarly to *.h header files in C) to bridge JavaSript libraries from Java. There are several sources of candies for existing libraries and you can easily build a candy for any library out there.
Features
- JSweet is safe and reliable
- JSweet allows you to use your favorite JS library
- JSweet enables code sharing between server-side Java and client-side JavaScript
- JSweet is fast, lightweight and fully JavaScript-interoperable
- The generated code is regular JavaScript code, which implies no overhead compared to JavaScript
- JSweet provides implementations for the core Java libraries for code sharing and legacy Java migration purpose