Swift's server support powers Things Cloud(swift.org) |
Swift's server support powers Things Cloud(swift.org) |
And from that line on, we knew that it's just about marketing and reality faded away.
However, I really love Things and I always bring it up whenever someone talks about usability and intuitive design. It's such a beautiful pie e of software, written in native code (compared to all the bloated, slow electron apps). It just is very nice to work with Things.
Yes it’s not as good as some other technologies but for Things use case and sorts it’s a good match.
Though I’ve only played with it, I quite liked what I saw of Vapor (ditto Swift as a whole, with which I have more experience). The next time I need to build an API, I’ll probably give it a shot.
Sounds quite slow
I also wonder if that's developer machine time, or CI build job duration.
Hopefully developer incremental builds are much faster.
Swift is the slowest on the compilation benchmarks at https://github.com/nordlow/compiler-benchmark.
Go is a set of trade offs like every language, and clearly the wrong set for this team.
I'd guess the 10 mins is a few things... Vapor, and in particular its ORM Fluent, are noticeably slow to compile. It's common for a single function doing an ORM query to take 200ms to compile. I use warnings for >100ms compilation to spot these and adding a few types or extracting a piece into a utility function solves it. I'd guess they also have a ton of dependencies. I have ~20 or so, most aren't very big.
At work I use Go, and while builds are fast, on a medium sized codebase with a bunch of codegen, the difference for dev builds doesn't affect my workflow.
There's a debate to be had around whether Swift is ready for the server (I'm a strong advocate for yes, but it's not a done deal), but honestly compilation time isn't a factor. Rust is noticeably slower in my experience and I don't see people questioning whether it's ready for server development because of it.
Swift has definitely a problem, a toolchain problem, not a language one.