To begin with, I’m a very happy Clojurian, but not when I’m working with interops. I’m using Google apis extensively for some features in my product; and so far the experience has been quite awful. I’ve been contemplating it for a while and here are my pain points.
- It is hard to look up for what method a java object supports.
- It is hard to understand the inheritance and polymorphism designs without actually looking at the java codes.
- 1,2 are amplified all the more because I’m using calva with vscode. The IDE’s java support is not as good as that of intellij.
How do you work with interops in general? I welcome any tips/advices/know-hows.
IntelliJ is primary along with Vim plugin, clj-kondo and paredit for retaining some sanity while editing. There is some jankiness with clj-kondo but all in all I would say the REPL integration is on par with emacs. Never had the patience to set up vim or dabble with neovim when IntelliJ has it all out of the box.
IntelliJ even supports prefix key bindings now which allow binding repl functions and custom keybindings behind a prefix key.
For example as `ctrl-x` follow by `e` sends the last expression to the repl.