DEV Community

Cover image for Zeit Announces Hyper 1.0.0
Ben Halpern
Ben Halpern

Posted on

Zeit Announces Hyper 1.0.0

Zeit announced the stable 1.0.0 release of Hyper, an extensible terminal emulator built on web technologies. Hyper, first made public in July, has now been downloaded over 250,000 times.

Hyper is built with web technologies wrapped in Electron, a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. The idea of running a terminal based on these tools might give some developers pause, but Electron has come a long way, and Hyper has been well received thus far. The philosophy of Hyper builds on the ideas behind GitHub's Atom editor with the same goals of customizability in mind.

More than 300 extensions and themes have so far been developed for Hyper so far. Extensions are available on npm. With the new release, expect that number to keep growing.

Originally created by Guillermo Rauch, the co-founder of Zeit and author of open source projects like "The terminal is the starting point for so many critical processes. We wanted to make sure that experience was beautiful, extensible and modern. Everything a browser can do, the terminal can now do as well, but without sacrificing productivity", says Guillermo, "Since it's open source, the project is now maintained by dozens of contributors around the world." The 1.0.0 release was led by Matheus Fernandes, a contributor from Brazil.

Windows and Linux support

This new release expands Hyper to support most versions and distributions of Windows and Linux. "Since it's based on web technologies and Electron, it was straight-forward to get multi-platform support, instead of writing three distinct applications from scratch", Matheus comments.

hyper running on Windows

hyper running on Ubuntu

The concept of a terminal wrapped in a browser has a lot of potential and it is exciting to see the project reach v1. The barrier for customization and extensibility has been reduced about as far as it can go, and the community is healthy and growing. This sort of thing has been tried before, with projects like Termkit, but the timing and execution of Hyper give it lasting power. Electron makes this project viable and Zeit clearly know how to lead open source projects.

In his book Weaving the Web, Tim Berners-Lee describes begrudgingly porting his original Objective-C codebase to C so it could run on a wider array of platforms and achieve higher adoption among developers. I see a lot of parallels with the modern trend of choosing web technologies for applications such as Hyper. By making it easier to extend the platform and contribute to the core, these technologies are allowed to flourish despite any tradeoffs that need to be made.

With popular applications like Atom, Slack, Visual Studio Code, and many others now built on Electron, the idea of building core desktop applications using browser tech is becoming more commonplace. The terminal, one of an operating system's most fundamental applications, is just one more tool that can leverage this approach. Performance is a typical concern with this approach, but we have seen the trend of these applications becoming more performant over time as issues are worked out.

Version 1.0.0 release notes include some bug fixes, improved support for internationalization and improvements in developer experience. Here is the download/installation guide for Hyper.

Top comments (3)

beshur profile image
Alex Buznik

Performance is a typical concern with this approach, but we have seen the trend of these applications becoming more performant over time as issues are worked out.

That's just the processors becoming faster.

ben profile image
Ben Halpern

I think it's more the case that these programs do better to optimize over time. Atom had major performance issues when it was first released, and that was greatly improved on. Slack's latest release also radically improved on performance. The last Chrome version also reduced RAM use by 30%. I think it's hard to optimize early with these reasonably inefficient technologies, but performance bottlenecks can be fixed over time.

strredwolf profile image

So... you're loading a HTML/CSS engine to display a terminal... And how is this better than just the native API on each platform (Win32/Coco/Gtk/QT)?

I mean, look at the Unix/X11 platform. xterm was the normal player there but it also had some issues with RAM usage and code size... which sprang "xvt" and then "rxvt", two tiny terminal programs... and then the libraries for just terminal emulation came along.

But... adding more code? To do a simple thing? There's got to be a reason behind it, and it better be good.