We went dark for a bit because efforts were focused entirely on Core integration.
For those unaware, we decided to extract out all common functionality that would allow anyone else to build a LiveView Native client, rewrite it in Rust, and integrate into the SwiftUI client and the Jetpack Compose client.
As of today, I’m happy to announce that PR has been merged into the SwiftUI client.
This unblocks us on many fronts. We’ll be able to extract some of the non-standard SwiftUI views that were convenient for form building/submission into their own libraries. This allows us to keep the SwiftUI client as close to a 1:1 parity with SwiftUI itself.
Our design goal is to point people to the SwiftUI documentation. If there is a SwiftUI view component in the SwiftUI docs, then that view component should be similarly named in the LiveView Native client. All functionality that goes above and beyond what SwiftUI provides directly will be in its own library.
This was a very large undertaking. Paul Schoenfelder wrote the Core library that included a reproduction of LiveView client in Rust. Channels is not yet ready to be extracted out but that effort is underway and is headed up by Elle Imoff. The vast majority of the work on migrating the SwiftUI Client to Core was completed by Anil Korde and the Jetpack Compose client has been making progress thanks to Kashif Mehmood. Also joining the team recently is Carson Katri and he’s been working his way through many of the SwiftUI view components.
Our progress and updates should be more regular. This has been a multi-month effort. We’re doing this with fractional time and can use all the help we can get. If you have an interest in contributing to this project we have a working punch list of SwiftUI components, corresponding issues, and original documentation that can help point you to where contributions will be best suited. We hope to have a similar list for Jetpack Compose in the upcoming weeks so if you’re more familiar with that ecosystem that would be great to get help there too.
In Elixir-land there has been progress on a few of our Elixir libs (1, 2, 3) that will help integrate LiveView Native into your app. May Matyi has been able to contribute her 20% DockYard time to this effort.
In the near future, we should be able to get those libraries stabilized and start to work on documentation. In the meantime if you’re curious how we’re using them May has a Scratchboard Phoenix app she’s been developing against and should provide some direction on usage.
We are also hiring for a Developer Advocate that will be tasked, in part, with providing more regular updates around this project to the community. If this is a role of interest to you please consider applying.