Will the real Elm-UI please stand up

I’m new to Elm as of this week. I heard Richard talk about how great Elm-UI is, so I searched and found two of them…

Help?

1 Like

You need the first one. The second one is a different project that stopped working as of Elm 0.19 due to some compiler changes, and is no longer supported.

3 Likes

Ok, noted. I plan to dig into Elm-UI today.

BTW - Is there any more context worth knowing? Like, are the projects related? (It’s weird for two separate projects in the same space to have the exact same name.) Or why the admin of https://elm-ui.netlify.app/ hasn’t updated that page to inform visitors of the situation?

2 Likes

No, they are not related. In Elm, descriptive package names are preferred, so if two packages have similar purpose, they might end up with the same name.

I don’t really know why the page hasn’t been updated.

By the way, you might like to check out my showcase of elm-ui examples.

2 Likes

When searching for Elm 0.19 packages you should use https://package.elm-lang.org/ - the second one doesn’t appear there since it’s not compatible with Elm 0.19.

1 Like

Thanks. I’m catching up slowly, but collecting links as I go to add to my queue.

Actually, while I’m here - what’s the best attempt so far at using Elm w/Electron for desktop apps? My first search pass yielded these candidates:

(GitHub)

  • johnomarkid/elm-electron-webpack
  • mdgriffith/elm-electron-todomvc (forked from evancz/elm-todomvc)
  • nirgn975/Elmctron
  • passiomatic/elm-designer

Based on name recognition, I’m guessing mdgriffith’s project might be the most promising.

(I guess the next logical question in the series would be about Elm on Android/iPhone, but I’m a long ways from that.)

I find Elm and Elm-ui on PC/Android/iPhone is actually pretty straight forward.
You create a minimal native application with a full screen webView and load the Elm PWA website in it. For minimal bloat, stay away from any framework.
You can use native xCode or Android Studio and rust or .NET on PC, and build the wrapper for each target, or use something like react-native so you only need one codebase for your wrapper.

Nowdays, most of what you need is available on web including persistant storage and even bluetooth. But should you need any native functionallity not available, you can set up ports directly between elm and your native code :slight_smile:

Bonus: I have applications like this in both Appstore and google-play. But make sure the application looks and behaves like an app, not a website. Or else Apple might reject it in the appStore.

2 Likes

Hi. Elm and Electron are a nice combination. Prepare to use a a few ports here and there to talk to Electron. :slight_smile:

In Elm Designer I’m using Parcel 1 which is a bit messy to work with. Parcel 2 (in beta) should be better since it targets main and renderer process more clearly in the build phase. I have a separate branch where I’ve tried to do “watch and recompile” using Parcel 2 for both processes and it kind of works, 'cause sometimes Elm compiler hangs indefinitely, while just building it runs fine. So I guess there is still something to tweak in my configuration or in the Parcel <-> Elm integration step.

Maybe I should just switch to Webpack but I cannot stand to read its docs. You listed a few repos and it seems that johnomarkid/elm-electron-webpack explains things nicely. It needs to be updated to latest Elm (e.g.I see elm-package.json instead of elm.json) but other then than it is a nice start.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.