4 ms·
We mention Rust primarily because it produces a really high-performance app and to make clear that it's not built using Electron or web tech. We wrote up a pre
by zachlloyd 5y ago
We mention Rust primarily because it produces a really high-performance app and to make clear that it's not built using Electron or web tech.
We wrote up a pretty detailed technical design if you're interested in checking out how we built and why we made the decisions we made:
https://blog.warp.dev/how-warp-works/ https://blog.warp.dev/how-warp-works/
- barbazoo 5y agoI was just looking at that! It seems that I'm also conflating "terminal" and "shell" here possibly. Is Warp both in this case?
- charlespierce 5y agoWarp is a terminal, we still rely on the underlying shell to do the interpretation / execution of the commands. At the moment, we support using bash, zsh, or fish as the shell.
- samatman 5y ago...huh. Writing a tty which has to support specific shells isn't confidence inducing. How did you paint yourself into that specific corner exactly?
- vidarh 5y agoI'm guessing the auto-complete handling means they need to understand the line editing of the shell. If they've done it well, it'd hopefully be possible to quickly handle others and/or make it configurable.
- samatman 5y agoAh, that.. almost makes sense? fish at least has its own autocomplete. I'd be more careful about the messaging then, something like "you can use any shell you want, we provide enhanced features for bash/zsh/fish and are looking to expand that in future".
- roydivision 5y agoThis. Also the mention of ‘collaboration’ and ‘cloud’ put me off. “Do one thing and do it well”.
- vidarh 5y agoBut who would expect Electron or web tech for a terminal? Having written terminal code both in compiled and interpreted languages, and on machines about a thousand times slower than a typical modern machine, speed here is also much more down to algorithm choices - especially for rendering - than language. I find the focus on FPS pretty odd as well, as really high update speeds for a terminal typically only comes into play if dumping huge amount of data to the terminal by accident, in which case typically handling scrolling properly is easily speeded up by skipping lines that need never be visible at all. I do expect terminals I use to be low latency for normal operations, but that's a very different consideration. Not objecting to your choice of Rust. Just like some others found it odd to highlight it near the top of your main page.
- drran 5y agoDomTerm and xterm.js are terminals for web.
- wffurr 5y agoI guess you missed the HN posts about another buzzy terminal app that is in fact written with Electron and boasts about extensible web tech as a feature: https://hyper.is/ https://hyper.is/
- vidarh 5y agoI might have suppressed it, as the very idea is the stuff of nightmares. That said, I'll note that unlike Warp it will actually run on Linux...
- timw4mail 5y agoThey exist. Hyper is the most notable one using Electron.