Looks like a solid update on first glance. I nearly tore my hair out last month building a SwiftUI app. The error messages were terrible—I had never seen such poor error messages. I'm so glad they're addressing that.
No kidding. I really like swiftui, the declarative model is great and it’s so much less of a pain than React-native, but trying to decipher the error messages for it while I was learning swift was comically bad at times.
As a contributor to RN and someone who loves SwiftUI just as much: it’s mostly the toolchain. You have an unbelievably vertically integrated framework with SwiftUI.
Do you think SwiftUI is still too experimental to build out a production-ready app? I'm a RN dev leading the app development at our startup, but every time I check on SwiftUI I LOVE what I see. Sadly it looks like the final results are mostly tech demos rather than fully integrated apps.
Thinking maybe we have to wait for a behemoth's adoption (like AirBnB & React Native) to take the ecosystem to the next level.
I would say it just depends, which I know isn't satisfying as an answer. I shipped an app named Eggy which is all SwiftUI- but it isn't super complex exactly. There are still plenty of simple problems that are hard to get around. But you can definitely use it to replace pieces of an app.
I also shipped an app for a client called Droplii. I definitely believe you can use it for production level apps. Productivity is through the roof. There are just a few small quirks, but I believe the pros out weigh the cons here.
I've shipped a small app in it and am collaborating on another currently. If you're looking to use it on your team I'd wait for this years online WWDC, see whats announced and evaluate from there.
Compared to native development the toolchain and dependencies are out of control and I'm unsure how it can really be improved, Expo does a decent job of abstracting some of it but you lose so much from the managed workflow that it makes me question the purpose of building a native app at all. I think the real threat that PWAs bring is to frameworks like React Native and Cordova rather than fully native apps which will likely always have specific use cases.
I've learned you wait a couple of years before you start trying to use new major apple developer tech. Same thing with swift, it was better to wait until swift 3 or 4 before adopting it.
Yeah, also for the DSL's you build yourself with the new 5.1 features, really bad error messages. If that would get better in 5.2, it would help a lot.
A great update to a safe and ergonomic language. The best is still yet to come with Swift on Windows and Android, SPM Resources, and of course Async/Await.
I am a huge Elm fan, and I have used it in many contexts. It is fair to say that in the last 10 years React has most influenced the way we write our UI and Elm has most influenced the way we manage our state on the frontend.
Has anyone had good luck getting Swift running on Linux? Many versions ago, I had it working under Ubuntu, and it seemed really nice. I particularly liked having a REPL for this style of language.
However since then, I've had very limited success under Ubuntu, CentOS, and Arch. Different failures on each. Every few releases or so I give it a go, but something always fails and I go back to working on some other pet project.
I know I'm out of fashion :-), but I don't really use containers for anything. I think Swift looks really nice, but when I check out other languages (such as Go, Rust, or any of the gazillion others), I don't have to jump through any hoops other than using the system package manager or something like "./configure; make install". I wish Swift was in this camp.
41 comments
[ 2.3 ms ] story [ 91.5 ms ] threadThinking maybe we have to wait for a behemoth's adoption (like AirBnB & React Native) to take the ecosystem to the next level.
Also with Combine and associated bits there is a lot less boilerplate around state that doesn’t have to be written.
Also the disk space for the js ecosystem is beyond crazy and really bothers me.
The runtime errors can be comically bad, bucking you into a screen of assembly for the simplest of mistakes.
Saleem Abdulrasool, who has been working on Swift on Windows, was also recently added to the core team.
So I don't know if it's actually on the roadmap, if one exists, but official support doesn't seem impossible.
https://swift.org/blog/5-3-release-process/
In any case for me, Elm has been extremely enjoyable, as a web frontend framework and language combo.
However since then, I've had very limited success under Ubuntu, CentOS, and Arch. Different failures on each. Every few releases or so I give it a go, but something always fails and I go back to working on some other pet project.
Wouldn't that be something the package manager should include?
If you're using Arch, I'm pretty sure AUR have you covered... [0]
[0] https://aur.archlinux.org/packages/swift/
> If you're using Arch, I'm pretty sure AUR have you covered...
Have you gotten it working with Arch?
There are user comments on the page you linked indicating other people have had problems too.
So you have to do OS specific imports directly, for basic stuff like calling a random number generator or handling IO.
It is even done so on the introduction pages, https://swift.org/getting-started/
Foundation outside Apple platforms is pretty much WIP.