top | item 16988401

Everest: A lightweight REST API client written in JavaFX

114 points| _33o6 | 8 years ago |github.com | reply

56 comments

order
[+] FlyingSnake|8 years ago|reply
Nice work!

I was kinda expecting someone to showcase JavaFx/TornadoFx, after the daily parade of electron/JS based apps.

> it is significantly lighter on resources and more responsive than the Electron-based options

I tend to agree that this is lightweight than Electron etc, but are there any benchmarks to verify the actual numbers?

One the side note, it's funny so see Java being touted as a `lightweight` alternative to desktop apps. Desktop technology has come a full circle.

[+] rohitawate|8 years ago|reply
Yes it is lighter than the Electron-based options. Definitely a lot more than Postman which always consumes north of half a gig. Everest hovers around 250-300MB which I know is still a lot and I'm currently in the process of optimizing the internals.

And another yes, Java is not the lightest thing around. But man its much better than Electron.

[+] Rebelgecko|8 years ago|reply
Unscientific, but for me Everest started a few seconds faster than Postman and used about half as much RAM. I tried to clear out preexisting state from Postman but probably didn't get 100% of it. If you already have a JVM installed, the executable is also 90% smaller
[+] geodel|8 years ago|reply
> it's funny so see Java being touted as a `lightweight` alternative to desktop apps.

Exactly my thought when I read this. Google really outbloated Java with Electron.

[+] coldtea|8 years ago|reply
>Unlike other REST clients like Postman and Insomnia, Everest is written in Java. Thus, it is significantly lighter on resources and more responsive than the Electron-based options.

A technology finally came up to make a Java desktop app look better in comparison...

[+] vbezhenar|8 years ago|reply
I always laughing when I'm thinking about it. A lot of tech people complained about Java being resource-hungry. Just to get another more resource-hungry technology. It just means that those complaints are not very serious. If people like software, they'll use it.
[+] pharrington|8 years ago|reply
JavaFX was released nine years ago.

V edit: yep my reading comprehension is not on point today

[+] saberworks|8 years ago|reply
It's nice. I tried it out on a mac. The experience leaves something to be desired. The startup time is excessive. It doesn't feel lightweight. When scrolling through a response body the scrolling feels completely different than on every other app on my mac. This must have something to do with java? It seems every "click" of the scroll wheel scrolls by a little more than half a line. Every other app scrolls ~3 lines per click. Keyboard shortcuts seem windows-specific (ctrl-t to open new tab). There are other little things here and there (and some documented on the github page) but overall it's nice. Can't say that it's an improvement over electron.
[+] Tsarbomb|8 years ago|reply
Startup time was definitely faster than Insomnia on my Linux laptop. Also no issues with scrolling either.
[+] rohitawate|8 years ago|reply
Hi! The dev here. Thanks for trying out Everest.

The JVM does have a slightly higher warm-up time than something like Node.js.

The slow scrolling is a JavaFX thing and bothers me too. I'll definitely polish that up, if possible.

I don't have a Mac at hand so I didn't do any Mac-specific stuff in Everest. I'll add the usual Mac ones in the coming weeks.

[+] ionised|8 years ago|reply
Start up time was like a second for me.
[+] rohitawate|8 years ago|reply
Hi! I'm Rohit, the dev behind Everest.

