5 ms·
Xcode's UI is miles better than the IntelliJ suite, or any other IDE I've used, but functionally it's a decade behind them, especially with Swift. Its autocompl
by jshier 2y ago
Xcode's UI is miles better than the IntelliJ suite, or any other IDE I've used, but functionally it's a decade behind them, especially with Swift. Its autocomplete is extremely basic, its debugger barely works with Swift, and its refactoring system is very limited. It doesn't really support plugins, so the community can no longer patch these holes.
It scales poorly, shitting itself every time you open files larger than a megabyte (DB dumps as JSON hang it).
Xcode 15.3/15.4 shipped a really stupid bug where, when it detects certain changes to the file system, it just deletes the Package.resolved file, breaking your build. So you have to close the project just to do a git pull.
Speaking of closing, its overall launch and opening performance is very poor. Opening old style storyboards can hang the UI for multiple seconds. It abuses the main queue like none other.
Its UI can't handle large scale testing. It even added support for repeated tests in the UI, but viewing the results of thousands of test runs hangs the UI. When I do my manual test repetitions in the millions, I can wait literal minutes for the UI to render the result list. And I have to do those million test runs manually because the support they added for repeating tests in the UI run much more slowly its magnitudes slower.
Its syntax highlighting, like much of its tooling, breaks constantly, and yet is extremely inflexible. It has no customizable formatting capability, nor a Swift formatter or linter built in. It can't format on save, nor does it have any configuration available there.
Did I mention it has no real extensibility? Years ago there was a thriving third party plugin ecosystem, with a plugin manager called Alcatraz. It could manage plugins, snippets, editor themes, and project blueprints, all from within Xcode. Apple killed it by locking down the plugin API it used and replaced it with APIs that are a tenth as capable, barely work, and haven't been touched since.
So what's so terrible about Xcode? It's a death by a thousand paper cuts (and the occasional missing finger).
- plorkyeran 2y agoThe plugin system was literally an internship project, and in that context putting together a working proof of concept for out-of-process plugins which can perform simple tasks is a great success. They just never bothering scheduling anyone to work on making the other 90% of a useful plugin API, which makes me wonder if they even realized that they shipped a basic prototype as a headline feature.
- Hamuko 2y ago>Xcode 15.3/15.4 shipped a really stupid bug where, when it detects certain changes to the file system, it just deletes the Package.resolved file, breaking your build. So you have to close the project just to do a git pull. Oh, so that's why my builds have broken from time to time and have required me to use File → Packages → Resolve Package Versions to fix it.
- fingerlocks 2y agoThe broken debugger and language server issues strongly suggest type inference problems in your project. Load a core dump into lldb manually without Xcode to verify. You can fix this by fewer chained calls to high-order functions or explicitly declaring returned variable types. Whatever it takes to reduce the search space to resolve your types.
- charles_f 2y ago> Xcode's UI is miles better than the IntelliJ suite, or any other IDE I've used, but functionally it's a decade behind them Their live preview when you're building a swiftui, apart from that I'm not sure what's better in their UI. Managing windows is clunkier, the rest is very standard ide stuff?
- lawgimenez 2y agoCurrently working on both SwiftUI and Jetpack Compose. For me, Compose is way ahead and it’s such a joy to work on it. Also, opening Xcode on my M2 will take an average of 10-15 seconds, what’s up with that.
- jshier 2y agoIt's not that Xcode's UI is great, it's just that the others are so bad. Xcode usually stays away from the unlabeled button mess that IntelliJ IDEs have become and is overall more Mac native. Of course, some of that is that it's lacking the features that drive complexity in other IDEs, so it's entirely possible it would be worse if it was more full featured.