How many layers can we do!! I’m guessing elixir to JavaScript to v8 or whatever the js vm was called in chrome. Then jit then binary. Communicating over a network or one of those chrome sockets to an elixir or erlang vm so someone else can manage your data. Life is good
Not quite, this is just your standard server side rendering for providing a convenient GUI alongside your erlang vm. There's no layering here, just bundling of things that are usually distributed separately (editor and vm).
Elixir Livebook now as a desktop app
31–40 of 111 posts
Re: Elixir Livebook now as a desktop app
#32Earlier quoted context omitted.
I just installed it and it actually doesn't use Electron. It's basically just a local web server that runs on your computer, and opens a browser tab in your default browser pointing to http://localhost:60904/
On macOS this is a great app for turning browser web apps like these into dedicated 'apps': https://www.bzgapps.com/unite I use it with YNAB
Re: Elixir Livebook now as a desktop app
#33The Elixir ecosystem is growing incredibly well. I am impressed both from an engineering and a product perspective. It shows that they are playing the long game. I think they are achieving what I wished happen to the Clojure ecosystem: productive, well designed, respected and popular. Clojure missed the last step, unfortunately.
Re: Elixir Livebook now as a desktop app
#34Re: Elixir Livebook now as a desktop app
#35not sure what the livebook is--the landing page is not sufficiently clear or coherent.
The difference between features and benefits. It's good at telling you the features (what it does) but not so much the benefits (why you would use it, how it can help you).
A common issue, but more understandable in this case than most as your average visitor to the Livebook site will likely know they have a need for it already, rather than end up there based on a 'random' link (like this thread).
Re: Elixir Livebook now as a desktop app
#36This is awesome! Starting it up from the terminal and going to the url was not super convenient for quick tasks and scripts, this is much better. Edit: one thing that would make it even nicer is if it would remember the folder and/or recently opened notebooks.
Re: Elixir Livebook now as a desktop app
#37I’d be interested to see the details of how they did that. Very cool!
You can have a look at the code: https://GitHub.com/livebook-dev/livebook/tree/main/app_bundl...
Having a script that opens a web browser pages is simple enough, but the extra sugar on top to wrap in an app bundle that shows up in your task bar or dock is something I am very curious about.
EDIT: Someone further down the thread linked to a more specific place and that led me to the macos.ex file[1] (which is what I was most interested in, being on macOS myself.
It looks like at least in the case of macOS it will build the bundle by hand, template in enough swift code to build the application, sign and notarize a bundle, and add the compiled elixir program in there. Pretty interesting. I guess the idea is that you write just enough swift to manage the life cycle of the compiled elixir application. It's an interesting approach but it seems like it would be frustrating and fragile.
[1]: https://github.com/livebook-dev/livebook/blob/355527f7e8034e...
Re: Elixir Livebook now as a desktop app
#38Was excited for this. However on my M1 mac, it launched once, and now it won't open. Tried killing all processes and now nothing.
Re: Elixir Livebook now as a desktop app
#39The Elixir ecosystem is growing incredibly well. I am impressed both from an engineering and a product perspective. It shows that they are playing the long game. I think they are achieving what I wished happen to the Clojure ecosystem: productive, well designed, respected and popular. Clojure missed the last step, unfortunately.
Because of the Java ecosystem, in Clojure you are in much more advantageous position than with Elixir.
Re: Elixir Livebook now as a desktop app
#40Earlier quoted context omitted.
Is this required in some OS and not another? A comment in this thread claims it just uses a browser tab.
It's used for the desktop app, as you can see here[1]. [1] https://github.com/livebook-dev/livebook/blob/355527f7e8034e...
I just looked at the macOS part, but the tl;dr for that is they seem to have compiled the elixir program into a binary and wrote enough swift to manage the lifecycle of the elixir program and signed it and notarized it and prepared it for shipment using CLI via shell! invocations. I didn't look at the windows way of doing things but I imagine it's similar.