Fable vs Transcrypt
Fable
fable.ioTranscrypt
transcrypt.orgSide by side
| Figure | Fable | Transcrypt |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Code Transpilers | 7.3 (#22) | 8.0 (#9) |
| Compatibility limit | Not all NuGet packages work with Fable; the documentation advises checking whether each library is Fable-compatible. | The documentation says Python exec and eval are unsupported because Transcrypt precompiles code; JavaScript eval is supported. |
| JavaScript output | Fable transpiles F# to ES2015 JavaScript. | Transcrypt generates JavaScript 6 and can minify the output. |
| Language features | The site highlights F# features including immutability by default, pattern matching, units of measure, and type providers. | Listed features include multiple inheritance, async/await, comprehensions, modules, optional static type checking, source maps, and built-in minification. |
| Support | The project repository accepts bug reports and feature requests, and notes that maintainers do not check its Gitter chat regularly. | The FAQ recommends Stack Overflow for help and says commercial support is available on demand. |
| What it does | Fable is a compiler that lets developers use F# to build applications. | Transcrypt compiles a fairly extensive subset of Python into compact, readable JavaScript. |
Plans
In their own words
Transcrypt
Transcrypt compiles Python source code into JavaScript for browser applications. It converts a substantial subset of Python into JavaScript 6, with optional minification, and supports features including multiple inheritance, async/await, comprehensions, and modules. Developers can call JavaScript functions from Python and use browser DOM functions and JavaScript libraries. The distribution includes optional static type validation and consistency checks, plus multilevel source maps for tracing generated JavaScript back to the original Python. Transcrypt can also compile Python server code for Node.js and use Node libraries with require(). The project recommends installing it as a Python package with pip and documents testing on Windows, Linux, and OSX. Its focus is browser development and JavaScript libraries rather than desktop Python libraries. Because code is precompiled, Python exec and eval are unsupported, although JavaScript eval is supported. C and C++ libraries are not directly supported for browser use without special measures such as compiling them to asm.js. Transcrypt is free and open source under Apache 2.0.