Easel Turns One One year of building my own IDE in Clojure

(blog.phronemophobic.com)

129 points | by todsacerdoti 5 days ago

6 comments

  • oxalorg 5 hours ago
    This sounds very close to my dream IDE, I've always wanted to build a smalltalk + emacs like editor/ide in Clojure but never got around to it.

    I wanted to try Easel but there were no instructions how. This is how I got it running:

      git clone git@github.com:phronmophobic/easel.git
      clj -X:deps prep
      clj
      # now in repl
      => ((requiring-resolve 'com.phronemophobic.easel/run))
  • Pelayu 4 hours ago
    Amazing project!

    >While the JVM solves lots of hard problems, it has one major weakness, the UI libraries provided by the JVM (Swing and JavaFX) are clunky and dated.

    I also feel this; it's what puts me off writing GUI apps in Clojure. I have hope that natively compiled Clojure implementations like Jank that could interact with C or C++ libraries could help with this.

    • geokon 3 hours ago
      what specifically did you have issues with?

      i made a GUI with cljfx which uses JavaFX and I didnt really hit any issues (save for i have one bug on startup that ive had trouble ironing out). The app is snappy and feels as native as anything else

      Ended with a very modular functional GUI program

      the only thing i wasnt super happy about is that i couldnt package it as a simple .bin/.exe bc the jpackage system forces you into making an installer/application (its been a few years since, so its possible theres a graal native solution now)

      i highly recommend cljfx. Its the opposite of clunky

    • nha1 2 hours ago
      Same. I wish Webview would work with GraalVM native compilation.
  • bobajeff 2 hours ago
    Awesome work! I like the idea of being able to quickly make little tools in your IDE.

    Coincidentally, lately I have been thinking of making an IDE using something like Theia or CodeMirror but am holding off because of time for my other projects.

  • hresvelgr 1 hour ago
    This is really cool, but begs the question: is the ideal IDE actually just a window manager with strong component coupling?
    • kami23 1 hour ago
      This is what I keep coming back to when I am building a little tui manager for my coding assistants + terminal + git worktree manager.

      I keep telling myself that if everyone just used tmux or a good emulator they could manage the tabs and layouts, but then I tell myself I just want this to be a tiling window manager as an distraction free OS for development, give me nothing but a terminal and an assistant.

      Thanks for the write up OP, I've been going back and forth on whether or not I want to build something just for myself or spend time doing it for potentially other use cases. I keep coming back to that I need to dog food the shit out of this before I show it to anyone.

  • mrcwinn 1 hour ago
    Excellent work. Now please partner with a software-focused UI/UX designer. To make a great product it takes a village.
  • sroerick 4 days ago
    Hey, this is absolutely amazing