14 ms·
Everest: A lightweight REST API client written in JavaFX
- cANDY4 8y agoZDVGYdsFIZSFYaFYwFGaFrASFlaiGliuagiLSFDSIh JJHBSFBbhsVJHSJV
- Zelphyr 8y agoI 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.
- ben_jones 8y agoIt'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.
- iiv 8y agoIt's a marketing term. It is often not provable either way and sounds good.
- wuliwong 8y agoIn 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."
- crispinb 8y agoIt might be fair if true. But is it true? In general java desktop apps that I've used have been heavy users of memory & cpu resources (I don't think any of these were JavaFX-based though). On my system, Everest is using a lot more memory than Insomnia. Perhaps an unfair comparison as Everest is an alpha, whereas Insomnia is very polished. But I see nothing to support the claim.
- ASalazarMX 8y agoIn my country there's an aphorism that roughly translates as "Tell me what you boast about and I'll tell you what you lack".
- rohitawate 8y agoIt's lightweight compared to the other options because all the other options are Electron based.
- gred 8y ago> 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.
- eronhp 8y agoSign of the times, I guess.
- darreld 8y agoCompared to a standard Electron app, I'm sure the Java version will seem pretty svelte.
- krat0sprakhar 8y agoYou can still use Kotlin + TornadoFx (https://github.com/edvin/tornadofx https://github.com/edvin/tornadofx)
- pkhagah 8y agoIs TornadoFx supported native without JVM? AFAIK TornadoFx is just a layer around JavaFX. So, Kotlin/TornadoFx should use the same resources as Java+JavaFX.
- tomc1985 8y agoWhich it does. JavaFX doesn't do native but its given widget takes a very conservative and elegant approach to styling.
- dropofwill 8y agoYeah, I think the usual approach is to ship the JVM with the app. And last I looked it (like ScalaFX) runs against Java 8, so no Jigsaw to shrink app sizes.
- camgunz 8y agoNice work; it does look nice and I'm glad JavaFX is getting a little love.
- coldtea 8y ago>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 8y agoI 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.
- coldtea 8y ago>It just means that those complaints are not very serious. If people like software, they'll use it. Or rather, if people have no other options, they'll use whatever they are given. Besides, it's not very serious if user adoption is the criterion -- as opposed to the possibility of a better computing environment.
- vbezhenar 8y ago> Or rather, if people have no other options, they'll use whatever they are given. I have a simple example: Discord. It's a popular voice conference application used by many gamers. I played WoW for many years and I saw voice software gamers used. It was Ventrillo, it was Raid Call, it was Team Speak. They are native programs. Discord is very recent player but it completely disrupted this ecosystem. In few years every WoW community switched to Discord. Nobody cares that it's JavaScript with React (AFAIK). But everybody likes slick interface and features.
- spinningarrow 8y agoIt helps that Discord is amazingly fast and responsive and doesn’t “feel” heavy.
- 8y ago
- FlyingSnake 8y agoNice 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.
- Rebelgecko 8y agoUnscientific, 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 8y ago> 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.
- rohitawate 8y agoYes 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.
- FlyingSnake 8y ago> Everest hovers around 250-300MB Maybe I'm a spoilt C++ programmer, but 250-300 MB is still bit higher for my tastes. For me the golden standard of cross-platform desktop app is Sublime Text which usually hovers around 100-150 MB for me. However I'm sure the memory usage, and performance can be drastically improved given the fact that JVM is one of the most heavily optimised pieces of software in recent times. Edit: I just tried it, and it doesn't work for some of the methods for httpbin. Would be great if you could test the app against https://httpbin.org https://httpbin.org
- krat0sprakhar 8y agoNice 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 https://github.com/edvin/tornadofx
- erikdared 8y agoI 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.
- tomc1985 8y agoI find myself dipping into Java code a lot, and mentally translating examples from Java even more, with TornadoFX, particularly with regards to XML Scene Builder and databinding. K+T are very pleasant, but the docs have a ways to go
- Cyph0n 8y agoScalaFX[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/ http://www.scalafx.org/
- saberworks 8y agoIt'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 8y agoStartup time was definitely faster than Insomnia on my Linux laptop. Also no issues with scrolling either.
- rohitawate 8y agoHi! 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 8y agoStart up time was like a second for me.
- lcfcjs 8y agoHaha who writes new software in Java?
- tomc1985 8y agoThank you for not choosing Electron!
- rohitawate 8y agoYou're welcome! That was the whole point of the project. User convenience >>> Developer convenience
- dionian 8y agoI wish all free utilities put this amount of effort into UI design, looks really clean and different
- rohitawate 8y agoThank you so much! A little bit of CSS can go a long way. :)
- Sophistifunk 8y agoI've been trying to find some non-trivial JFX code to study, thanks for making this!
- rohitawate 8y agoYou're welcome! I'm glad this helps.
- bunderbunder 8y agoThis 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.
- robinhowlett 8y agoNice 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.
- rohitawate 8y agoHi! 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 8y ago> ”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.
- FredrikMeyer 8y agoVery 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:// http://). Didn't work.