{"slug": "swiftui", "name": "SwiftUI", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 12, "warners": 4, "score": 1.137, "rising": 2.67, "first": "2026-01-31", "latest": "2026-09-11", "why": "But 1/ it\u2019s much simpler for doing simple things and 2/ we can drop down to AppKit when needed. All in all, it\u2019s good that we have it.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 4, "compare": 0, "warn": 4}, "spark": [0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "But 1/ it\u2019s much simpler for doing simple things and 2/ we can drop down to AppKit when needed. All in all, it\u2019s good that we have it.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://developer.apple.com/xcode/swiftui/", "pricing": "", "aliases": ["SwiftUI"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 786512832, "item_id": 49157052, "url": "https://news.ycombinator.com/item?id=49157052", "by": "sandoze", "date": "2026-08-03", "stance": "recommend", "quote": "@Environment is a great tool.", "excerpt": "I don't want to downplay your lived developer experience, I'm not fully following all your arguments but let me just say @Environment is a great tool. We've all used singletons, even more so in UIKit seeing how unintuitive key value observation was. It's used a few different ways in the app I'm looking at now. One is to hold a source of truth for my API data models. This way I have a cache of say User that, when it c", "context": "iOS developer", "use_case": "iOS app development", "switched_from": "", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786377104, "item_id": 49148569, "url": "https://news.ycombinator.com/item?id=49148569", "by": "frizlab", "date": "2026-08-02", "stance": "recommend", "quote": "But 1/ it\u2019s much simpler for doing simple things and 2/ we can drop down to AppKit when needed. All in all, it\u2019s good that we have it.", "excerpt": "Having written actual apps with AppKit, it is horrendously complicated for simple things. Swift is incredibly better than ObjC on so many ways it\u2019s just not comparable. I used it since day one and never looked back. (And I was deep into the ObjC ecosystem, having written very low-level frameworks, and having loved it.) Yeah, first versions of Swift were raw, but now it\u2019s just THE language; I used for everything (obvi", "context": "long-time Apple developer", "use_case": "Apple app UIs", "switched_from": "AppKit", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786361120, "item_id": 49147570, "url": "https://news.ycombinator.com/item?id=49147570", "by": "danscan", "date": "2026-08-02", "stance": "recommend", "quote": "SwiftUI is good, albeit not without issues, as long as you tolerate them.", "excerpt": "There is no right way :) SwiftUI is good, albeit not without issues, as long as you tolerate them. The same is true for any approach. My most recent app was built in SwiftUI because I have been using React Native in my professional work for so long I wanted a change of scenery. Each approach has its issues, and it all boils down to a matter of preference and which tradeoffs are appropriate for the project.", "context": "professional React Native developer", "use_case": "building mobile app", "switched_from": "React Native", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 756664529, "item_id": 47291533, "url": "https://news.ycombinator.com/item?id=47291533", "by": "colejhudson", "date": "2026-03-07", "stance": "recommend", "quote": "You might also take a look at SwiftUI if you have an Apple device.", "excerpt": "re, iteration: Have you encountered ImGui [0]? It's basically standard when prototyping any sort of graphical application. re, GUIs in statically typed languages: As you might expect, folks typically use a library. See Unreal Engine, raylib, godot, qt, etc. Sans that, any sort of 2D graphics library can get the job done with a little work. You might also take a look at SwiftUI if you have an Apple device. [0]: https:", "context": "", "use_case": "native GUIs on Apple", "switched_from": "", "story": "macOS code injection for fun and no profit (2024)"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 790424818, "item_id": 49401551, "url": "https://news.ycombinator.com/item?id=49401551", "by": "hylaride", "date": "2026-08-22", "stance": "warn", "quote": "Some in particular (SwiftUI) are downright awful", "excerpt": "I have mixed feelings in this debate, too. The big issue with GUIs is that they\u2019ve become so bloated, especially as the default framework is now often electron apps. Web based frameworks tend to start keeling when large amounts of data need to be handled in the DOM, etc. When I use slack and discord, I sigh when I start seeing UI rendering lag when I switch channels and projects. Though there\u2019s been some recent progr", "context": "", "use_case": "native UI development", "switched_from": "", "story": "Stop Making TUIs"}, {"id": 786436560, "item_id": 49152285, "url": "https://news.ycombinator.com/item?id=49152285", "by": "harrouet", "date": "2026-08-03", "stance": "warn", "quote": "SwiftUI because bloated and hacky, when it promised simplification and transparency", "excerpt": "Agreed that SwiftUI because bloated and hacky, when it promised simplification and transparency. But is there a single UI abstraction that succeeded in affordability for newcomers while maintaining performance and solid architecture? It is high time to solve the write-3-apps for each usecase (iOS, Android, Windows). I use MAUI on some projects but it is still not perfect. The way forward for Apple is to open source m", "context": "", "use_case": "Apple app UI", "switched_from": "", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786366721, "item_id": 49147920, "url": "https://news.ycombinator.com/item?id=49147920", "by": "refulgentis", "date": "2026-08-02", "stance": "warn", "quote": "The thing that obviates that is the trendy stuff works, yet, SwiftUI doesn\u2019t.", "excerpt": "It\u2019s a seductive idea, but it displaces who is responsible for the poor framework development onto users of the framework. It\u2019s easy to say they were just trying to be trendy and thus the real flaw was the trend is bad and the fault of worse devs than us (the young web devs mentioned) The thing that obviates that is the trendy stuff works, yet, SwiftUI doesn\u2019t. (source: I wrote ObjC/Cocoa as early as 2006, and switch", "context": "wrote ObjC/Cocoa since 2006", "use_case": "app development", "switched_from": "", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 749476657, "item_id": 46842291, "url": "https://news.ycombinator.com/item?id=46842291", "by": "worik", "date": "2026-01-31", "stance": "warn", "quote": "it shares all the problems of declarative UI frameworks - mainly \"where is the code?\"", "excerpt": "I am unconvinced I have used Swift (stopped about two years ago) and use Rust extensively these days. People commenting here have mentioned the dreadful Xcode. But if you want to build systems on Apple, without investing a lot in setup, you are stuck with Xcode. To be clear it's failures as an editor or build system are not the main problems with Xcode (albethey very frustrating when the intermittent problems show up", "context": "", "use_case": "UI building", "switched_from": "", "story": "Swift is a more convenient Rust (2023)"}]}], "who": [{"by": "busymom0", "context": "iOS developer", "url": "https://news.ycombinator.com/item?id=49652607", "date": "2026-09-11"}, {"by": "sandoze", "context": "iOS developer", "url": "https://news.ycombinator.com/item?id=49157052", "date": "2026-08-03"}, {"by": "frizlab", "context": "long-time Apple developer", "url": "https://news.ycombinator.com/item?id=49148569", "date": "2026-08-02"}, {"by": "danscan", "context": "professional React Native developer", "url": "https://news.ycombinator.com/item?id=49147570", "date": "2026-08-02"}, {"by": "mariopt", "context": "coding for 20 years", "url": "https://news.ycombinator.com/item?id=48140058", "date": "2026-05-14"}], "tags": [], "use_cases": ["small ios ui pieces", "native ui development", "chess repertoire builder app", "ios app development", "small apps", "apple app ui"], "compared": [{"slug": "react-native", "name": "React Native", "co": 1, "switched_from": 1, "switched_to": 0}, {"slug": "flutter", "name": "Flutter", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49147263", "title": "SwiftUI After 7 Years: A Story of Mediocrity", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=49384210", "title": "Stop Making TUIs", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49643982", "title": "Shopify is moving from React Native back to Swift and Kotlin", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48139148", "title": "God Damn AI is making me dumb", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47250500", "title": "macOS code injection for fun and no profit (2024)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46841374", "title": "Swift is a more convenient Rust (2023)", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"warn": 1}, "2026-02": {}, "2026-03": {"recommend": 1}, "2026-04": {}, "2026-05": {"neutral": 1}, "2026-06": {}, "2026-07": {}, "2026-08": {"recommend": 3, "warn": 3, "neutral": 2}, "2026-09": {"neutral": 1}, "2026-10": {}}, "quotes": [{"id": 794441713, "item_id": 49652607, "url": "https://news.ycombinator.com/item?id=49652607", "by": "busymom0", "date": "2026-09-11", "stance": "neutral", "quote": "I still haven\u2019t switched to SwiftUI though (except for some small stuff).", "excerpt": "Same here. Glad I stuck with native iOS development. I still haven\u2019t switched to SwiftUI though (except for some small stuff). Still sticking with UIKit here.", "context": "iOS developer", "use_case": "small iOS UI pieces", "switched_from": "", "story": "Shopify is moving from React Native back to Swift and Kotlin"}, {"id": 790424818, "item_id": 49401551, "url": "https://news.ycombinator.com/item?id=49401551", "by": "hylaride", "date": "2026-08-22", "stance": "warn", "quote": "Some in particular (SwiftUI) are downright awful", "excerpt": "I have mixed feelings in this debate, too. The big issue with GUIs is that they\u2019ve become so bloated, especially as the default framework is now often electron apps. Web based frameworks tend to start keeling when large amounts of data need to be handled in the DOM, etc. When I use slack and discord, I sigh when I start seeing UI rendering lag when I switch channels and projects. Though there\u2019s been some recent progr", "context": "", "use_case": "native UI development", "switched_from": "", "story": "Stop Making TUIs"}, {"id": 790253473, "item_id": 49390842, "url": "https://news.ycombinator.com/item?id=49390842", "by": "joshka", "date": "2026-08-21", "stance": "neutral", "quote": "I have a vibe coded SwiftUI chess repertoire builder app", "excerpt": "As a ratatui library maintainer, NO - please don't stop making TUIs ;) As a developer outside of that, I love the scratch the itch apps stuff mentioned in here. I have a vibe coded SwiftUI chess repertoire builder app that fits in that same sort of space that I'm currently working on, where I'd probably not have chosen to explore the idea if not for coding agents. I agree with the article that the terminal is an odd ", "context": "", "use_case": "chess repertoire builder app", "switched_from": "", "story": "Stop Making TUIs"}, {"id": 786512832, "item_id": 49157052, "url": "https://news.ycombinator.com/item?id=49157052", "by": "sandoze", "date": "2026-08-03", "stance": "recommend", "quote": "@Environment is a great tool.", "excerpt": "I don't want to downplay your lived developer experience, I'm not fully following all your arguments but let me just say @Environment is a great tool. We've all used singletons, even more so in UIKit seeing how unintuitive key value observation was. It's used a few different ways in the app I'm looking at now. One is to hold a source of truth for my API data models. This way I have a cache of say User that, when it c", "context": "iOS developer", "use_case": "iOS app development", "switched_from": "", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786468032, "item_id": 49154252, "url": "https://news.ycombinator.com/item?id=49154252", "by": "mathverse", "date": "2026-08-03", "stance": "neutral", "quote": "For small apps I use exclusively SwiftUI", "excerpt": "For small apps I use exclusively SwiftUI for anything more complicated I use a combo of Sciter and Swift (courtesy of https://news.ycombinator.com/user?id=c-smile). There are still a lot of rough edges when it comes to look and feel on Apple platforms but it gives me the performance and speed while also being multiplatform.", "context": "", "use_case": "small apps", "switched_from": "", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786436560, "item_id": 49152285, "url": "https://news.ycombinator.com/item?id=49152285", "by": "harrouet", "date": "2026-08-03", "stance": "warn", "quote": "SwiftUI because bloated and hacky, when it promised simplification and transparency", "excerpt": "Agreed that SwiftUI because bloated and hacky, when it promised simplification and transparency. But is there a single UI abstraction that succeeded in affordability for newcomers while maintaining performance and solid architecture? It is high time to solve the write-3-apps for each usecase (iOS, Android, Windows). I use MAUI on some projects but it is still not perfect. The way forward for Apple is to open source m", "context": "", "use_case": "Apple app UI", "switched_from": "", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786377104, "item_id": 49148569, "url": "https://news.ycombinator.com/item?id=49148569", "by": "frizlab", "date": "2026-08-02", "stance": "recommend", "quote": "But 1/ it\u2019s much simpler for doing simple things and 2/ we can drop down to AppKit when needed. All in all, it\u2019s good that we have it.", "excerpt": "Having written actual apps with AppKit, it is horrendously complicated for simple things. Swift is incredibly better than ObjC on so many ways it\u2019s just not comparable. I used it since day one and never looked back. (And I was deep into the ObjC ecosystem, having written very low-level frameworks, and having loved it.) Yeah, first versions of Swift were raw, but now it\u2019s just THE language; I used for everything (obvi", "context": "long-time Apple developer", "use_case": "Apple app UIs", "switched_from": "AppKit", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786366721, "item_id": 49147920, "url": "https://news.ycombinator.com/item?id=49147920", "by": "refulgentis", "date": "2026-08-02", "stance": "warn", "quote": "The thing that obviates that is the trendy stuff works, yet, SwiftUI doesn\u2019t.", "excerpt": "It\u2019s a seductive idea, but it displaces who is responsible for the poor framework development onto users of the framework. It\u2019s easy to say they were just trying to be trendy and thus the real flaw was the trend is bad and the fault of worse devs than us (the young web devs mentioned) The thing that obviates that is the trendy stuff works, yet, SwiftUI doesn\u2019t. (source: I wrote ObjC/Cocoa as early as 2006, and switch", "context": "wrote ObjC/Cocoa since 2006", "use_case": "app development", "switched_from": "", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 786361120, "item_id": 49147570, "url": "https://news.ycombinator.com/item?id=49147570", "by": "danscan", "date": "2026-08-02", "stance": "recommend", "quote": "SwiftUI is good, albeit not without issues, as long as you tolerate them.", "excerpt": "There is no right way :) SwiftUI is good, albeit not without issues, as long as you tolerate them. The same is true for any approach. My most recent app was built in SwiftUI because I have been using React Native in my professional work for so long I wanted a change of scenery. Each approach has its issues, and it all boils down to a matter of preference and which tradeoffs are appropriate for the project.", "context": "professional React Native developer", "use_case": "building mobile app", "switched_from": "React Native", "story": "SwiftUI After 7 Years: A Story of Mediocrity"}, {"id": 770240928, "item_id": 48140058, "url": "https://news.ycombinator.com/item?id=48140058", "by": "mariopt", "date": "2026-05-14", "stance": "neutral", "quote": "Today I'm forcing myself to learn SwiftUI and type each character with my hands", "excerpt": "I feel your pain. Today I'm forcing myself to learn SwiftUI and type each character with my hands, there is a part of me asking \"Why are you wasting your time instead of prompting it and getting the UI you want in minutes?\". Well, even I use AI I must know the domain I'm operating in to create good products instead of useless slop. Even though I've been coding for 20 years now, I still need to be humble to grown in a", "context": "coding for 20 years", "use_case": "learning UI development", "switched_from": "", "story": "God Damn AI is making me dumb"}, {"id": 756664529, "item_id": 47291533, "url": "https://news.ycombinator.com/item?id=47291533", "by": "colejhudson", "date": "2026-03-07", "stance": "recommend", "quote": "You might also take a look at SwiftUI if you have an Apple device.", "excerpt": "re, iteration: Have you encountered ImGui [0]? It's basically standard when prototyping any sort of graphical application. re, GUIs in statically typed languages: As you might expect, folks typically use a library. See Unreal Engine, raylib, godot, qt, etc. Sans that, any sort of 2D graphics library can get the job done with a little work. You might also take a look at SwiftUI if you have an Apple device. [0]: https:", "context": "", "use_case": "native GUIs on Apple", "switched_from": "", "story": "macOS code injection for fun and no profit (2024)"}, {"id": 749476657, "item_id": 46842291, "url": "https://news.ycombinator.com/item?id=46842291", "by": "worik", "date": "2026-01-31", "stance": "warn", "quote": "it shares all the problems of declarative UI frameworks - mainly \"where is the code?\"", "excerpt": "I am unconvinced I have used Swift (stopped about two years ago) and use Rust extensively these days. People commenting here have mentioned the dreadful Xcode. But if you want to build systems on Apple, without investing a lot in setup, you are stuck with Xcode. To be clear it's failures as an editor or build system are not the main problems with Xcode (albethey very frustrating when the intermittent problems show up", "context": "", "use_case": "UI building", "switched_from": "", "story": "Swift is a more convenient Rust (2023)"}]}