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.
[1]: http://contravariance.rocks/episodes/210_show_notes.html
1. Does this use native rendering of the local OS? I.e. On Linux it uses GTK or QT?
2. Is this meant to be entirely OS Agnostic? Are you going to support Linux, Windows, Kitchen Sink, Etc?
3. Are you planning on seeing this through to the end and completing the library 100% or is this a proof on concept?
1. No. Neither. It does all the drawing on its own. Right now even fonts.
2. I think he would like to make it platform agnostic that way (i.e. provide reusable parts), but no, not right now.
3. His primary goal is/was driving UIs on embedded devices and AFAIK wants to complete it at least for this task.
Disclaimer: In contact with @cosmo in some Slack, due to my SwiftWebUI project (which offloads a load of things to the browser, so his stuff is quite different / more complex in many ways).
One of my plans is to play around with using and/or creating a custom flutter engine embedder like flutter-pi.
> The project's goal is to provide a platform-agnostic interface — without the generation of the graphical user interface.
> The rendering of graphical user interfaces can be implemented in platform specific (Linux, Windows, Embedded, …) projects.
In terms of the prospect of a cross-platform GUI, SwiftUI is taking a similar direction to Flutter and React Native. I see no other serious alternatives from the likes of Go or Rust at the moment. As far as Apple is concerned, they have total control of the direction of the language and they pick and choose which components to open-source.
Apple is clearly the main force behind Swift at the moment, which has some good sides (at least the language is evolving), but is pushing the tech toward a certain direction at the detriment of others (IMHO). Apple is mostly building frontend tech, and swift initial goal was to also be a great force for server-side tech (which means great cross-platform experience).
As an example, i don't think apple is ever going to release a server side framework, or a cross-platform GUI framework able to create android app. The only swift/android project i know on github (https://github.com/readdle/swift-android-toolchain) is using a swift fork to disable objective-c features that don't work well on other platform. That's telling.
I don’t think Apple releasing a server-side framework would help, as nobody would be using it.
Also, there is the Swift Server Work Group (https://swift.org/server/), where two out of six members have an Apple email address. They recently wrote a kind of “state of the union” that, in my view, shows progress is made towards using Swift on servers (https://swift.org/blog/sswg-update/)
As to a cross-platform GUI framework: I don’t see them doing that, just as I don’t see Microsoft or google doing that.
Maybe not, but there is this: https://github.com/apple/swift-nio
As someone who is relatively ignorant about this kind of thing...what does that above quote ^ mean?
public let _content: ContentI don't like it either -- but that was the best I could come up with :)
(i do agree _ and public together don't make any kind of sense though)
1. Making it tied to the OS. 2. Not building it in a way that its Open Source.
Yes I've read comments from Apple engineers that proclaim it relies on new features of UIKit/AppKit. Then, why not open source those UIKit/AppKit changes? Or, don't build the framework in such a tight-coupled way.
v1 should be about getting early adopters by allowing maximum platform reach and incrementally filling in the gaps.
So I'm hopeful this effort or any similar effort becomes the way forward for a lot of projects.