[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)