John Sundell
swiftbysundell.com · Personal blog · on HN since 2017
John Sundell's site on Swift and Apple platform development, with articles, a podcast, and open source Swift tools.
What HN saysCommenters recommend it as a learning resource for Swift and praise its fast, JavaScript-free pages and his open source tools like Plot and Ink.
36HN people shared it
15linked it in comments
134stories submitted
1.5Kstory points
3 months agolast shared
2017people per year2026
Most-shared posts
- 1Swift by Sundell8 people · 2 points · first shared 2018 · discussion on HN
- 2Why does Swift by Sundell not use any client-side JavaScript? – Swift by Sundell3 people · 8 points · first shared 2020 · 1 comments on HN
- 3Exploring Swift 5.2’s new functional features2 people · 4 points · first shared 2020 · discussion on HN
- 4“A Tower of Capabilities” with Chris Lattner2 people · 3 points · first shared 2021 · discussion on HN
- 5Swift actors: How do they work, and what kinds of problems do they solve?2 people · 2 points · first shared 2021 · discussion on HN
- 6Property Wrappers in Swift2 people · 1 points · first shared 2020 · discussion on HN
- 7“Swift’s past, present and future”, with special guest Chris Lattner2 people · 1 points · first shared 2019 · discussion on HN
- 8The swift 51 features that power swiftuis api2 people · first shared 2020
- 9How Swift 5.3 enhances SwiftUI’s DSL1 people · 146 points · first shared 2020 · 79 comments on HN
- 10Building iPad Pro features in Swift1 people · 116 points · first shared 2018 · 68 comments on HN
- 11Lightweight API Design in Swift1 people · 109 points · first shared 2019 · 56 comments on HN
- 12The power of Result types in Swift1 people · 95 points · first shared 2018 · 75 comments on HN
- 13Small but significant improvements in Swift 5.11 people · 78 points · first shared 2019 · 22 comments on HN
- 14Building DSLs in Swift1 people · 73 points · first shared 2018 · 72 comments on HN
- 15Writing self-documenting Swift code1 people · 73 points · first shared 2018 · 18 comments on HN
What HN people wrote when they linked it
dhsysusbsjsi · 2019-12-31
John Sundell is awesome. Other stuff he’s done:
Plot: Write type safe HTML/RSS/XML in Swift
https://github.com/JohnSundell/Plot
Ink: Converts markdown to HTML
https://github.com/JohnSundell/Ink
Swift by Sundell blog
https://www.swiftbysundell.com/
Podcast
https://www.swiftbysundell.com/podcast
I really love these lightweight, JavaScript free websites he’s helping create in Swift. It’s such a better experience loading and reading than other blogs - the inlined sponsor/ads even look nice and don’t feel overwhelming or annoying (I usually read them!).
K0nserv · 2019-12-31
It's not slow by any stretch of the word compared to the rest of the web.
A clean reload transfers only 300kb of data that uncompresses to 670kb. Of that 223kb(570kb uncompressed) are fonts which are heavily cached and change rarely if ever. DOMContentLoaded fires after 80ms.
Subsequent loads are completely cached.
In an age where the average website is multi megabyte https://swiftbysundell.com/ is a refreshing and excellent demonstration of how good the web can be.
aryamansharda · 2022-11-22
Mine are mostly iOS specific, but here are a few of my favorites:
- Swift by Sundell (https://www.swiftbysundell.com/subscribe/)
- Indie Watch (https://indie.watch/)
- Swiftlee Weekly (https://www.avanderlee.com/)
frizlab · 2021-12-27
A very good and recent website for learning about Swift do not have a single line of JS :) https://www.swiftbysundell.com
Some people still do care! Admittedly not a lot though.
danappelxx · 2021-05-24
Sure. Hacking with Swift [0] is great, CS193P [1] is very good (previous years were UIKit, now it's SwiftUI). Ray Wenderlich [2] and Swift by Sundell [3] are also good resources. The OG was NSHipster [4], but they haven't published much recently (some articles may be a bit outdated). For SwiftUI specifically, Swift with Majid [5] is a godsend and has amazing content. Finally, for learning good Swift language practices, the Swift book [6] is very friendly.
Edit: forgot https://www.objc.io, definitely one of the best
[0]: https://www.hackingwithswift.com
[1]: https://cs193p.sites.stanford.edu
[2]: https://www.raywenderlich.com
[3]: https://www.swiftbysundell.com
[4]: https://nshipster.com
[5]: https://swiftwithmajid.com
[6]: https://docs.swift.org/swift-book/
astavrow · 2020-10-23
Thanks! A few sites that I've found really helpful in building this include:
- Hacking With Swift (https://www.hackingwithswift.com/)
- Swift by Sundell (https://www.swiftbysundell.com/)
- Swift with Majid (https://swiftwithmajid.com/)
- The SwiftUI Lab (https://swiftui-lab.com/)
- The Lost Moa blog (https://lostmoa.com/blog)
The community has been great, too — there are countless other little blog posts, tweets, and conversations that have helped me get this off the ground. :)
wiggler00m · 2019-12-31
Like this idea in theory.
The author's site (built with Publish) seems slow to me. Cause unknown. Would like to see more examples.
https://swiftbysundell.com/
chrishannah · 2018-10-19
Here are my favourites:
https://www.natashatherobot.com
https://www.swiftbysundell.com
http://whatsnewinswift.com
https://rambo.codes
And sporadically, I'll write a few myself:
http://blog.chrishannah.me/category/swift-tips/
nomel · 2025-04-10
> I want emojis in my code.
Then you will enjoy swift [1]!
[1] Emoji driven development: https://www.swiftbysundell.com/special/emoji-driven-development-in-swi…
codr7 · 2023-10-21
I've played around with actors in Swift for shared mutable state, which enforces async access patterns.
https://www.swiftbysundell.com/articles/swift-actors/
cableshaft · 2021-12-16
Property Wrappers seem pretty neat, I wasn't aware of that new feature. Thanks for mentioning it.
https://www.swiftbysundell.com/articles/property-wrappers-in-swift/
agsnu · 2021-04-25
After leaving Apple, Chris Lattner (designer of Swift) ended up at Google for a while and there was an attempt to make Swift a first class language for Tensorflow. An interesting podcast on the topic from 2019: https://www.swiftbysundell.com/podcast/58/
Since then he has moved on to SiFive and S4TF has been shutdown. See HN discussion https://news.ycombinator.com/item?id=26117453
Austin_Conlon · 2020-10-08
He was also recently interviewed on a podcast here: https://swiftbysundell.com/podcast/71/.
oscargrouch · 2020-09-23
SwiftUI is an attempt to stop the spread of people coding for things like React and instead focus in a Apple only SDK so they accomplish their goals of developer lock in.
Knowing why Apple is doing this is important to understand why this will never happen.
Apparently the feature they are using is function builders (1) and its already working on the current versions of Swift. So at least now, nothing is preventing other people to try to replicate in a open source manner those features.
By the way, there are some projects on Github that already implements the same functionalities.
Don't wait for Apple to open source this kind of stuff, because one way to enforce lock in, is through API. And Apple is far away from being a benevolent big other as some people might naively assume.
1 - https://www.swiftbysundell.com/articles/the-swift-51-features-that-pow…
zackmorris · 2020-03-31
Well, I'm coming from the Javascript side, where people use promises a lot for async, but it's almost impossible to trace execution in the debugger. It's usually immediately obvious to me that many exceptions and failure modes have been missed, but I find it difficult to reason about large promise chains and I usually have no idea where I would add more error handling. It tends towards a big ball of spaghetti.
Then if something does fail (wifi blips out without a retry, who knows) the page just hangs with no indication of what went wrong.
Contrast this with Unix-style synchronous blocking code piping data between threads with no shared state. Since every step of execution happens in a single thread, blocking until a pipe returns data, it's trivial to step through the code.
Async/await really becomes a problem in Javascript though because they made it a language keyword in Node.js. So you never know if you are dealing with a sync function or async function. Eventually the entire program has async in front of everything and ends up being written just exactly like sync blocking (but with superfluous syntactic sugar everywhere). So I question what was really gained there. IMHO it just doubles the workload in the mind since now we have to juggle both types of functions and explore those permutations. That's the last thing we need when we're trying to brainstorm a solution from a large possible search space.
I'm also looking at this from a one-shot functional programming…