Re: UI toolkit for the future Modeler

Michael Gentry <[email protected]>
Newsgroups gmane.comp.java.cayenne.devel
Message-ID <CAOy5kzNHRk_Q59JwkiCE+cyoyH1tgEknjajg=ytb-dMCRn2e=g@mail.gmail.com>
I thought about a web app (non-Electron) in the past, too, and it just
seemed even clunkier. For example, I would really like the ability to have
the same model open in multiple windows, so I could see different parts at
the same time. Doing that in a browser window would be awkward at best and
hard to sync changes between windows. Plus, how do you really launch the
app? Command-line only? Shell scripts? On the Mac especially, you'd not
have the custom menus or app icons.

JavaFX + Scene Builder to edit the FXML still seems the "sane" option to
me. Not that there is a lot of sanity. Java gave up on the desktop a long
time ago. Kind of sad because Sun worked with NeXT in creating OpenStep and
could've made Java's UI OpenStep-based, instead of AWT and then Swing. In
some ways, OpenStep is still alive in macOS and iOS. And UI apps in Java
leave us wanting.

mrg

PS. I'm using Spring + Thymeleaf at work currently and I REALLY miss
Tapestry.


On Tue, Dec 14, 2021 at 8:24 PM Lon Varscsak <[email protected]> wrote:

> I've thought about this before for apps...what if the app runs a web app
> (using whatever stack Andrus decides...maybe Tapestry) as the backend.  I
> don't know if that's possible.
>
> Also, on JavaFX...I wrote an app in it recently and it's decent. It still
> seems to be alive via openjfx.io, but I could be wrong.
>
> On Tue, Dec 14, 2021 at 5:49 PM Michael Gentry <[email protected]>
> wrote:
>
> > I've considered an Electron app in the past. One negative is you lose
> > access to existing Java code, but perhaps there is a way around this I've
> > not seen.
> >
> > Examples:
> > - Existing code to read model XML files.
> > - JDBC drivers.
> > - Velocity (assuming we want to continue using Velocity templates).
> >
> > For anyone curious, I thought JavaFX was looking good before I lost
> > momentum:
> >
> > https://github.com/apache/cayenne-modeler
> >
> > If you look carefully, you'll see some of the extra features in the
> > screenshots I was planning on adding, plus multiple windows (same project
> > or different projects) in the video.
> >
> >
> > On Tue, Dec 14, 2021 at 6:58 PM Lon Varscsak <[email protected]>
> > wrote:
> >
> > > What about an Electron app? 😬
> > >
> > > On Tue, Dec 14, 2021 at 3:59 PM John Huss <[email protected]> wrote:
> > >
> > > > My 2 cents is that Java desktop UI is effectively dead. So switching
> to
> > > > another UI library that is either already dead or is dying isn't a
> > great
> > > > use of time. So I would try to change it as little as possible.
> > > >
> > > > For the tables with editable cells problem, my recommendation would
> be
> > to
> > > > move editing into a separate "inspector" area that is laid out as a
> > > > vertical form. Then the table can be read-only.
> > > >
> > > > For layout, I liked MigLayout when I did Swing apps back in the day.
> > But
> > > > that doesn't solve the problem with the existing usage of JGoodies.
> > > >
> > > >
> > > > On Tue, Dec 14, 2021 at 12:37 AM Andrus Adamchik <
> [email protected]>
> > > > wrote:
> > > >
> > > > > I see a couple of problems with the current UI (beside it being
> > > > > subjectively old) :
> > > > >
> > > > > * We are effectively blocked from any significant evolution of the
> > > > > Modeler. Any time we want to do anything fancy (e.g. improve
> > usability
> > > of
> > > > > tables with editable cells, etc.), we quickly run into the wall
> with
> > > > Swing
> > > > > capabilities.
> > > > > * JGoodies library that we depend heavily upon for layouts is no
> > longer
> > > > > free/open source [1], creating risks for JVM upgrades.
> > > > >
> > > > > So modernization of the Modeler is a practical matter.
> > > > >
> > > > > Looks like Fleet is not using Compose [2], but a lesser known
> > JetBrains
> > > > > Toolbox does [3]. And everyone admits it is still raw.
> > > > >
> > > > > Andrus
> > > > >
> > > > > [1] https://www.jgoodies.com/downloads/libraries/
> > > > > [2] https://twitter.com/jetbrains/status/1465245360973131777 <
> > > > > https://twitter.com/jetbrains/status/1465245360973131777>
> > > > > [3]
> > > > >
> > > >
> > >
> >
> https://blog.jetbrains.com/kotlin/2021/08/compose-multiplatform-goes-alpha/#toolbox
> > > > > <
> > > > >
> > > >
> > >
> >
> https://blog.jetbrains.com/kotlin/2021/08/compose-multiplatform-goes-alpha/#toolbox
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > > On Dec 14, 2021, at 12:48 AM, John Huss <[email protected]>
> > wrote:
> > > > > >
> > > > > > I believe that compose UI library is used to build the new
> upcoming
> > > IDE
> > > > > > from JetBrains called Fleet. So I expect it will continue to be
> > > > supported
> > > > > > unless that product completely flops.
> > > > > >
> > > > > > I don't mind the current modeler UI. It's good enough for me.
> > > > > >
> > > > > > https://www.jetbrains.com/fleet/
> > > > > >
> > > > > >
> > > > > > On Sat, Dec 11, 2021 at 2:15 AM Andrus Adamchik <
> > [email protected]
> > > >
> > > > > wrote:
> > > > > >
> > > > > >> A datapoint to our perennial discussion of technology to use for
> > the
> > > > > >> future CayenneModeler... With Swing being old and crusty, and
> > JavaFX
> > > > no
> > > > > >> longer supported by Oracle, perhaps we should be looking for
> > > something
> > > > > >> fresh. I just came across a new "Compose Multiplatform" desktop
> UI
> > > > > >> framework by JetBrains [1]. It is programmed in Kotlin and is
> > based
> > > on
> > > > > >> Google toolkit for Android. Their GitHub examples [2] are not
> that
> > > > > visually
> > > > > >> impressive, but I would imagine it is a matter of styling. A
> > > million $
> > > > > >> question is whether it will be around and open source in 10-15
> > > years.
> > > > > >>
> > > > > >> Anyone knows anything about it?
> > > > > >>
> > > > > >> Andrus
> > > > > >>
> > > > > >> [1] https://www.jetbrains.com/lp/compose-mpp/
> > > > > >> [2]
> > > > > >>
> > > > >
> > > >
> > >
> >
> https://github.com/JetBrains/compose-jb/blob/master/artwork/readme/apps.png
> > > > > >>
> > > > > >>
> > > > > >>
> > > > >
> > > > >
> > > >
> > >
> >
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.