Skip to content(if available)orjump to list(if available)

Redesigned Swift.org is now live

Redesigned Swift.org is now live

143 comments

·June 4, 2025

ChocolateGod

Swift seems like a really nice language that's held back by it's association with Apple.

Seems to hit a sweet spot of a fast/compiled (compared to Javascript), memory safe (compared to C++), object orientated (compared to Go) and easy to write (compared to Rust).

Doesn't seem like there's any maintained bindings for Qt though, although there are some interesting ones for GTK (e.g. https://git.aparoksha.dev/aparoksha/adwaita-swift)

ChrisMarshallNY

> Swift seems like a really nice language that's held back by it's association with Apple.

Or empowered by its association with Apple. That's a pretty big pond.

I like Swift, and I write software for Apple devices. I don't really care, whether or not it supports other platforms. For my backend work, I tend to use PHP, because there's a very broad base of servers that support it, it's good enough, fast enough, and, doggone it, people like it...

Another comment mentions that languages aren't really the issue, platforms are, and enumerates a number of application contexts, and the languages that are used to develop in those contexts.

If you want to write native Apple software, then you need to either use ObjC, or Swift. You can use C or C++, and JavaScript, if you don't mind gluing them on, but native is Swift/ObjC, and Apple doesn't really do much to support ObjC (but they have to, anyway, because I guarantee that some of the biggest apps out there, still run with ObjC -including some Apple ones).

I use Swift. I write both UIKit and SwiftUI, but find that UIKit is what I use to deliver a great user experience. I have to use SwiftUI, for a few applications (like Watch apps), and am constantly slamming into its limitations.

esseph

Given this comment, the next one that starts with something like "I don't think anybody cares about Apple here" made me giggle.

ChrisMarshallNY

Eh. That's why I run showdead = no. That comment obviously got nuked.

It's really fun, knowing that some folks hate me, just because I write software for Apple platforms.

I don't hate them back. That kind of hatred isn't very good for you. It's Commissioner Dreyfus-level obsession.

But this also shows what a tiny, tiny minority of people are represented here. Apple's a three-trillion-dollar company, because most folks aren't like us.

Klonoar

I mean, as long as Apple continues to support ObjC, you can use any language that has an ObjC interface. I've shipped native AppKit stuff in Rust before, people have done Ruby, etc.

ObjC is one of the greatest "glue languages" to have existed IMO.

ivm

Yup, I've been writing in C# for Apple platforms since 2018. The tooling is a bit clunky, but great experience otherwise.

bigyabai

> Or empowered by its association with Apple.

If your response to "Swift is being limited by Apple" is "well at least Apple hasn't killed it yet" then yeah, you're proving their point. Assuming you're right, and Swift is being empowered by Apple, then what is the language without Apple's support? Another .Net situation. They control the vision, the pitfalls of Swift as a language are the result of Apple's discretion. You can't blame the community for refusing to do Apple's dirty work pro-bono.

And honestly, Apple shouldn't be unhappy with where Swift is at right now either. They got exactly what they wanted from it, having third-party language stakeholders was never part of the equation for supporting Swift. A best-case scenario like Mono for Dotnet wouldn't be worth it, and Apple devrel is already in the toilet to boot. Might as well just go mask-off and run the whole thing like any other iOS library, but that's just my $0.02.

bobajeff

My view is that languages don't matter only libraries and engines. If you want to make an iOS app then Swift is for you. If you want to make an Unreal Engine game then C++. If you want to make a website then JavaScript. If you want to play with Bevy or Servo libraries then Rust. If you want to play with Blender or do anything with AI then Python.

pornel

There is a circular dependency — the language strongly influences what libraries/engines can and will be written.

Bevy and Servo wouldn't exist without Rust. Unreal probably wouldn't succeed without C++.

Languages may also matter for other reasons than just their feature set. Node.js got traction specifically because it was JavaScript.

Even though Fortran had state-of-the-art numeric libraries, Python enabled numpy to have the sweet spot of usability with good enough speed.

The killer libraries need years of effort to build them. That won't happen if users don't want to use the language, or the language isn't good enough for the task.

For Swift to have killer libraries, users must first choose Swift to build them. Catch22.

pjmlp

They chose Swift if they want to get money on Apple's ecosystem.

pjmlp

Spot on, for a long time, the project and platform dictactes the languages I use, not the other way around.

Being a YXZ Developer trying to fit YXZ into every domain, means that for many scenarios one ends up yak shaving until the foundations are in place for the actuall work one is supposed to do.

And even then, the tooling (IDE, debugging, build, libraries) will fail short from the platform native experience.

My motto is to always be curious and learn what is out there just in case, however in what concerns production work, only what is directly supported out of the box by the platform matters.

Typescript is maybe the exception, then again it is really a JavaScript linter in practice, the team has learned not to add additional language features.

mdhb

I think that argument is on increasingly shaky ground these days as the barriers are starting to come down in a lot of ways.

First in the sense of hand crafted interop solutions that modern languages provide.

Take Dart for example as something that has a (by comparison) very small package ecosystem.

However it has support for interop across: JavaScript, Java, Objective C, C, C++, Rust, Swift, Kotlin and Go I believe off the top of my head.

Then you also have efforts like WebAssembly and specifically the in-development component model which seeks to totally break down that language specific package ecosystem and make importing and working with another language as easy as it is when importing a package from your own language ecosystem.

So with those things in mind, however true that might be today, I don’t think it’s a strong argument moving forward.

mk89

I am not sure but your comment seems to make the point of the person you're answering to.

Dart is used probably and exclusively in one context (= library): Flutter. Nobody would dream of writing anything else with it and put it in production.

Why? Because despite the interop, all the libs are still in the original language and they shine in the language they were written with. And Dart has no ecosystem comparable to the top 5-10 most used languages.

Try to build bindings for QT in Dart. That alone would require a company just to make that happen. You'd have to pay developers just to make that interop work - that's what Riverbank did with pyqt. No other companies did that, as far as I know (until Nokia developed pySide). And what for?

So I somehow agree with the previous comment, unless someone writes really good bindings. That's rare, though, and from my experience it's mostly to put something in legacy mode.

sedatk

Swift also doesn't have a mark&sweep GC, and uses reference counting, which makes its memory footprint much smaller than GC-based runtimes.

90s_dev

It also means it's easy to create reference cycles that never get deallocated. Especially in callback anonymous functions.

ninkendo

After coding in swift for ~5 years at job - 1, I can count on one hand the times I had to deal with a reference cycle, and in each instance it was obvious in context that there was going to be a cycle so I used “weak” in anticipation. Zero times did I ever accidentally forget to use a weak reference.

A simple rule of thumb is that if anything has a parent/child relationship, the child should use the weak keyword (or even “unowned” if you’re certain about object lifetimes) when referring back to the parent. That and things like hand-rolled doubly linked lists, but the standard library already has that so who cares.

miffy900

Well kinda; even in a tracing GC language like C# you have things like WeakEventManager (https://learn.microsoft.com/en-us/dotnet/api/system.windows....) to prevent memory leaks when using callbacks as event handlers. It is definitely not exclusive to ref counted languages.

In C#, these aren't the exact same as a reference cycle, but the end result is the same, a memory leak: https://learn.microsoft.com/en-us/dotnet/desktop/wpf/events/...

tbojanin

The tooling around finding these references cycles (Instruments) is 2nd to none imo.

pebal

But that's why Swift generates slower code. Memory is cheap, also for Apple, although Apple would like to hide that fact.

sedatk

Have you seen the benchmarks? Swift code is 40% faster than Java in that instance.

dagmx

Qt have announced they’re doing Swift bindings recently https://www.qt.io/blog/about-the-new-qt-bridging-technology

Afaik someone on this site shared a repo url that has the early bindings using Swift C++ interop.

cosmic_cheese

Looks like it’s only for Quick and not Widgets, which I’m sure is still useful but kind of a bummer.

90s_dev

When I write code, I always start with the platform, which drives and limits the language choices. I don't say I want to write in C++, I say I want to write for web, or for iOS, or Windows, or whatever. If I'm writing for web, I'll reach for TypeScript. If iOS, then ObjC. If Windows, maybe C# if I'm being threatened. Using Rust to build a web app is like pulling teeth.

If many people think the same way, then yeah, there's no good reason to reach for Swift unless you're writing an iOS or Mac app and don't want it to be cross platform for some reason that I almost can't imagine in 2025.

cosmic_cheese

Very few languages have quality Qt bindings because Qt is a pain to bind to, so that might not be a particularly good benchmark.

In addition to the Adwaita bindings listed, there’s also autogenerated plain GTK bindings (https://github.com/rhx/SwiftGtk).

Narew

I'll interpret a bit. But I think the remark is more did we have a cross platform and complete gui library for swift.

teleforce

>Seems to hit a sweet spot of a fast/compiled (compared to Javascript), memory safe (compared to C++), object orientated (compared to Go) and easy to write (compared to Rust).

What you've enumerated are also applicable to Dlang with potential of even faster compile and execution time than C++ or even the venerable Fortran [1].

[1] Numeric age for D: Mir GLAS is faster than OpenBLAS and Eigen:

http://blog.mir.dlang.io/glas/benchmark/openblas/2016/09/23/...

no_time

>Swift seems like a really nice language that's held back by it's association with Apple.

>Seems to hit a sweet spot of a fast/compiled (compared to Javascript), memory safe (compared to C++), object orientated (compared to Go) and easy to write (compared to Rust).

Replace Apple with MS and Swift with C# and all of this is still true but makes my heart ache even more.

Kon-Peki

Well since this is about the web site redesign, I’ll leave my opinions on the language to myself and just say that I like the color gradients and how the trail of color coming off of the mascot bird acts as a separator as you scroll down the page.

It’s a fresh change from your typical modern website.

fidotron

The inclusion of "Embedded" on the front page when all the documents say it's experimental and not supported in public releases "yet" does make me curious if they will announce more at WWDC.

The big hopes for me this year of WWDC would be a Swift port of the Foundation DB record layer, from Java, along with a decent http server package. It's underappreciated just how useful it is in golang having a production capable http server in the standard library.

tiffanyh

> Apple's Secure Enclave processors run software written in Embedded Swift, as was announced at WWDC last year. Apple shipped 225 million iPhones (just iPhones) in 2024, so that's a very large deployment by any industry's standards.

https://forums.swift.org/t/redesigned-swift-org-is-now-live/...

ohdeargodno

Released on a single architecture, hand in hand with the builders of them architectures that happen to also be the builders of Swift.

Working on a dozen architectures with only 10 000 units sold each would be a better proof of it being a valid option for embedded development, but I guess the industry standards are whatever we make up today.

jiehong

I find the golang http server very basic, though. Like no content negotiation based on http headers by default, or any CORS by default. Also maybe writing headed after body does nothing since writing the body sends the response and it’s too late by then.

It does work, but I don’t find it ready for production without a lot of conf and extensions first.

sparky4pro

I would like to work with a Swift version with reduced functionality (IMHO over time Swift became the same monstrosity as C++) but the embedded version cannot be used with “normal” operating systems only embedded ones. Why this artificial boundary? Apple…

cosmic_cheese

I know a lot of people don’t like extensive stdlibs, but I’m not among them. As long as the stuff in the standard library is actually decent, I’m all for including more.

The fewer dependencies I need, the better. It’s one of the reasons why I’m still a big fan of developing for Apple platforms despite the recent drama: it’s a very batteries-included experience, which means it’s not just feasible but pleasant to develop top-class apps with a dependency list that can be counted on one hand. That’s amazing for not just the dev process itself but also for long term maintenance.

vaxman

They need sideline embedded until they release a proto board and a compute module with Apple Silicon SoCs running Linux or Darwin. If Apple drops support for the embedded variant of Swift then it would be up to enthusiasts to carry on and I don't see that happening. This is also why the other OEMs like Nordic and STMicro are more likely to support Micro/CircuitPython than Swift.

ashvardanian

> Swift is the only language that scales from embedded devices and kernels to apps and cloud infrastructure.

Most people would disagree with this line…

Klonoar

I think the site is good overall, but I also found this particular language to be annoying.

It feels more like Apple(-esque) marketing than anything.

thiht

That also doesn't seem to match reality. Extraordinary claims require extraordinary evidence, and in this case I just don't see the evidence. Which is not surprising since it's a lie, at least for the "only language" part (the fact that Swift actually scales in this way is up to debate imo)

deverman

This language did stick out to me even though I prefer Swift over Rust.

soapdog

There are at least to issues on github about it right now. I filled one of them.

90s_dev

I noticed that Go's and TypeScript's websites are massively more complicated than they were 10-15 years ago, much harder to find basically anything without google, which Swift's feels close to. But Lua's site remains as easy to use as ever.

jjtheblunt

to your point, i've often suspected Python caught on because of the clarity of its documentation.

fidotron

The book about Lua (Programming in Lua) is a masterpiece, and one of the essential programming books.

If I could write that well in my first language I could probably triple my income. To do it in a second one is just incredible.

jjtheblunt

I’m definitely going to get that then. Thanks for the tip

pedalpete

I find it interesting the call out windows apps specifically, but not mac apps, and from what I understand, the new tools for compiling to Android are getting quite good.

The last few days, I've been wondering if our commitment to building our mobile app in Swift was a mistake as the only member of our team that wrote swift is no longer with us.

Has anyone got experience with Android apps written in Swift? Thoughts?

bodge5000

I can't speak much for Android, Windows or just generally non-MacOS apps written in Swift, but it looks like they're trying avoid a Dart situation, which from what I've heard is quite a nice language but at this point lives and dies by Flutter. Intellij are doing a similar thing with Kotlin (and with great success too)

wsc981

Some companies these days write majority of platform independent code in Kotlin and just a thin UI layer for iOS in Swift. So perhaps that is a smarter approach.

I can't tell from experience myself but talked with people who do this and they're happy with this way of working.

pier25

Anyone using Swift for web backend?

I looked into Vapor but it seems much slower than it should be for a compiled language.

miffy900

I tried seeing how it ranks on the 2025 tech empower benchmarks: https://www.techempower.com/benchmarks/#section=data-r23&l=v...

And up against C#, Go and C++, Vapor could not make the top 70.

Even just compare Swift vs PHP and its a really poor showing for vapor: https://www.techempower.com/benchmarks/#section=data-r23&l=v...

belmont_sup

Probably a bad benchmark. I see that a recent blog post on the swift site discusses a migration of a large service from Java to swift using vapor.

pier25

It gets worse results than Laravel which is something.

open592

The speed is less correlated with the language it’s implemented in, and more with the amount of man hours spent building and optimizing it.

Vapor is a very small project, and thus is slower then other larger more mature projects.

desertmonad

I've used vapor as a side project API. For anything new and only on Apple ecosystem, its simpler to just go with SwiftData and CloudKit though.

ofrzeta

How is this possible? Here they say it's fast: https://www.swift.org/blog/how-swifts-server-support-powers-...

AndriyKunitsyn

Cool. If only some of this effort went into improving Swift Package Manager.

fckgw

Yes I'm sure the people responsible for the website front end will get right on that.

SwiftyBug

I would love to try Swift for things other than iOS if it had nice development tools. I don't ask for much. A decent LSP and code formatter are all I want. I refuse to use Xcode, so being able to code Swift in my code editor of preference would be great.

timsneath

belmont_sup

What about a formatter? I recall having to figure out which library to install as binary just to do formatting. What do you do?

timsneath

That's built in now -- the default VSCode "Format Document" / "Format Selection" commands work with just the Swift extension installed.

runjake

Concur. This is a pretty good setup.

Caveat: I'm using Swift for command-line software.

OliverM

It has both of those. I use them from Emacs comfortably.

reaperducer

I'm not a Swiftie, but there's this if you're already on a Mac:

https://extensions.panic.com/extensions/pixelfoundry/pixelfo...

chipotle_coyote

I think if you were already on a Mac and wanted to use Panic Nova, you'd be better off using Icaras:

https://extensions.panic.com/extensions/panic/panic.Icarus/

The one you linked to looks like it's just syntax highlighting; Icarus has that, but also has LSP, building, and debugging support.

sparky4pro

Swift is usable (on Apple operating systems) if you use the add ons that Apple provides (like SwiftUI). Other than that… forget about it. Tried to use Swift for CLI apps (on macOS) and it failed miserably. The reason: after reaching a certain code size the Swift compiler is reporting vague syntax errors without line numbers. Unacceptable in 2025.

hyperjeff

I can’t speak to the errors you’re seeing, only that my experience is different. I’ve written well over a hundred CLI apps on macOS, of all sizes. I consider it a very good language for it too (also for scripting). A nice thing is that you can leverage the whole of AppKit/Foundation/Carbon/etc in CLI apps allowing for uniquely powerful tooling & integration.

sparky4pro

I’m happy for you and everyone else who has had the same experience as you. I’ve saved my Swift CLI apps, so I might try it again when a new version comes out, hopefully they fixed such behavior.

solarkraft

I hope the website’s focus on non-Apple platforms coincides with an actual project focus on them.

I find Swift fascinating, but the software I want to write is not software locked into Apple platforms. The low level stuff looks particularly interesting, as the common low level languages all have their peculiarities.

gt0

Really hard to imagine a use case for Swift outside of Apple platforms. It's a good language without much library support anywhere other than Apple platforms.

Someone

The site being discussed prominently mentions

- “Tools for Linux, macOS, and Windows”

- “Run performant services on Linux and deploy to the cloud”

- “Develop efficient, reliable firmware for devices like microcontrollers”

- “Reuse existing C/C++ drivers and SDKs with zero wrappers or runtime glue, integrating in minutes.”

The site has examples for running Swift code on a Raspberry Pi Pico W, an ESP32 microcontroller and a PlayDate.

That doesn’t mean Swift is the best tool for doing these things, but “really hard to imagine a use case for Swift outside of Apple platforms”?