Code Monkey home page Code Monkey logo

Comments (4)

broadwaylamb avatar broadwaylamb commented on May 18, 2024

Hi @ilijapuaca!

projects such as this one are only there to bridge the gap and allow us to use frameworks of the future today

Not really, the first goal I had in mind when starting this project was to provide a compatible implementation for Linux so it could be used in server-side Swift development.

having those devices run Combine instead would (almost surely) be a performance gain

Being able to leverage Apple's Combine whenever it is available would indeed be great, but the thing is that clients who link against the latest SDK (which includes Combine, hence canImport(Combine) evaluates to true) but back-deploy to older OS versions without Combine are forced by the compiler to perform runtime checks like if #available(iOS 13.0) to actually use any of those Combine APIs. Conditional compilation that you propose to use is simply not enough.

On a side-note, is there Slack organization or anything alike set up somewhere? It could be helpful seeing that many things are still up in the air, and discussing those there could likely be more efficient and keep issue list clean(er).

No, there's no Slack organization. There has been no need, since there are only two active contributors right now. We use GitHub Projects to track development.

from opencombine.

spadafiva avatar spadafiva commented on May 18, 2024

I think it would be useful to have a slack channel. I'm currently on the ios-developers.io slack as spadafiva if you hairy to be on there.

I'm looking forward to working with you.

-Joe

from opencombine.

ilijapuaca avatar ilijapuaca commented on May 18, 2024

projects such as this one are only there to bridge the gap and allow us to use frameworks of the future today

Not really, the first goal I had in mind when starting this project was to provide a compatible implementation for Linux so it could be used in server-side Swift development.

I keep forgetting that they didn't make Combine available on Linux (did you find any source about why this is the case?), I assume they'll do it at some point but that's a good point, there's definitely some value there.

having those devices run Combine instead would (almost surely) be a performance gain

Being able to leverage Apple's Combine whenever it is available would indeed be great, but the thing is that clients who link against the latest SDK (which includes Combine, hence canImport(Combine) evaluates to true) but back-deploy to older OS versions without Combine are forced by the compiler to perform runtime checks like if #available(iOS 13.0) to actually use any of those Combine APIs. Conditional compilation that you propose to use is simply not enough.

I see... I haven't tried this myself, and that would indeed be annoying to do. Do you see any other way in which this could be achieved while hiding the implementation details from developer?

@spadafiva I tried joining the workspace, but I'm getting error on their website, I assume something is broken. I'll jump on there once they fix it. Perhaps we can start a private channel on there?

from opencombine.

broadwaylamb avatar broadwaylamb commented on May 18, 2024

I've created a Slack workspace.

from opencombine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.