Skip to content

PassiveLogic SwiftWasm Open Source Contributions #1

Open
@scottmarchant

Description

@scottmarchant

Who is PassiveLogic?

PassiveLogic is a company creating autonomous building control solutions to pave the way for a new generation of high-efficiency building technology.

We ❤ Swift!

What is PassiveLogic doing?

We're actively working to use our existing Swift codebase in our web apps, using SwiftWasm.

To enable using SwiftWasm with large-scale web apps, we're contributing support for SwiftWasm to a wide range of open source repositories. These contributions work together to enable common web app functionality, such as connecting to servers using websockets, making HTTP requests, creating SQLite databases, and much more.

Active Contributions

Following are active contributions to enable using swift for large-scale web apps. This is a working list, and will be updated over time.

DispatchAsync

A new lite drop-in replacement of GCD, implemented using SwiftConcurrency. GCD is not currently included in the SwiftWasm toolchain. DispatchAsync enables compiling Swift code that uses GCD, but using a Swift Concurrency backing instead of the unsupported GCD library.

  • Create working proof of concept private using our own codebase to dog-food the concept.
  • Create initial open source repository (in progress). This repository will be a temporary stepping stone towards hopeful integration in libDispatch or some other place in the Swift toolchain that enables import Dispatch in SwiftWasm builds.
  • Migrate DispatchAsync into SwiftWasm toolchain

DataLoader

sql-kit

swift-distributed-tracing

async-kit

  • Private in-house wasm proof of concept
  • Create PR to enable compiling to wasm
  • Create PR to add wasm compilation into CI

swift-metrics

  • Private in-house wasm proof of concept
  • Create PR to enable compiling to wasm
  • Create PR to add wasm compilation into CI

swift-nio

sqlite-kit

  • Private in-house wasm proof of concept
  • Create PR to enable compiling to wasm
  • Create PR to add wasm compilation into CI

sqlite-nio

  • Private in-house wasm proof of concept
  • Create PR to enable compiling to wasm
  • Create PR to add wasm compilation into CI

RxSwift

NOTE: RxSwift is a very difficult dependency to compile to wasm, due to extensive GCD usage. We have a proof of concept working, but may opt to elide this dependency instead.

  • Private in-house wasm proof of concept
  • Create PR to enable compiling to wasm
  • Create PR to add wasm compilation into CI

Past Contributions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions