6 ms·
The JetBrains suite (ie IntelliJ, Datagrip etc) while not open source, are a testament to what can be done with JVM based GUI applications. Have you ever used
by bballer 6y ago
The JetBrains suite (ie IntelliJ, Datagrip etc) while not open source, are a testament to what can be done with JVM based GUI applications.
Have you ever used the merge tools? So dang cool.
- scaladev 6y agohttps://github.com/JetBrains/intellij-community https://github.com/JetBrains/intellij-community
- anentropic 6y agoThe JetBrains merge tools are the best ones I've found! I have it configured as my git mergetool The only problem is it takes absolutely ages to start up, which is maybe a JVM thing I wish there was a way to have git pass all of the conflicting files in a merge to the mergetool at once. Instead of having to wait for JetBrains to load up for each individual file and close after each one :(
- chrisseaton 6y ago> I have it configured as my git mergetool How are you doing this? I haven't seen any merge tool, let alone a standalone one, in the JetBrains toolbox. What am I missing?
- cataphract 6y agoYou invoke it with "idea.sh merge <left> <right> <base> <out>". TBH, I don't think it's anything special; I've been using p4merge for years.
- anentropic 6y agoBy the steps here https://stackoverflow.com/a/47712453/202168 https://stackoverflow.com/a/47712453/202168
- thu2111 6y agoJVM apps can start in <100 msec, and IDEA has a 'lite' mode now where it's more like a text editor. That starts very fast. IDEA is slow(ish) to start because it's an IDE so it's loading tons of plugins, a project database etc. Though actually recent versions only take a few seconds on my admittedly high end MacBook.
- anentropic 6y agoI wish I could launch just the diff interface without all those plugins then TBH I never got on with PyCharm and still use Sublime Text... but I keep PyCharm installed just for the mergetool!
- thu2111 6y agoThat's what lite mode is. Check it out!
- CountHackulus 6y agoThere's also some AOT options for the JVM to get a faster startup, along with -Xquickstart. I definitely agree with the "you're loading an entire IDE" statement.
- funcDropShadow 6y agoI do it the other way around, I let git write the default conflicting files. And then switch to IntelliJ, press Ctrl-a and type "resolve", press enter. And voila I am in IntelliJ's git resolution windows where each conflicting file is listed.
- vijaybritto 6y agoMost of the hate towards electron is only because of its resource usage problems and not because of its capabilities. Vscode is it's testament for capabilities. Jetbrains suite is great but they're not resource efficient in any way! If the JVM based apps do not yield a significant performance benefit then there is no point in going after that.
- dathinab 6y agoAnd the DOM, and the size overhead and it's JS/TS and some other parts from dev (i.e. not user) perspective. Through tbh. I don't see much reason to spend time for a Java UI framework, Java for desktop is just kinda annoying and somewhat even more dead then Java for servers (which isn't really dead tbh). Through I guess idea/Intellij would love to replace the low level parts with something which works more reliable.
- vijaybritto 6y agoYeah the reasons for choosing JS/TS don't have to be stated from developers' perspective because its the goto tool for new products nowadays. Also I don't think the desktop app market for java is small in any way. But if there's no difference between electron and JVM UIs then there is no incentive for teams to switch.
- funcDropShadow 6y agoBut what about the teams coming from classical desktop application development. Perhaps they don't want to switch to Electron-based web development.
- levosmetalo 6y agoIt's not only resource usage, but performance in general. I can feel lagging when typing slowly in VSCode editor, even in plain text files without even trying autocomplete or any IDE feature. IntelliJ IDEA doesn't have any lag, Eclipse too, and both offer more IDE capabilities than VSCode.
- 6y ago
- dathinab 6y agoYes, but they are also an example of why people don't like Java UIs. I.e. the amount of UI problems you have with it when using a tiling wm or wayland (or both) are just sad and make it unusable. Other widely used UI's might also have problems but at least are somewhat usable under wayland and/or tiling wm. Ironically many of this problems go back/are rooted in to AWT... In the past Intellij did work if started directly by x (without a wm) which was pretty cool for some very very neach use cases, but sadly (through reasonably) this isn't the case anymore.
- wtetzner 6y agoJust out of curiosity, what issues do you run into using them in a tiling WM?
- dathinab 6y agoContext menues not being at the right position, directly closing after opening (so fast that you can't really see it) as well as menu items sometimes not being selectable. Especially the quick command/search menues doesn't work at all and context menues sometimes don't work either. (Edit: And context/popup menues not working is the main theme of problems with Java GUIs, hence my parent post, also setting the "magic" no-reparenting env variable doesn't fix it)
- _bin 6y agoI can second these issues using i3 and arch. I've had subtle issues like these in Ghidra and when I once tried Armitage (I wanted the Hail Mary feature), it was so messy I've never used it since.
- fnord123 6y agoSkija (the graphics library in TFA) is in the JetBrains organiation... https://github.com/JetBrains/skija/ https://github.com/JetBrains/skija/
- orybak 6y agoIDEA Community edition is opensource: https://github.com/JetBrains/intellij-community https://github.com/JetBrains/intellij-community
- ubercow13 6y agoIDEA still has a horrible GUI in my opinion. All sorts of weird subtle bugs relating to the very fundamental UI interactions that make the whole experience very frustrating. The main one I remember is that certain buttons in the UI are simply unreliable - depending on what processing is going on (sometimes if nothing heavy is being processed), certain buttons in the UI will not respond when clicked. I used IDEA for years and very often had to click a button 4-5 times until it would activate, especially while using the debugger. If the UI toolkit can't get a button right, it is completely broken IMO. Even including intelliJ products, I have never used a Java GUI which was good.
- whizzter 6y agoSounds more like an IDEA bug rather than a Swing bug. I've implemented an editing tool (realtime video generation parameter editing w/ feedback from the generator) that really has a lot of issues. Part of them because i didn't fully understand Swing when i began the project and partly because synchronizing GUI's to another live process is a quite error prone task. A debugger process is almost certainly not living in the same thread as the Swing UI of IDEA so this almost surely more of a thread synchroniztion issue rather than Swing issue. (You really don't watch to do any cross-thread touching with Swing apart from for a very limited set of components built for this).
- ubercow13 6y agoYes it's certainly something to do with threads. Still the way it manifests is weird. For example sometimes in apps like Chrome or Firefox the tab bar will freeze momentarily while the UI is hung waiting for something, however if you click something like a tab close button during this period your click will be processed once the UI un-hangs. In intelliJ it was like whenever the UI was not immediately responding to mouse events, it would often just lose the event instead of it being correctly processed once the UI thread was freed up.
- whizzter 6y agoChrome/FF in this case has an UI thread that becomes unresponsive for whatever reason and doesn't empty it's message-queue (that contains the mouse/keyboard/etc events). In the case of IntelliJ there is probably some of their code accepting the event and then probably has some ad-hoc message passing by setting a field that is polled by the receiver thread under the assumption that the receiver always runs faster than a human can act, however as soon as that assumption is broken by some pause you get what you describe.
- maynman 6y agoI use IntelliJ for work every day and I agree, so many of its features make work so much better.