Hacker News new | past | comments | ask | show | jobs | submit login

Interesting detail about Square that I learnt on Twitter shortly after SwiftUI was launched...

Square sold iPads with their software on as "appliances", so they can't deprecate them on a schedule like most software. For this reason the Square iOS codebase (which is a single codebase) must support back as far as iOS 9.

Because of this, they're considering an internal implementation of SwiftUI so that they can start using it now, rather than in ~5 years time. I wouldn't be surprised if they open sourced this if they do go ahead with it.

Hm so those registers which you give your credit cards haven't had security fixes for 4 years and can probably be trivially taken over with wireless zero click attacks. :/

The opaque return types are, however, only available in Swift 5.1 and later, which means that the API will have to be different and not directly compatible with the Swift UI.

Not just Swift 5.1, but they also require iOS 13 because there's a rather unfortunate stdlib dependency. Technically they only need the dependency when crossing module boundaries, but they're restricting the feature completely anyway, I guess because they don't want to bother explaining "you can use 'some' on internal APIs but you can't use it on a public API without iOS 13+".

As long as Swift supports #ifdefs, I'm sure with some minor coding conventions, they could make it work.

bundling hardware like that is not uncommon. i’ve worked with three orgs that did this to one degree or another...and it was always a pain in the ass, in my experience.

Yeah it was an interesting constraint that I hadn't considered before but it makes a lot of sense.

Is it Blueprint[0] you're talking about? It doesn't seem to be a reimplementation.

[0] https://github.com/square/Blueprint

To my understanding, no. I was referencing tweets from one of their iOS engineering leads during and after the SwiftUI announcement. He was specifically talking about doing an API compatible re-implementation for older iOS versions.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact