-
Notifications
You must be signed in to change notification settings - Fork 3
Mobile wallet #6
Comments
Most of the team are already familiar with react, so let's go with react native.
I propose to go for cross-compilation. Try for iOS and Android but if we have troubles on iOS drop it because it was mentioned it is easier for us to develop for Android by @klochowicz and @da-kami .
Good question, we could build a simple polling process, which polls a backend every now and then (e.g. regular, on a certain action, or a mix of both). |
I've got some questions about react native:
my personal preference for the framework would be flutter (https://docs.flutter.dev/), as this seems as the fastest way to develop a compelling UI and it's straightforward to bind it to Rust (see: https://github.com/fzyzcjy/flutter_rust_bridge). |
I personally have no experience but I found a blog post about someone building an ethereum wallet with rust and react native which is very close to what we need
I think compiling to native is the preferred way to build for mobile. Particularly if we want to sign 100s of transactions we will appreciate the performance.
Afaik chakra can't be used in react native but we can reuse our components.
I'm against flutter because it is a
We have no experience with neither. |
that project went only until setup & "Hello World" stage (!), this does not instil much confidence. It also needed to interact with JNI on android, and suggested creating custom Java bindings yourself.
They seem quite straightforward; it's just declaring a widget tree and hooking up Rust functions. I would expect much, much less pain in the dev process thanks to the lack of virtual DOM, hooks etc. |
There is a part 2 of this blog post and here is the parity signer which was written in react native and rust and then moved to native iOS and native Android as it looks like. But maybe React Native + Rust is not the best call afterall. Any other thoughts @holzeis / @da-kami / @luckysori? |
Well, any combination where we are cross compiling from rust to android and bridging it will introduce some complexities. I can't judge if this will only be a one time hassle or will follow us along the project. I feel like the easiest way would be to stay completely within TS, yet it does not look like there are many options for that. From a quick google the preferred way seems to build the wallet in rust and bridge to the respective platforms. I can't say if flutter is better than react or the other way around. On the one hand I do agree with @bonomat arguments on the team skills, which rather speaks for react than for flutter. On the other hand, though, I don't think we should bother too much with that as I am sure the team will pick up the new framework very quickly. I suggest we make quick prototypes with both frameworks and then go with the framework offering the best dev experience. |
@bonomat @klochowicz Lets continue the mobile tech stack discussion here #5 |
I am closing this ticket as the discussion has already moved on. |
Mobile wallet
Goal: Develop a mobile lightning wallet which offers non-custodial financial products based on bitcoin. The first financial product will be CFD trading.
Open Decisions
The text was updated successfully, but these errors were encountered: