pmjoe

pmjoe

Could users get the actual Elixir code from LiveView Native?

Elixir is a dynamic language, given that LiveView Native applications are built with it and shipped to the clients would the clients get access to all source code easily?

Most Liked

victorbjorklund

victorbjorklund

No, they can’t. Liveview Native is two parts. The Swift client (or android client in a latter stage) and the server.

  1. Can they get the Swift code that is shipped to the client? Yes, in theory they can decode it by reverse engineer it (which you can do with any app). However, there isn’t much for them to find there compared to a “normal” swift app since it will mostly be boilerplate code for the client (which they can find on Liveview Natives Github).

  2. Can they get the Elixir code on the server? Not unless you have any vulnerabilities in the code or on the server that gives them remote access (and then they can still only access the compiled BEAM files). But that can happen with any backend.

So in summary, Liveview Native is probably “more” secure against reverse engineering than a normal Swift app.

rcm765

rcm765

We haven’t yet tried but we’re speculating that we could build a Swift client shipped with a Phoenix LV server compiled into it. This would allow for offline mode, low connectivity mode. However, to the best of my knowledge the Phoenix app would still be compiled and you’d be talking about the same issue of having decompile any natively built app. Elixir doesn’t run as a script, you’d only be getting the binary.

tme_317

tme_317

It would be really :fire: if LVN could support offline maybe using a similar approach as elixir-desktop · GitHub. At least the part about bundling the ERTS, Elixir, and Phx/LV server into a runtime binary with local sqlite database installed on the mobile device. I was really impressed it actually worked great when I tested it on iOS!

I guess a lot of complexity would be if local data needs to be synchronized with a server when going back online? I haven’t researched it but maybe that’s a “solved problem” nowadays??

At work I’ve had early discussions about maybe writing a pretty simple internal mobile app which would have to stay reliable in offline network conditions and really don’t want to have to learn Swift or use RN. The small app would likely just take a couple days if I could use LVN!

Where Next?

Popular in Questions Top

mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
JulienCorb
I am trying to implement my new.html.eex file to create new posts on my website. new.html.eex: <h1>Create Post</h1> <%= ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New

Other popular topics Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 53690 245
New
Nvim
Anybody knows a comprehensive comparison of Django and Phoenix, thanks for the help. Where are they similar? Where do they differ the m...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39297 209
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New

We're in Beta

About us Mission Statement