Hacker News new | ask | show | jobs
by jsjohnst 3475 days ago
Remember, this is a terminal emulator. It's fairly easy to get a consistent look and feel, even across platforms.

You asked for one, here's five:

* GTK+

* wxWidgets

* Swing

* SWT

* Tcl/Tk

You then mentioned "easily extendable". I'm not sure if you'll agree Swing/SWT are easily extendable (I'd argue they can be), but wxWidgets and GTK+ have bindings available in many common scripting languages (heck, even PHP!) which are just as easy to extend as JavaScript is.

Again, I'm not arguing any of these are better suited, just responding to your point that there was no alternative.

1 comments

I said it "isn't a bad choice", not "there is no other alternative".

Of the 5 alternates you provided, can you name me an app that runs on major platforms that people describe as a good user experience? Not just that they work, but that they serve as good example of how to design a user experience. The only one that I can think of that I use on an everyday basis is the JetBrains apps which are built in java, although what UI implementation they're using I'm unsure. Beyond that, all the good cross platform apps that I can think that aren't using something webkit based (slack/atom/discord/etc) use native OS GUI implementations. I'm sure there are others, but it's hard to completely discredit the browser-as-an-app approach.

From what I gathered from the project, it's aim is to go beyond being just another terminal emulator and provide a certain amount of bells and whistles through its interface. Turns out interface bells and whistles is something that HTML+CSS+Javascript has nailed pretty well while remaining cross platform compatible.

First, I've never understood the obsession with the "native feel". I guess it just irks some people in a basic way that I can't relate to at all.

However, the major cross-platform toolkits of wxWidgets, Qt, and GTK+ have run long projects to allow for native interface components on the platforms they support. This is usually something that can be configured at compile time.

VLC is wxWidgets and it offers a consistent user experience across platforms. Chromium is GTK+ and it does so as well. I'm not sure what's trendy in the UX snob circles these days so I don't know if they qualify as "amazing UX" or not, but they're two widely-used, major projects that incorporate standard cross-platform desktop toolkits.

Personally, I've always been partial to Qt, though I can't think of something off the top of my head that uses Qt and has widespread usage across platforms (Qt of course powers the entire KDE suite, but that usually doesn't cross over to Mac or Windows users, and Amarok's glory days are long gone). I guess Clementine uses Qt, and it may be widely used. I used it on both Win and Linux and the UX is identical.

VLC uses Qt (since 0.9.0 I think). Pre-0.9.0 was wxWidgets.

Another very common Qt based app is Skype.