[HN Gopher] Elixir - Phoenix LiveView Native
___________________________________________________________________
Elixir - Phoenix LiveView Native
Author : lefrenchy
Score : 49 points
Date : 2022-09-02 19:11 UTC (3 hours ago)
(HTM) web link (native.live)
(TXT) w3m dump (native.live)
| bsaul wrote:
| I'm having a super hard time understanding why you'd want a
| _native_ app require 100% connectivity.
|
| When the app feels like (or is) a web app, then at least the user
| understands intuitively that nothing is going to survive
| connection loss. However with a native feel, seeing the app
| freeze and navigation become disabled is going to feel completely
| wrong..
|
| Did i miss something ??
| Existenceblinks wrote:
| I _guess_ that Phoenix LiveView is going to blow B2B apps up at
| some point. I 'm thinking of ATM / smart vending machine /
| smart ads board. Yes, those that are 100% internet connected.
| cercatrova wrote:
| Yes, this feels like the exact opposite of an offline-first
| approach that many tout as being useful for applications in
| general.
| querulous wrote:
| you can run the phoenix app locally, i guess?
| capableweb wrote:
| My assumption was that you ship the server software together
| with the desktop software, maybe could even be one file. So
| running the binary runs the server + open the UI, shutting
| everything down when the UI closes.
|
| You can do something similar with Tauri in Rust, so you get a
| desktop application communicating via local http in just one
| binary.
| yewenjie wrote:
| I sincerely hope this will be open source. Otherwise it'll just
| be another niche thing like various cool things in smaller
| languages.
| ch4s3 wrote:
| It is open source https://github.com/liveviewnative
| veg wrote:
| Have led multiple teams on Elixir projects across a few
| companies. And while I still love the projects, the community
| just isn't there anymore.
|
| I hope this project sparks some renewed interest in Elixir!
|
| (That said, the linked site has basically zero information or
| examples)
| bmhin wrote:
| Elixir was one of the few languages I saw in companies (albeit,
| infrequently) that wasn't like Java, C#, Python, or JS (Scala
| here and there). Was always curious about it as perhaps
| something that could be reasonably pitched as having some
| nominal uptake.
|
| Pure anecdata there also. Literally just ones I have personally
| seen on clients or heard about from coworkers.
| ch4s3 wrote:
| We use it at a large company and employ almost 60 people
| writing it. It's been great so far. The talent pool is really
| good and it's easy to teach to junior devs.
| ipnon wrote:
| The community seems stronger than ever. What was your
| experience of its fading away like? Projects like this don't
| give the impression of a language falling by the wayside.
| People tend to fall in love with Elixir. You never forget
| falling in love.
| ianbutler wrote:
| I'd be curious what gave you this impression?
| ch4s3 wrote:
| That hasn't been my experience at all. ElixirConf was well
| attended this year and regional conferences are coming back.
| The Slack is active. Most of the podcasts are still running.
| Existenceblinks wrote:
| What drives great web framework is a culture of making product.
| RoR and PHP based frameworks have massive product makers, thus
| it drives forces into libraries made for variety of products.
|
| Elixir's culture is engineering-ish. So you will see decent
| libs that deal with weird mechanism stuff, but lack of vibe and
| forces driven from business needs.
| 71a54xd wrote:
| Any example projects / code?
| vineyardmike wrote:
| One thing that isn't clear - does the elixir runtime (OTP) run on
| the iOS device?
|
| It looks like a well integrated web view, but it's not clear if
| it's all running on device. Does apple support a web page not
| loaded from local?
| olivermuty wrote:
| They jumped the gun a bit with the page, but what I have been
| able to piece together so far is that they renamed the WASM
| runtime from Lumen to FireFly and FireFly is what powers this
| through WASM.
|
| So OTP is running natively on the phone.
|
| This is essentially React Native reinvented with Elixir, which
| to me is pretty awesome because I really dislike React Native
| although we have done quite a few projects with it :)
|
| Edit: Totally mistaken, I stand corrected! Turns out I jumped
| the gun instead. Hopefully FireFly and this CAN give me the RN
| replacement I desire.
| ricketycricket wrote:
| It is not on the phone, no. I'm sure eventually you could run
| it on the phone like Elixir Desktop[1], but that isn't what
| it is at the moment. The phone connects to the server via a
| websocket and the SwiftUI "DOM" is pushed to the client just
| like HTML would be. In fact, I already built a hybrid Web &
| Native demo[2] that demonstrates that it's just bog-standard
| LiveView.
|
| [1] https://github.com/elixir-desktop/desktop
|
| [2] https://natetodd.com/building-for-web-and-native-with-
| livevi...
| lefrenchy wrote:
| If it's anything like Phoenix, it's just websocket based on the
| client (iOS device in this case) which has a DOM diffing
| mechanism to patch in updates from the Elixir backend.
|
| Short answer: no the client side is not elixir I suspect.
| [deleted]
| oomkiller wrote:
| There's no WASM involved and the BEAM is not running on the
| device. It works like LiveView, except instead of an HTML DOM
| you have a SwiftUI hierarchy. The client side of LiveView is a
| SwiftUI view itself, you can use many standard SwiftUI views,
| and also add your own custom ones for when you need something
| bespoke. It can be the whole app or just part of one.
| pawelduda wrote:
| Any additional info? The linked website is just a teaser.
| atonse wrote:
| If this is like react native except where most of the logic is
| server-side (but sends down some kind of native DOM that gets
| rendered natively), I'm sold.
|
| This seems to be a more detailed link:
| https://dockyard.com/blog/2022/09/01/dockyard-r-d-build-elix...
| ricketycricket wrote:
| Yes, that is what it is.
___________________________________________________________________
(page generated 2022-09-02 23:00 UTC)