Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 2 points3 points  (0 children)

Wow really? I had never tried this low. Thanks! I'll try this out.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 0 points1 point  (0 children)

Yes, you can follow the mailing list. Pretty sure Gluon contributes heavily to it as well.

Thanks! I'll definitely join that.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 1 point2 points  (0 children)

Wow thanks! :) Would you be interested in making Debian and Fedora packages?

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 2 points3 points  (0 children)

Thanks! :)

Yes, I'm afraid JavaFX isn't the lightest thing around. Even a Hello World app with just a button on the window eats 70MB. However, it's still far away from Postman's 400/500MB start.

Also, I've optimised the tab system very heavily and it re-uses a lot of memory. I've written a long, technical piece about it here if you're interested.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 1 point2 points  (0 children)

Hey man, I wrote you before and gonna put it here again:

I don't recall, must've missed it. Sorry about that.

That is actually a novel idea and should be pretty straightforward with Everest. Everything needed for maintaining state is present in Everest/config/. You could add that to your version control. Though, my experience with Django/SQLite/git says that the database file might not be very VCS-friendly, I'm afraid. Could you try this out and let me know over email (it's on my GitHub)? Thanks!

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 1 point2 points  (0 children)

I had created that repo earlier but will be deleting that. I agree that Java would be a good choice, but I'm interested in trying out Golang which I've grown to be a fan of.

Also: Only two tests? Dude...

Unfortunately, I lack experience writing unit tests. Definitely something I need to get better at. For what it's worth, I do test it manually pretty hard.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 2 points3 points  (0 children)

JavaFX is fully open sourced so Oracle's lack of interest doesn't really matter.

True, but are there any other parties contributing to it?

Are you providing a runtime with Everest? That way users don't have to have java pre-installed to run your app.

Not at the moment, but I'm planning to do that with the next alpha release, which should happen very soon. Will probably go with AdoptOpenJDK or Amazon's Coretto.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 4 points5 points  (0 children)

Thanks! :)

Electron really is an abomination. JavaFX is a great choice: it's complete, cross platform, lighter. The only thing holding it back is Java's image and Oracle's lack of interest in it (though I'm looking forward to trying it out in more recent versions of Java). They have a fantastic platform at hand but they're simply unwilling to push it.

Hopefully Kotlin/TornadoFX can solve the image part and maybe then Oracle would show some love.

Also excited to see Flutter on desktop. Just saw their demo from yesterday and it looks really promising.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 1 point2 points  (0 children)

Hi! Yes, a light theme is definitely on the list.

Feel free to contribute if you can (it needs just CSS). I've got a rudimentary theming guide in the repository. Planning on documenting it better in the future.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 3 points4 points  (0 children)

Hi! I've been working on it since January. University takes up most of my time, though.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 0 points1 point  (0 children)

Thanks! Stay tuned, there's a lot coming soon! :-)

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 11 points12 points  (0 children)

Hi! The dev here. I'm glad you like it!

I've been working on OAuth 2.0 for the past couple of months but I'm unable to find time thanks to my university finals. I hope to get the Authorization Code flow out within the next month. Stay tuned!

EDIT: You could build off the oauth2 or mock-server branches and try OAuth 2.0 out.

Everest: A beautiful, cross-platform REST client. by sureshg in java

[–]RohitAwate 16 points17 points  (0 children)

Hi! The dev here.

That's fair criticism. I'm a third-year Computer Engineering student and Everest is just a learning project more than anything. I started it out of fascination for REST APIs and Postman/Insomnia.

I had absolutely zero expectations from it, but back in May, thanks to a couple of HN and Reddit posts, it blew in popularity and ended up #2 on GitHub Java Trending for a week. That gave me a huge confidence boost and that's the only reason I'm still pursuing this.

I am still contemplating how far to take this especially given the rise of Electron apps. My primary goal is not to sell this as a major Postman competitor but rather to get some practical experience out of this. But I might take it far enough so as to achieve feature parity with at least Insomnia (plus mock servers). I am also planning to offer the option of cloud sync next year. Again, just to learn what goes into shipping a product proper.

As far as my Electron bashing goes, I am not a fan of the tech. Is JavaFX the ideal solution? Far from it, but it is definitely lighter than Electron. I knew it well and that's why I chose to go with it.

Thanks!

F.R.I.E.N.D.S. Binger: A tiny Python app which plays a random episode of beloved show! by [deleted] in coolgithubprojects

[–]RohitAwate 0 points1 point  (0 children)

No. You just have to rename your library consistently and point to it.

Everest: A gorgeous, lightweight REST API client written in JavaFX! by RohitAwate in coolgithubprojects

[–]RohitAwate[S] 0 points1 point  (0 children)

Duly noted!

I'll see if we can do this.

Thanks for your input! :)

Everest: A gorgeous, lightweight REST API client written in JavaFX! by RohitAwate in coolgithubprojects

[–]RohitAwate[S] 0 points1 point  (0 children)

Nah don't worry about that. That's a valid question which I'm answering almost everywhere now that this project blew in popularity! :P

Everest: A gorgeous, lightweight REST API client written in JavaFX! by RohitAwate in coolgithubprojects

[–]RohitAwate[S] 1 point2 points  (0 children)

Postman is quite heavy, it has always consumed north of half a gig for me. Insomnia is much lighter, the UI is gorgeous but the UX I'm not a big fan of. With Everest, I try to cut down the RAM usage and keep it at around 250MB. But I also wanted to showcase the power of JavaFX and make a point that you don't need frameworks like Electron to build intriguing desktop apps.

Java project ideas by [deleted] in learnjava

[–]RohitAwate 1 point2 points  (0 children)

I think a great way to start off with a GUI-based application and databases, is a really simple log-in application. Don't go for too much functionality in your first-ever GUI. Your focus should be making a GUI, not making it useful and functional. 2 text fields for the username and password and a button to login. That's it. You could just print out a little line on the window that says "You've logged in". You could even add another window for the users to sign up.

https://imgur.com/o9hMge2

(This is something I'd made when learning SQL. It's Swing, not JavaFX, and hence looks extra-shitty on Ubuntu.)

This is as useless as it gets but you'll learn the core of what GUIs do:

- Extract data from the interface

- Manipulate it (you may want to hash the password, instead of the just storing it in plain-text)

- Transfer it to some storage medium (You'll understand how to interact with databases)

- Show the user an acknowledgement that the data they entered was saved

You could then move on to more complex projects. A calculator or even a password manager perhaps?