First of all, I want to thank all of you for trying out Everest and providing such great feedback. The project really blew in popularity since yesterday. I was not expecting a response anything close to this (Everest is #2 on GitHub's Trending Java repositories).

I'm really happy that most of the responses have been positive with some constructive complaints. I'll make sure they're addressed in the coming alpha builds.

Regarding performance: Yes, JavaFX is not the lightest thing on the block but its much much lighter than Electron-based options. I know the memory usage for Alpha v1 is not too great (not bad either) and it will improve as we go ahead. I haven't made any JVM/GC tweaks yet. I'm currently working to optimize the internals and that has improved performance quite a bit.

I have my finals coming up in a week so the development is gonna be stalled for a while. But its gonna be fun. We'll build a kickass application together.

Thanks, again!

PS: HN keeps throttling my account since I'm a newbie around here so if you want to reach out to me, I recommend you do so via Twitter or email, both of which are available in Everest's README.

[+] grzm|8 years ago|reply
> ”HN keeps throttling my account since I'm a newbie around here”

You can reach out to the mods via the Contact link in the footer. They can remove the new-account throttling on a case-by-case basis.

[+] gred|8 years ago|reply
> Why Everest?

> Unlike other REST clients like Postman and Insomnia, Everest is written in Java. Thus, it is significantly lighter on resources and more responsive than the Electron-based options.

I love Java, but I had to laugh a little.

[+] darreld|8 years ago|reply
Compared to a standard Electron app, I'm sure the Java version will seem pretty svelte.
[+] eronhp|8 years ago|reply
Sign of the times, I guess.
[+] camgunz|8 years ago|reply
Nice work; it does look nice and I'm glad JavaFX is getting a little love.
[+] tomc1985|8 years ago|reply
Thank you for not choosing Electron!
[+] rohitawate|8 years ago|reply
You're welcome! That was the whole point of the project.

User convenience >>> Developer convenience

[+] krat0sprakhar|8 years ago|reply
Nice work! Although the UI looks too similar to Postman IMO, it's a great way to showcase what's possible.

I'm not a fan of Java so I'm really excited that with Kotlin (& TornadoFx), this can actually be a very pleasant environment to program in.

https://github.com/edvin/tornadofx

[+] Cyph0n|8 years ago|reply
ScalaFX[1] is another excellent option for writing JavaFX apps. The resulting application will probably be slightly more bloated though since the Scala stdlib alone is around 5 MB.

Also, ScalaFX doesn't seem to be under active development, which is quite a shame tbh.

[1]: http://www.scalafx.org/

[+] erikdared|8 years ago|reply
I was a little bummed to see this was not using Kotlin and TornadoFX, I've used them together a little and they're much more pleasant than using plain Java + JavaFX.
[+] bunderbunder|8 years ago|reply
This looks nice and clean compared to some of the other tools in this vein that I've used.

That said, I've fairly recently decided that Jupyter notebooks are a better mousetrap than GUI-based tools for this kind of thing. Python's a pretty ergonomic language for this kind of thing, and having a full programming language to work with makes some testing scenarios more convenient.

Plus, you can get some nice spinoffs out of the deal. Once you get everything how you like it, you might be only an nbconvert away from having a decent suite of automated acceptance tests. Or sprinkle some markdown cells in between your tests, and now you've got executable, hackable documentation for your API. Check that into GitHub, and you've also got reasonably pretty documentation with detailed code samples that's easy to view in the repository browser.

[+] dionian|8 years ago|reply
I wish all free utilities put this amount of effort into UI design, looks really clean and different
[+] rohitawate|8 years ago|reply
Thank you so much! A little bit of CSS can go a long way. :)
[+] Zelphyr|8 years ago|reply
I don't mean to knock this project because it looks interesting and I wish the developer all the best. But, why does every damn project announced have to be "lightweight"? Even the ones that are definitely not light anything.
[+] wuliwong|8 years ago|reply
In general I agree with you, I seems to come up a lot with javascript frameworks. But in this case, it's a pretty specific claim, right? The dev is saying that it's lighter on resources than Postman because it's built with Java and not Electron. I think it's fair even given the current overuse of "lightweight."
[+] ASalazarMX|8 years ago|reply
In my country there's an aphorism that roughly translates as "Tell me what you boast about and I'll tell you what you lack".
[+] iiv|8 years ago|reply
It's a marketing term. It is often not provable either way and sounds good.
[+] rohitawate|8 years ago|reply
It's lightweight compared to the other options because all the other options are Electron based.
[+] ben_jones|8 years ago|reply
It's like saying something is "fast" - its a platitude that can draw developers to at least look at it, which is hard to do with all the new projects coming out constantly.

I feel like to announce it as leightweight you should at least include memory/latency benchmarks.

[+] Sophistifunk|8 years ago|reply
I've been trying to find some non-trivial JFX code to study, thanks for making this!
[+] rohitawate|8 years ago|reply
You're welcome! I'm glad this helps.
[+] FredrikMeyer|8 years ago|reply
Very short feedback: it looks very nice (startup time was fast on my Mac). However, some of the usual Mac hotkeys in text fields didn't work. In (for example) the Chrome URL field I can press ctrl+a to go to the beginning of the URL (in this case I forgot to write http://). Didn't work.
[+] robinhowlett|8 years ago|reply
Nice looking client. I've been tipping away at a JavaFX application of late. I'm shipping with a JVM and bundling into .app/.exe distributions. Looking forward to seeing what you did to learn from it.