Any Plans for Swift integration

Hey guys,

I am wondering if there are any plans fro Swift. So we can use it in native iOS app development
Or what would be workarounds at this point ?

Thank you

Hey @artpen, to be honest, I didn’t expect this one! Depending on the complexity of the app you’d want to build, you could try to use some .NET native cross platform solutions, like

It’s unlikely you’d see a Swift SDK any time soon, as it’s quite a niche language (when it comes to AEC)!

Electron, even if bloated and some love to hate it, is also a good alternative for cross platform dev - and you’d have access to pretty much all the legwork we’ve done so far on the frontend. Alternatively, you can even go down the browser-only route.

@Jedd was doing some work on Unity Android builds, but I’m sure there’s some gotchas re iOS - afaik, dynamically loading assemblies is not allowed, and the workaround is a PITA.

If you’ll tell us what you’re trying to build, we can try to be more helpful!

Hi @dimitrie ,

I am building this one :slight_smile: www.the brief.space
Most of it is now transferred to Swift and SwiftUI. For 3D I am using SceneKit.

My plan was to use Speckle as a realtime interoperability feature so I can sync geometry and data with Excel, Rhino and so on.

I thought to start building my own connector. C# sounds good as I know how to use it.
Need to find a way to make it work with Swift though.

Maybe there is a way to wrap C# SDK ?
Similar to this

1 Like

I’m facing a similiar challenge here. Our office has built a pretty comprehensive architecture of ios app in swift and we currently use Firebase as our back end. I’m very new to Speckle and just went through all the cool features on interoperability and data organization and feel that it can be a significant upgrade to our existing file-based data workflow. Since we don’t want to rewrite the whole software, it would be nice if there can be a connector between Speckle and swift…Or maybe we’re going to create one :smile:

3 Likes

That would be amazing! I see that there are several native GraphQL clients for Swift, such as this one - this would allow easy access to a users’s streams, etc. and basically a native light “frontend” for the server.

The difficult parts - which I’d still have questions in my head about - are mostly on serialisation, deserialisation, conversion - do we need Kits in Swift? - and displaying things in 3D…

Thanks for your kind reply.

Our app uses firebase ios sdk to stream between backend and app. It gives us control on account management and stores 3d model files and project documents.

Apple provides a document on serialize and deserialize instances. We did not use that as for now but it seems convenient
https://developer.apple.com/documentation/swift/encoding-decoding-and-serialization

In terms of viewing 3d geometry, currently we’re loading collada .dae file into .scn so that the SceneKit reads the native geometry. However in recent years Apple are strongly promoting for developers to work with USD. That’s the focal point we’re working on in our latest development.

https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar

I’ve been working on to create a USDZ connector in Revit and found that the data organization in USD is very hierarchical and clear. Maybe it can be aligned to the idea in Speckle? And it’s also possible to sync data in USD, as Nvidia Omniverse Nucleus has demonstrated

It seems more realistic for us to write a Transport to send Speckle data to Fiirebase Realtime Database. And then after deserializing the data in frontend I can assemble them in a .sci / .usdz format for ios to read. What do you think is the easiest way to integrate Speckle to our current workflow?Still new to Speckle so correct me if I’m wrong on any concept about it.

Are you able to attend today’s community standup?

Hey Jockyhuang,
It is very interesting what you are doing!
May I ask for your contacts, want to know more how and why are using Swift in Architectural practice.

Cheers