Fable vs JSweet
Fable
fable.ioJSweet
jsweet.orgSide by side
| Figure | Fable | JSweet |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | Yes | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Code Transpilers | 7.3 (#22) | 8.7 (#1) |
| Build integrations | For JavaScript projects, Fable integrates with bundlers including Vite, Parcel, and Webpack. | Official tooling includes Eclipse, Maven and Gradle plugins. |
| Language features | The site highlights F# features including immutability by default, pattern matching, units of measure, and type providers. | Its listed features include Java-to-TypeScript syntax mapping, Java constructs, async/await, and ECMAScript targets from ES3 to ES6. |
| License | The Fable repository identifies its license as MIT. | The repository links to a license file but the opened page does not state the license name in its displayed README text. |
| What it does | Fable is a compiler that lets developers use F# to build applications. | JSweet transpiles Java source into TypeScript and JavaScript for browser, mobile-webview and Node.js applications. |
Plans
In their own words
JSweet
JSweet converts Java programs into TypeScript and JavaScript for browsers, mobile Web views, or Node.js. It uses Oracle's Java compiler alongside Microsoft's TypeScript compiler to generate type-checked JavaScript. The project describes the output as regular JavaScript that can work directly with JavaScript programs and libraries. Listed language features include Java-to-TypeScript syntax mapping, Java constructs, async/await, and ECMAScript targets from ES3 to ES6. JSweet lists support for more than 1,000 JavaScript libraries, frameworks, and plugins, packaged as Maven artifacts called candies. It provides Eclipse, Maven, and Gradle plugins, and names Angular, Cordova, Node.js, and Three.js among example integrations. Generated programs can use CommonJS, AMD, or UMD modules and run in browsers or Node.js. A debug mode supports debugging Java code in a browser. Setup instructions call for Git, Node.js, and Maven, then use Maven to generate JavaScript from a quickstart project. JSweet is open source and free, and is presented for Java developers building web and mobile HTML5 applications with JavaScript libraries and frameworks.