Lanterna VS alacritty

Compare Lanterna vs alacritty and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Lanterna alacritty
19 352
2,196 52,767
- 2.4%
7.2 9.2
about 2 months ago 3 days ago
Java Rust
GNU Lesser General Public License v3.0 only Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Lanterna

Posts with mentions or reviews of Lanterna. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-07.
  • Textual Web: TUIs for the Web
    9 projects | news.ycombinator.com | 7 Sep 2023
    I wrote a TUI before for work, entirely of my own volition and for my own near-exclusive consumption (it was theoretically for anyone, but I'm the only person who would've had a reason to look at it - we were a fairly silo'd dev shop).

    This is what made me pick TUI over a web UI:

    * no web stack, period. no client/server. no js or html. this simplified the problem dramatically. also, no additional services to babysit.

    * no browser - no certificates, security, auth, etc. It's just unix permissions and ssh.

    * there's something comforting about the constraints of just ASCII/ANSI and curses. No bikeshedding over border widths or radii when it's just you picking among a few characters for the shape. just having less decisions to make speeds things up and helps you focus on what you actually want the UI to be able to do.

    Obviously if your app is just calling APIs anyway, that might be negate some of these bullets about no additional services to babysit etc. In this case, it was running an internal infra app that directly connected to a pg db.

    And what made me pick it over just having a CLI:

    * discoverability - it was a complicated app and while it was all technically exposed via cli flags, having a GUI made it a lot easier to figure out what the right incantation is.

    * richer communication medium that's back-and-forth instead of unidirectional. The TUI is able to fetch a list of e.g. valid IDs and let you pick them with a check-list, instead of you having to go query the db yourself and type them in.

    I consider it one of my greatest victories that my boss was able to use the TUI to recover from an incident without needing to page me while I was on holiday, and he said he barely had to read the docs and felt confident he was getting it right the first time. "I did it while sipping my coffee."

    I used https://github.com/mabe02/lanterna - would recommend. They even have a Swing-based emulation mode for easy development iteration running it from intelliJ.

  • Textual: Rapid Application Development Framework for Python
    7 projects | news.ycombinator.com | 18 Aug 2023
    This looks really cool.

    In the past I used lanterna (https://github.com/mabe02/lanterna/tree/master) to develop a text UI for a critical process at the trading firm I worked at. It was essentially a process that would take updated market data and handle things that changed between the last trading session and today - like symbol renames (PCLN to BKNG), changes to market cap that make it change what "category" it fell into (they were based on market cap and volatility measures etc). Things of that nature, that the realtime system didn't handle but happened too often or were too hairy for us to just handle manually.

    The system had a desktop UI component that was oriented towards use by our trading staff. We didn't really have notion of a "server UI" and the server was headless.

    Nobody at our firm was a frontend developer, just backend, systems and data programmers who occasionally dabbled in frontend. So web UIs were very simplistic or highly specific to their use-case, we had no shared tooling.

    In 2023 with things like create-react-app and whatever next.js does, I probably would've opted for one of those. I could've made another desktop app but I wanted to be able to easily get to this from a shitty ssh connection over tethered 4g when I was on-call. So X11 forwarding and RDP were out. So i looked around for a TUI-builder in the project's language, Java.

    What i really liked about Lanterna was that it had a Swing-based implementation which meant I could easily run it from IntelliJ, and that would let me iterate rapidly, and then in production I could run it in a terminal via SSH directly on the machine the server was on (which had certain advantages).

    I'll keep an eye on this to see if I can think of anything neat to build on it. I still generally don't like web apps because they feel like they take a lot of effort to get something compared to a functionally-equivalent product built in something non-browser-based like a TUI or desktop GUI.

  • What options are there for making GUIs and other visual programs using java?
    2 projects | /r/java | 4 May 2023
    Just to differ what others already mentioned: Lanterna. Pretty retro GUIs just for fun.
  • Library like Python Rich
    2 projects | /r/javahelp | 27 Sep 2022
    Lanterna https://github.com/mabe02/lanterna Has examples for most of the things you're looking for (see links in https://github.com/mabe02/lanterna/blob/master/docs/contents.md)
  • Terminal Design Through Java.
    1 project | /r/java | 14 Sep 2022
  • Nimwave – build TUIs for the terminal, web, and desktop
    2 projects | /r/commandline | 18 Jun 2022
  • How to modify lines in console (Java 8)
    1 project | /r/javahelp | 21 May 2022
    You can use a library such as https://github.com/mabe02/lanterna to do fancy console printing. You could even do full console UIs, but just printing lines and moving the cursor and so on is also possible I think.
  • Aquifer: GUI generator for command line apps
    2 projects | /r/java | 6 May 2022
    There is lanterna for that.
  • Textual in Clojure?
    9 projects | /r/Clojure | 28 Apr 2022
    You can use https://github.com/mabe02/lanterna
  • What are some features necessary in an ASCII-graphics library?
    1 project | /r/roguelikedev | 9 Feb 2022
    Is this just a personal excercise? Because https://github.com/mabe02/lanterna is pretty much what you're talking about and pretty good.

alacritty

Posts with mentions or reviews of alacritty. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-16.
  • Terminal Latency
    1 project | news.ycombinator.com | 19 Mar 2024
    It's opinionated, which comes with upsides and downsides. I won't blame the maintainer to keep things focused, feature creep (even for worthy features) can kill a FOSS project.

    Another example is sixel support, there's a fork where it all works but is not sufficiently "proven" (code quality just as well as sixel being the best fit for the problem)

    https://github.com/alacritty/alacritty/pull/4763#issuecommen...

    It may be annoying but I get the reasoning, and there are other terminals.

  • Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
    12 projects | dev.to | 16 Mar 2024
    alacritty (Linux, Macos & Windows)
  • Alacritty: A cross-platform, OpenGL terminal emulator
    1 project | news.ycombinator.com | 16 Feb 2024
  • Neovide – a simple, no-nonsense, cross-platform GUI for Neovim
    17 projects | news.ycombinator.com | 31 Jan 2024
    > Ligatures: ok, nice, possible in terms too (hopefully Alacritty one day)

    I wouldn't hold my breath. Seems like its getting the iPad calculator treatment[0]. Which is to say rather than ship something working that can be improved, they're leaving a UX void.

    [0] https://github.com/alacritty/alacritty/issues/50

  • I Just Wanted Emacs to Look Nice – Using 24-Bit Color in Terminals
    7 projects | news.ycombinator.com | 30 Jan 2024
    IME, this is like the golden age of terminal apps in general and macOS-compatible ones in particular. There are several really good terminals for macOS:

    [iTerm2 app](https://iterm2.com/)

    [Kitty terminal](https://sw.kovidgoyal.net/kitty/)

    [WezTerm terminal](https://wezfurlong.org/wezterm/index.html)

    [Alacritty](https://github.com/alacritty/alacritty)

    My daily driver is WezTerm…

    - Runs on Linux, macOS, Windows 10 and FreeBSD

    - [Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback](https://wezfurlong.org/wezterm/multiplexing.html)

    - [Ligatures](https://github.com/tonsky/FiraCode#fira-code-monospaced-font...), Color Emoji and font fallback, with true color and [dynamic color schemes](https://wezfurlong.org/wezterm/config/appearance.html#colors).

    - [Hyperlinks](https://wezfurlong.org/wezterm/hyperlinks.html)

    - [Searchable Scrollback](https://wezfurlong.org/wezterm/scrollback.html) (use mouse wheel and `Shift-PageUp` and `Shift PageDown` to navigate, Ctrl-Shift-F to activate search mode)

    - xterm style selection of text with mouse; paste selection via `Shift-Insert` (bracketed paste is supported!)

    - SGR style mouse reporting (works in vim and tmux)

    - Render underline, double-underline, italic, bold, strikethrough (most other terminal emulators do not support as many render attributes)

    - Configuration via a [configuration file](https://wezfurlong.org/wezterm/config/files.html) with hot reloading

    - Multiple Windows (Hotkey: `Super-N`)

    - Splits/Panes (Split horizontally/vertically: `Ctrl-Shift-Alt-%` and `Ctrl-Shift-Alt-"`, move between panes: `Ctrl-Shift-ArrowKey`)

    - Tabs (Hotkey: `Super-T`, next/prev: `Super-Shift-[` and `Super-Shift-]`, go-to: `Super-[1-9]`)

    - [SSH client with native tabs](https://wezfurlong.org/wezterm/ssh.html)

    - [Connect to serial ports for embedded/Arduino work](https://wezfurlong.org/wezterm/serial.html)

    - Connect to a local multiplexer server over unix domain sockets

    - Connect to a remote multiplexer using SSH or TLS over TCP/IP

    - iTerm2 compatible image protocol support, and built-in [imgcat command](https://wezfurlong.org/wezterm/imgcat.html)

    - Kitty graphics support

    - Sixel graphics support (experimental: starting in `20200620-160318-e00b076c`)

  • alacritty-themes not working any more!!!
    6 projects | dev.to | 7 Jan 2024
    # We use Alacritty's default Linux config directory as our storage location here. mkdir -p ~/.config/alacritty/themes git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
  • The Linux graphics stack in a nutshell, part 2
    1 project | news.ycombinator.com | 29 Dec 2023
    if by 'in the terminal' you mean 'in a program emulating an ascii terminal' then no, because ascii terminals don't support anything that looks better than ascii art. they don't support sixel either. there are a variety of proposals for how to add graphics to ascii terminal emulators in a backwards-compatible way, such as mgr and notty https://github.com/alacritty/alacritty/issues/51

    but the 'terminal' that a terminal emulator is emulating is a device which provides a user access to a remote computer. normally nowadays this is a laptop or cellphone. in that case, yes, you can use x-windows, xpra, vnc, or a web browser

  • Pimp your CLI
    13 projects | dev.to | 19 Dec 2023
    A decent terminal application (i.e: iterm2, alacritty, etc.)
  • What GPU Accelerated terminal do you recommend for Linux
    1 project | /r/neovim | 11 Dec 2023
    I have been having random input lags with Alacritty. Initially I thought it was my custom neovim config. After some investigation, I have found an Alacritty github issue where users are reporting the same issue: https://github.com/alacritty/alacritty/issues/6844
  • Keypress delay
    1 project | /r/neovim | 11 Dec 2023
    Thank you for your suggestions. I have now narrow it down to my terminal emulator. Alacritty. More precisely this issue: https://github.com/alacritty/alacritty/issues/6844

What are some alternatives?

When comparing Lanterna and alacritty you can also consider the following projects:

CQEngine - Ultra-fast SQL-like queries on Java collections

kitty - Cross-platform, fast, feature-rich, GPU based terminal

Modern Java - A Guide to Java 8 - Modern Java - A Guide to Java 8

wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

jcurses - Java Curses implementation

Warp - Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.

LightAdmin - [PoC] Pluggable CRUD UI library for Java web applications

starship - ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

Jimfs - An in-memory file system for Java 7+

FiraCode - Free monospaced font with programming ligatures

JBake - Java based open source static site/blog generator for developers & designers.

neofetch - 🖼️ A command-line system information tool written in bash 3.2+