nav search
Data Center Software Security Transformation DevOps Business Personal Tech Science Emergent Tech Bootnotes BOFH

Meet Hyper.is – the terminal written in HTML, JS and CSS

Run Bash on Windows and perform other feats of command line magic

By Thomas Claburn, 13 Dec 2016

Zeit, a San Francisco-based software startup, has released the 1.0 version of Hyper, a terminal emulator written in JavaScript, HTML, and CSS. Why? Well, why not?

Hyper is based on Electron, an open source framework for creating cross-platform desktop applications using HTML and JS.

Developed by GitHub for its Atom text editor, Electron powers a variety of well-known applications including Slack, Visual Studio Code, and Nylas N1, among others.

Hyper (Hyper.is), formerly known as HyperTerm and not to be confused with HyperTerminal, shares its name with several other projects:

  • Hyper.sh, a container hosting service
  • Hyper.rs, an HTTP library for Rust
  • Hyper, an HTTP/2 client for Python
  • HyPer, a high-performance database system recently acquired by Tableau

That's what happens when technical innovation outpaces linguistic change.

Hyper is now available for 64-bit systems including macOS, Windows, and Linux, with 32-bit builds expected soon.

Cross-platform compatibility is one of Electron's advantages, but that can come at a cost: Unless optimized well, Electron-based applications can be slow. That's one of the common gripes about Atom, at least when compared to a native text editor like Sublime Text.

And there are still plenty of issues to be ironed out. For example, the plugin update check initiated when the app launches will throw an error on macOS if you haven't installed NPM, the Node Package Manager. Other areas that need work can be seen in the project's GitHub repository.

Nonetheless, Guillermo Rauch, CEO of Zeit, claimed in a tweet that Hyper has been downloaded more than 250,000 times and has over 300 themes and extensions. And he points to test results that suggest Hyper is comparable to PowerShell in terms of its effect on other executables.

Hyper.app

The Chromium project deserves some credit here because Hyper's terminal is based on Chromium's hterm terminal emulator.

Regardless, Hyper has appeal because it offers innovative features like the ability to load websites from the command line, and hot-key-enabled split panes. It's also potentially interesting to developers because it can be extended and customized using JavaScript, both for back-end code and the front-end interface.

A sample extension project, Hyperpower, adds a particle effect spray to the terminal cursor.

Hyper extensions consist of universal Node.js apps that get loaded by Electron and the render process. The extension system is based on the technologies used to build the application: React components and Redux actions. So extending the application is simply a matter of understanding those web technologies.

For many developers, JavaScript has a reputation similar to PHP – ubiquitous but seldom respected or beloved, at least outside of those already sold on JavaScript and its sprawling ecosystem. Regardless, the JavaScript runtime is everywhere, so projects that rely on it have a sort of self-perpetuating logic.

Hyper won't immediately displace Terminal, iTerm2, ConEmu, or other favorite terminal tools, but it can be expected to become more appealing and capable over time. ®

The Register - Independent news and views for the tech community. Part of Situation Publishing