Replies: 3 comments 10 replies
-
[I will let @b5 reply to the roadmap part]
We are not planning any rewrites, the core code will stay in rust and be cross compiled for the target platform. Luckily both Java & Swift (and I think Kotlin, though no experience from me there) have great support for FFI bindings to C, so the iroh libraries can than be exposed using a C based api to those. |
Beta Was this translation helpful? Give feedback.
-
Hey Carl, hope you don't mind me converting this to a discussion. Feels more appropriate to kick off a conversation about who needs what, and in what order. to make sure we're all on the same page, when we talk about iroh mobile we have a little more clarity in terms of definition, iroh mobile is an importable library that provides IPFS functionality in a native app. This sounds obvious, but is different from projects like iroh-share, which are about solving a specific problem using IPFS-type solutions. So the thing we're roadmapping here is "when can I have IPFS in my mobile app?". Hopefully that's what you're after 😄. Plan:Here's how we plan to get there:
We're doing it this way to get the most mileage out of our code possible. Walking the cascade of cloud > laptop > rust library > mobile library means we'll end with a robust, spec compliant codebase that captures the various concerns of different platforms & deployment targets. TimeRight now we're on step three of the above. We'll be constantly refining & testing all parts of this. We haven't started on steps 4 & 5, and don't intend to until Q2 2023. I know this sounds like a long ways off, but we have a lot of work on the internals to accomplish first. Steps 4 & 5 have a smaller surface area than prior steps, but we haven't hired the folks that are actually doing that work yet. These things take time because in other areas we're hard at work designing entirely new data transfer protocols to get IPFS to fit on a phone. So, bottom line, I think the earliest you can expect to see an importable Kotlin, Java, Swift, or Objective-C library for iroh is June 2023. Unless of course, members of the open source community want to jump in, but it's our expectation that we will build, ship & maintain these bits with number 0 staff time. We do have at least one project building on Iroh that has already deployed to mobile: but they've been at this for some time, and have experienced rust engineers on staff: https://github.com/capyloon/ So it's doable, just a very steep learning curve. Our job is to bring that curve down. Hopefully this helps level set expectations around mobile. I'd welcome any feedback & would be happy to answer any questions. |
Beta Was this translation helpful? Give feedback.
-
@b5 @dignifiedquire any updates on the mobile side of things? I'm a kotlin multiplatform developer. Currently I'm building a media library app targeting desktop, web, and ios/android that lets users sync/stream their library to any of their devices no matter what network they're on using the most direct link available. I've done some reading through the docs and Iroh seems like it could quite possibly be the perfect fit with the document system where a user could add all of their devices as an author and sync various metadata between their devices (e.g. number of plays on a song, if the user found a new song they liked on their phone, they just add it and it gets synced/streamed to the rest of their devices, and if one of the user's devices breaks or is lost the rest of the devices will have parity to restore the library). Here's some options I've evaluated libzt - has jvm, android, ios, but missing js/wasm targets. I've also been itching to put some more effort into learning rust and help contribute to some rust projects and am trying to figure out if iroh will be the right fit to start investing some time into. I saw on the docs there is a "coming soon" tag for kotlin and that got me interested. Are you guys planning on providing a full kotlin multiplatform library that targets jvm, js/wasm, native & android environments or are you guys planning to just make jvm bindings available? I'd love to help out in this area, just looking for some direction to get started. |
Beta Was this translation helpful? Give feedback.
-
Do you have a roadmap for the mobile libraries?
Are you planning rewrites in the platforms' specific languages (i.e. Kotlin/Swift) or a port of Iroh via cross-compilation?
I am currently looking at solutions for an upcoming application, and I have explored go-mobile, IPFS Lite, Rust IPFS (until discontinued). I was planning to investigate iroh and was hoping to understand better your roadmap.
Thanks,
Carl
Beta Was this translation helpful? Give feedback.
All reactions