As for Swift libraries, Stdlib is fully ported, Foundation can be spotty, the new Foundation-Essentials is small but growing. Swift-System has portable low-level path and such, and Shwift helps with fully async scripting.
As for supported platforms, Ubuntu seems robust, AWS is usable but marginal. Windows has some hurdles - technical, legal, and incentives - but VSCode support seems relatively good for non-GUI stuff outside windows API's.
Embedded has been landing in the main compiler and pushed by the Swift team lead. They're still issue-spotting, planning how (much) to live without a heap and the runtime metadata used for protocols, but the number of issues seems manageable for the intensity of effort, even though it's not Apple's priority.
With Swift 6.0, a breaking release, up next (in September?), it's likely embedded features could be both driven by the desire to make any breaking changes now, and blocked by other priorities.
One addition: Swift WASM support has recently become stable enough to be [included in CI](https://forums.swift.org/t/stdlib-and-runtime-tests-for-wasm...). The folks working on that have done a great job and I’m very excited for that to get more fleshed out!
IBM Stops Work on Swift — Q&A with Chris Bailey :: https://www.infoq.com/news/2020/01/ibm-stop-work-swift-serve... ( 43 points | 3 comments https://news.ycombinator.com/item?id=22175652 )
In this (and highlighted in a comment) there's a quote:
> Swift benefits greatly from being an embedded part of Apple's ecosystem, but it also provides challenges for its organic growth as there's a lot of dependency on Apple for capabilities that the server ecosystem requires. For example, almost all Swift developers use Apple's Xcode as their IDE and it has fantastic support for developing for iOS devices, including the ability to run locally in emulator environments. It would be great to add support for writing server code that allows developers to develop directly into containerized environments from their local IDE by supporting the simple integration into Xcode of development tools such as Appsody. Where there is open governance and open ecosystems, it enables the community to contribute and to solve the problems and use cases that are important to them.
Same timeframe: IBM Stops Server Side Swift Framework Development - https://news.ycombinator.com/item?id=21808619 (156 points | 97 comments)
---
From earlier times:
Introducing the IBM Swift Sandbox - https://news.ycombinator.com/item?id=10676655 (246 points | 59 comments)
IBM says Swift is ready for the enterprise - https://news.ycombinator.com/item?id=12581250 (176 points| 226 comments)
The language server seems a bit clunky on Windows, I’ve only used Swift with Xcode on macOS so I don’t know if that’s platform specific.
This means it probably has the most Windows Swift code of any app out there and that’s why I mentioned it.
Linux support is i think a bit better. But for now it's still the biggest handicap for the language for sure. Any sane project would have solved those issues a long time ago. But since it's an apple language, they seem to not be caring much.
I usually test them on a Linux VM and a Raspberry Pi
I’ve spent countless hours working in it and crashes and errors have been rare for years now. Especially since ditching CocoaPods in favor of Swift Package Manager for dependencies, I’ve found that Android development to be considerably more frustrating with the mess of Gradle and Proguard paired with the surprisingly anemic Android Framework. Jetpack Compose is thankfully replacing Android Framework and is a major improvement, but from time to time Gradle and Proguard make me want to tear my hair out.
It’s pretty baffling how bad Xcode is. Although at this point I’m not sure to what extent Swift is to blame.
Everything seems to work much better when Swift is abandoned and I just use UIKit.
(And it’s a personal blessing when I get to use Flutter and bypass 90% of the insanity that is modern native iOS and Android dev)
Haven’t touched Flutter because Material Design feels weird on iOS, its Cupertino theme isn’t great, and I’m not the type to reinvent the wheel on UI design in the apps I work on. Also don’t really feel like picking up a language, toolchain, and ecosystem for a single UI framework.
i may be crazy but even now i sometimes feel like appkit today is still more solid and less buggy than even uikit...
I tried the IntelliJ IDE, which didn't feel so shoddy, but in turn has a lot of other problems that boil down to not being the "blessed" solution.
Android Studio (IntelliJ) on the other hand I’ve run into mysterious things with fairly frequently, like it failing to install the app on the connected phone after hitting run for no reason or builds failing with bogus errors, requiring a project clean to fix. Its “smart” refactoring tools also can’t always be trusted to do the right thing, at least where XML UI layout files are concerned.