[bisq-network/proposals] Develop a fully featured cross-platform graphical user interface to the Bisq network supporting mobile, desktop, and web clients (#342)

nodejsjs notifications at github.com
Thu Sep 30 17:06:08 CEST 2021


Jetbrains is working on a multiplatform UI toolkit called Compose, originally developed by Google for android. Compose by Jetbrains targets desktop and web https://www.jetbrains.com/lp/compose-mpp

> Compose for Desktop targets the JVM, and supports high-performance, hardware-accelerated UI rendering on all major desktop platforms (macOS, Windows, and Linux) by leveraging the powerful native Skia graphics library. Native application distributions can be created with a single click.

I've tried out Compose for desktop and it works super great. Copy-pasting android compose UI code into desktop project worked flawlessly. Building targets for different desktop platforms is literally just one line of code and works fine. Maybe in the future jetbrains might port Compose to ios as well.

One way would be to build a cross-platform (android, linux, mac, web, windows) UI using compose. Have the business logic in kotlin multiplatform (no dependencies on java libs). Use shared c libraries for bitcoin/lightning stuff across platforms including ios. For ios, build the UI in swiftUI and reuse as much of the business logic from shared kotlin multiplatform code.

OR, do the entire thing (ui + business logic) in flutter. Flutter can target mobile, desktop and web too.

The problem with either approach is that we can't use any jvm libraries. If ios wasn't a concern, then I'd have suggested to go full jvm (android + desktop platforms) using google/jetbrains compose for ui and regular kotlin with jvm libs for business logic. Honestly, the current bisq project can slowly be refactored to reach this state. As for ios, the ui could be built with swift and use shared c libs for bitcoin stuff.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/proposals/issues/342#issuecomment-931407532
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20210930/a5cd83ac/attachment-0001.htm>


More information about the bisq-github mailing list