Re: Modeler (modest) ambition
Andrus Adamchik <[email protected]> Sat, 2 May 2026 11:08:45 -0400
| Newsgroups | gmane.comp.java.cayenne.devel |
|---|---|
| Message-ID | <[email protected]> |
Thanks for sharing and I agree. I may try it one day, and maybe I'll change my opinion. Though I am = still not convinced JavaFX is the way to go. So for now using the new = superpowers to clean up the existing code base. Even if we decide to go = JavaFX later, a unified architecture will be a much better starting = point for such a migration. My recent commits flood is the movement towards that goal :) Getting = there, but hitting the 80/20 rule: the last 20% of functionality is = taking 80% of the time, despite Claude. It can do massive refactorings = but when instead of a single pattern, you are dealing with 6-8 = variations for any given problem, it easily goes off the rails.=20 Andrus > On May 2, 2026, at 10:01=E2=80=AFAM, Robert Zeigler = <robert.zeigler-hCtwD0fs3SdWk0Htik3J/[email protected]> wrote: >=20 > I haven=E2=80=99t done Java for a long while=E2=80=A6 and swing is = probably not the best represented in LLM training data these days. But = FWIW, I recently migrated some of our backend services from flask to = fastapi with Claude, and while it wasn=E2=80=99t one-shot=E2=80=A6 it = wasn=E2=80=99t far from it. I=E2=80=99ve also experimented with = migrating some of our tornado-based services to fastapi, and they worked = well, as well despite the frameworks being much more distinct than flask = and fastapi A migration from swing to electron would be more = challenging I think, but migration to JavaFX might be possible, if you = want to ditch swing. Not saying you should=E2=80=A6. Just saying=E2=80=A6 = if you fire up a branch and give it a whirl, you might be surprised with = how far it gets you.=20 >=20 > Robert >=20 > Sent from my iPhone >=20 >> On Apr 26, 2026, at 6:59=E2=80=AFPM, Andrus Adamchik = <[email protected]> wrote: >>=20 >> =EF=BB=BFI can tell one thing... While any serious Modeler work still = requires effort and thinking (Claude or no Claude), fixing minor bugs = that annoyed us for years doesn't. They are just one-shotted from a = single prompt. The whole refactoring that I am currently doing only = helps a human to understand suggested fixes. But the agent can do them = over the dirty code just as efficiently :) >>=20 >>=20 >>> On Apr 24, 2026, at 2:08=E2=80=AFPM, John Huss <[email protected]> = wrote: >>>=20 >>> Sounds great, I love these ideas! >>>=20 >>>> On Mon, Apr 20, 2026 at 9:24=E2=80=AFAM Andrus Adamchik = <[email protected]> wrote: >>>>=20 >>>> So I feel like the advent of agentic coding opens up new = possibilities for >>>> CayenneModeler. While some want you to think you can simply prompt = Claude >>>> to "Rewrite CayenneModeler in JavaFX" (or Electron or JetBrains = Compose >>>> Multiplatform), still with our limited resources, building and = supporting >>>> an entirely new thing is realistically out of reach. >>>>=20 >>>> But I think we can take the current Swing app to a new level by = augmenting >>>> our rusty Swing skills with AI. A few of my experiments adding this = or that >>>> UI piece were mostly successful. A few idea on top of my mind: >>>>=20 >>>> 1. A built-in MCP server for DB Import and CGen. This is to close = the loop >>>> on agentic coding, allowing to use both of these tools from an = agent CLI. >>>> (The MCP idea was what prompted me to look into this to begin with) >>>> 2. Fix table editors UX (selections conflicting with cell editors) >>>> 3. Write unit tests >>>> 4. Modernizing L&F. Not sure how far we can get while staying in = Swing, >>>> but worth a try. Looking at FlatLaf lib, which is a successor of = JGoodies >>>> that we already use >>>> 5. Implement dozens of small usability features (such as showing = currently >>>> selected Obj|DbEntity in tab view headers, etc.) >>>>=20 >>>> My first pass (about 70% done) was not anything visual, but rather >>>> refactoring the existing messy code to rid it of various = architectural >>>> experiments accumulated over the years (such as auto-bindings) and = unifying >>>> the MVC structure to be as close as possible to vanilla Swing. = Ironically, >>>> Claude was not that helpful in this process. It was good old IDE >>>> refactoring, manually going through hundreds of files chasing dead = code and >>>> inconsistencies. >>>>=20 >>>> Anyways, just putting this on the radar. >>>>=20 >>>> Andrus >>=20