3 ms·
Just wanted to say thank you for all your work on this, Andrey! I've been using for developing native projects with ReasonML / OCaml (on Windows!) - a framewor
by bryanphe 8y ago
Just wanted to say thank you for all your work on this, Andrey!
I've been using for developing native projects with ReasonML / OCaml (on Windows!) - a framework called Revery [1] (a fast, native alternative to Electron) and a re-write for our Oni [2] text editor using this platform. It really wouldn't have been possible to pursue these paths without esy.
We're also starting to see other cross-platform Reason-native projects pop-up that I'm very excited about, like Brisk (native OSX UI w/ Reason/OCaml) [3] and Fastpack (native JS bundler - a faster webpack) [4].
Some of my favorite features are the following:
- Esy gives the convenience of NPM / Yarn, but for native development. Importantly, it works great cross-platform - OSX/Linux/Windows. IMO The ease of cross-platform development is one of the JS+Node+NPM workflows greatest strengths, and esy provides this for native development.
- Esy gets faster as you use it. It has smart caching for compiled artifacts - taking into account the full set of transitive dependencies.
- The linking / resolution workflow is incredibly useful for native development. For Revery, we'd often need to try fixes across our GLFW/Fontkit stack, and the link feature made this simple.
I'm biased as I've contributed a little bit to the esy, but I've found the approach to development really interesting architecturally - esy is like a 'React' for dependency management - treating the dependency tree as a "pure function" of (dependency tree -> lock -> build environment) with "memoization" to re-use compiled artifacts.
These are tough problems to solve in native... and I'm really impressed with your work Andrey! Thank you!
- [1] https://github.com/revery-ui/revery https://github.com/revery-ui/revery
- [2] https://github.com/onivim/oni https://github.com/onivim/oni
- [3] https://github.com/briskml/brisk https://github.com/briskml/brisk
- [4] https://github.com/fastpack/fastpack https://github.com/fastpack/fastpack
- andreypopp 8y ago> I'm biased as I've contributed a little bit to the esy, Well, Bryan is responsible for the Windows support in esy, not a bit!