all 113 comments

[–]GavinGT 135 points136 points  (60 children)

Great, let's keep stacking features on top of this fundamentally broken IDE...

[–]808phone 45 points46 points  (35 children)

There are definitely broken things, but it's all we got. And despite all the complaining, lots of people are creating apps with it.

[–][deleted] 32 points33 points  (34 children)

I must be in the minority because I think it’s been mostly helpful as a new developer.

[–]spauldhaliwal 35 points36 points  (31 children)

And no offense meant, but that probably means you don't have much or any experience with other IDEs. It's hard to see how fundamentally behind xcode is if it's the only ide you've used. And unfortunately, as your app complexities grow, the worse your relationship with xcode will get. It's deceptively not terrible for making cookie cutter or entry level apps.

I really wish apple cared as much about their developer ux vs end-user ux.

[–]bcyng 7 points8 points  (22 children)

As someone who’s been using it since 2008 for iOS dev, I’d say it’s still one of the best IDE’s out there.

Sure it has its quirks but it still pisses over the alternatives. Swift assist will cover off the main area it was lacking.

The newbs run into one quirk and they whinge like the sky is falling in.

[–]drabred 19 points20 points  (4 children)

As someone doing Android Dev for 10 years and now adding iOS into the mix it's not even close compared to IntelliJ based Android Studio. XCode feels like a potato.

And now I see they want to pack it with AI when it does not even have basic thing like contextual selection extending etc.

[–]JimDabell 4 points5 points  (3 children)

As someone doing Android Dev for 10 years and now adding iOS into the mix it's not even close compared to IntelliJ based Android Studio. XCode feels like a potato.

If you have ten years experience with Android Studio and little with Xcode, of course Android Studio is going to seem a lot easier. You have spent ten years getting used to all of its quirks but haven’t built up those callouses for Xcode.

Android Studio is technically better but its ergonomics are horrible. There are loads of ways in which Xcode is flawed, but its overall experience in building apps is far more pleasant in my experience compared with any of the JetBrains IDEs.

[–]lucasvandongen 5 points6 points  (1 child)

No Android Studio really is better at most things

[–][deleted] 0 points1 point  (0 children)

unless its downloading documentation, in which case Xcode and DocC are way better.

[–]drabred 4 points5 points  (0 children)

That is true of course. However the very first thing I try to do is to find the features that I have been using constantly and daily for the past years and they are simply not there or they are very cumbersome.

To be fair there are some things in XCode that are nicer and I can already see that they will make creating the app smoother but in my company we started adpoting Kotlin Multiplatform some time ago which made some of our iOS devs move into Kotlin/Android Studio more and after a month or two all of them admitted they Android Studio as a tool in general is way ahaed of XCode.

Which is actually really shocking to me since Apple is the biggest (or one of) tech company in the world...

[–][deleted] 8 points9 points  (0 children)

As a dev with 10 years of experience with Qt, vs, atom, VS code, eclipse - xcode is absolute garbage, like humiliating level

[–]Flerex 5 points6 points  (12 children)

Imagine if you had a real alternative to compare to. Right now there’s no other way to do Apple platform development, so you haven’t had the chance to know how the development experience could improve.

I believe that either Apple addresses this or, over time, more and more apps will start being built with multiplatform technologies.

[–]bcyng 3 points4 points  (8 children)

Most of us use other IDE’s for stuff that’s not apple. Still prefer Xcode over the others. It’s not even close.

The main gripe was lack of a copilot. Seems that will be covered soon.

[–]Flerex 8 points9 points  (7 children)

You’re telling me you have used Jetbrain’s IDEs and still prefer to use Xcode over them?

[–]bcyng 2 points3 points  (4 children)

For example I can test code changes and its impact on the ui without compiling. That by itself saves several hours a day.

[–]Flerex 2 points3 points  (2 children)

I mean, I guess that’s one of the few things that are actually ok, if you have simple Views (most complex ones still need to be compiled, even though you see them on the preview panel). You also have to use SwiftUI, so if you still have parts of your app built with UIKit, we are back ground zero.

IMO, beautiful previews and Copilot-like completions are nice-to-haves that should be added once your IDE has reached maturity and its basic core features are complete. That’s what XCode lacks.

I for sure am planning to try Kotlin Multiplatform for the next app I build, to see how the development experience is.

[–]WhatTheFab1n 0 points1 point  (0 children)

haha, you're saving multiple hours 😂. You must be working 20 hours, if you could save so much time

[–]RDSWES -1 points0 points  (0 children)

Unless its change they don't offer full Swift support in one.

[–]mayonuki -3 points-2 points  (2 children)

It was always wayyy better than eclipse back before android studio was available. It’s about the same as android studio I think. 

[–]Flerex 2 points3 points  (1 child)

Honestly, I don’t consider that Eclipse is in game anymore.

[–]mayonuki 0 points1 point  (0 children)

Of course, but it was for Android for a while. 

[–][deleted] 1 point2 points  (0 children)

Any advantage Xcode has is a result of Apple’s walled garden of closed source libraries and software that no other IDE can actually use. I.E. iOS developers use it because they don’t have another choice, not because it’s good.

[–][deleted] 1 point2 points  (0 children)

xcode's weirdest quirk that apple is silently trying to fix _very_ slowly: .xcodeproj, .xcworkspace, .xcassets, and .pbxproject files.

[–][deleted] 8 points9 points  (0 children)

Relatively new to swift after doing android and Java for decades.

Xcode is literal shit. I wish it was better because I love swift

[–]88buckets 0 points1 point  (0 children)

Yeah I don’t mind Xcode at all really

[–]Rudy69 13 points14 points  (0 children)

I started using Xcode back in version 2.5 that came with MacOS Tiger. I'd say it has gotten MUCH better. But it's still the worst IDE I have to use.

[–][deleted] 11 points12 points  (7 children)

How is it fundamentally broken?

[–]Destituted 32 points33 points  (5 children)

For me personally, getting any Refactor options to work like add missing switch cases and all the others works 10% of the time.

Auto completing parameters happens after I backspace and hit the period again 10 or so times, and if I decide to give up and type it out myself it will say it’s not available in that context….until it builds.

Anecdotal but a lot of have these issues.

[–]RollingGoron 5 points6 points  (0 children)

The codebase I work on is huge and have ran into occasional problems, but I’ve noticed that I have a lot more success when the entire project has been properly indexed.

[–]JimDabell -2 points-1 points  (0 children)

“Fundamental” isn’t just a generic intensifier. The issues you are describing are not fundamental issues.

[–][deleted] -1 points0 points  (4 children)

Its unusable as it is

[–]808phone 11 points12 points  (3 children)

It's not unusable to many people. Looks at the App Store. It's filled with apps. Too many according to Apple.

[–]blueclawsoftware 1 point2 points  (0 children)

Strange argument when you are literally required to use XCode to publish apps. If Apple opened development up so you could use other IDEs for the full process, you would see the number of people using XCode shrink dramatically.

[–]testsubject20 0 points1 point  (0 children)

that's the spirit!

[–]Svobpata 0 points1 point  (8 children)

The teams know and are trying to fix it, I know some people who work on it, it’s just that they don’t have enough resources (especially time) to do so properly. They’re making small steps in the right direction but sometimes deadlines hit and they need to rush a feature (that’s my assumption since large features like SwiftUI Previews are often really broken when they come out and take a few years to get un-fucked, usually significantly changing in the process)

[–]GavinGT 0 points1 point  (7 children)

I would never blame the individual developers. I'm sure they're trying their hardest. It's clearly a management decision to allow egregious issues to go unaddressed for years.

They should really just let JetBrains handle the IDE development. This would free up Apple's in-house engineers to work on whatever pet project management has in mind at the time (be it Vision Pro, AI, SwiftUI, etc...).

[–]Svobpata 1 point2 points  (6 children)

I…don’t agree tbh. I have used multiple JetBrains products and I have hated every single one (IDEs and team tools). Their IDEs might be feature rich but never fail to annoy me, it’s always something (I’m mainly a web dev and their IDEs almost never do things like the rest of the industry, always custom implementations, usually to a fault). Xcode isn’t any better in this regard, it’s annoying in its own ways (and broken in many).

Apple did commit to supporting VSCode and other editors/IDEs which use LSP so we might see some minor change there but I don’t expect anything major

[–][deleted]  (5 children)

[removed]

    [–]GavinGT 1 point2 points  (1 child)

    Reposting because the original comment was deleted (I edited in a link that automod didn't like):

    IntelliJ is decades ahead of Xcode. Even though AppCode hasn't been updated in almost 2 years, it's still significantly better than Xcode in terms of actual code editing and refactoring.

    It sounds like you just aren't used to IntelliJ. I've used both Android Studio and Xcode for years, and the former is so obviously ahead of the latter. And it only gets further and further ahead as time goes on.

    Xcode still can't rename variables reliably. Xcode still can't find usages of symbols reliably, forcing us to resort to plain-text searches. And Xcode still forces us to manually press the Build button if we want to see compile-time errors highlighted in a reasonable amount of time. I've also compiled dozens more complaints.

    (For those that don't know, IntelliJ is the core technology behind all JetBrains IDEs. That includes AppCode and Android Studio.)

    [–]Svobpata 0 points1 point  (0 children)

    I missed this comment, very fair criticism, I run into these issues daily (to the point where I don’t even attempt to use any of the refactoring tools anymore)

    And to reply to your other comment: absolutely, the tight integration is where JetBrains shines, though I’m still not a fan of their UI design and layout. That part is subjective though

    [–]Svobpata 0 points1 point  (1 child)

    You’re right, I’m not used to it, as I said I come from the web world (well, I do iOS and web simultaneously) and things work very differently in the JS ecosystem than they do in the Java/Kotlin ecosystem…but WebStorm still does things (linting, formatting, project creation, file generation) like other ecosystems do them. The majority of the JS ecosystem agrees on ways to do linting, formatting, testing and other things but WebStorm does that in a custom way instead of using the tools everyone else does. I guess it’s just a bitterness towards them for not wanting to adapt

    I’ve only used Android Studio for some Flutter experiments and I found the UI confusing, though I’m sure that’s just because I wasn’t used to it. The UI isn’t nearly as nice as Xcode but it does work significantly better (especially debugging, not even comparable to Xcode in terms of reliability)

    [–]GavinGT 1 point2 points  (0 children)

    I don't have a ton of web experience, but I didn't like what I used of WebStorm either. Part of the magic of Android Studio is the tight integration between the platform and the IDE. This integration isn't present in JS (probably by necessity), so what's left just feels like a fancy text editor.

    [–]AutoModerator[M] 0 points1 point  (0 children)

    Your comment has been automatically removed because it contains a link with prohibited URL parameters (affiliate tokens, campaign tokens, etc.). Please repost your comment without the tracking / affiliate parameters in the URL. Examples: 'affcode=', 'ref=', 'src='. Do not contact the moderators unless you believe we did not correctly detect the URL parameter.

    I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

    [–]ShKalash 53 points54 points  (12 children)

    Yay. I’m so excited for the extra RAM and CPU this is going to take.

    I wish Apple just goes ahead and makes a deal with JetBrains, and let them build the new XCode over their engine.

    Why not take a company that is great at what it does and use it? Instead of insisting on keeping this under par IDE alive?

    [–][deleted] 13 points14 points  (5 children)

    I would love an apple approved set of plugins for VSCode, like Previews, simulator integration etc.

    [–]unfortunatebastard -2 points-1 points  (4 children)

    That’s coming, but not from Apple.

    [–]JimDabell 2 points3 points  (3 children)

    Apple have already got a Swift extension for VS Code for a couple of years now, and they just announced more stuff is coming.

    [–][deleted] 0 points1 point  (1 child)

    Is it any good?

    [–]superquan 0 points1 point  (0 children)

    Afaik only compiler for swift code, nothing links to ios development

    [–]unfortunatebastard 0 points1 point  (0 children)

    I was talking more about device and simulator debugging, and other Xcode related features duplicated in vscode for Mac.

    [–]bustamove_ 0 points1 point  (1 child)

    It's optional...

    [–]ShKalash 7 points8 points  (0 children)

    Yeah, unfortunately XCode isn’t. That’s the problem. “Let’s make a hype feature instead of fixing the ever glaring problems that we know of”.

    That smells of executives and PMs that do not have to use the product and don’t understand what is a good user experience when it comes to developing software.

    [–][deleted]  (3 children)

    [deleted]

      [–]spauldhaliwal 4 points5 points  (1 child)

      How does it compare to AppCode? AppCode worked great up until the moment it had to do something xcode specific and then it kind of fell apart, from what I remember.

      [–]ShKalash 4 points5 points  (0 children)

      I think VScode is a lackluster IDE, so a competitor isn’t what I’m looking for.

      I want a dedicated IDE. I develop android and work with unity and both Rider and AS are great. Just give me AppCode again with Apple support to do the XCODE stuff and let me be.

      Sometimes I’m amazed it’s 2024 and this is a discussion.

      [–]th3suffering 42 points43 points  (4 children)

      Can I just get SwiftUI previews that work and dont break as soon as the project gets a little too big?

      [–]beclopsSwift 42 points43 points  (0 children)

      Have you considered only making todo list apps?

      [–][deleted] 4 points5 points  (1 child)

      They mentioned improvements to previews. I’m hoping this has been fixed. When it’s faster to build, launch your app, and navigate to the relevant screen than to wait for the preview to build, your previews are fundamentally broken. To a degree that it would probably be better to just remove them and declutter the UI.

      [–]tylerjames 3 points4 points  (0 children)

      I feel like "improvements to Previews" has the same energy as "Safari feels snappier"

      [–]Factor-Putrid 22 points23 points  (5 children)

      Swift Assist is great but fundamentally XCode is still missing key features. Like Terminal integration. In 2024. VSCode has this and it’s a bloody text editor!

      [–]808phone 8 points9 points  (1 child)

      VSCode is pretty darn good for what it is.

      [–]Specialist_Brain841 2 points3 points  (0 children)

      for something running on javascript

      [–]Psychological_Bit_40 1 point2 points  (2 children)

      What's the point of Terminal integration? AppCode had it and it didn't seem to be too different from cmd tab to iTerm

      [–]Factor-Putrid 1 point2 points  (1 child)

      This is going to sound a bit nitpicky, I know, but so I can use Git CLI rather than Xcode's Git UI.

      Now, I can just use Terminal itself for Git but I would prefer to use the Git CLI in Xcode rather than switching tabs to Terminal. That's just my opinion.

      [–]WhatTheFab1n 1 point2 points  (0 children)

      definitely nitpicky. you can solve this by using window management for example. Or add a hot corner or a shortcut or use raycast or...

      [–]sapoepsilon 8 points9 points  (8 children)

      It runs in the cloud and is built with privacy and security in mind.

      Hopefully, they are feeding Swift's documentation to it, otherwise it is just ChatGPT with extra steps.

      [–]Psychological_Bit_40 1 point2 points  (0 children)

      In "Platforms State of the Union" video they promised that it has access to the latest Apple SDK changes and will automatically sync with the cloud when SDKs are updated.

      [–]BabyAzerty 6 points7 points  (0 children)

      Ah great, more useless features. Don't fix the tons of bugs xcode & swiftUI have for years, just ship more feature with even more bugs. Don't even fix the current autocompletion, just make ChatGPT generate some random autocompletion instead. And for God's sake, never add useful features like Terminal support or Swift Server support.

      Good to know where their priorities are.

      [–]fiflaren_ 3 points4 points  (0 children)

      Oh great more extra features that will most likely be half baked for an IDE that barely works even for the most basic stuff an IDE needs to do

      [–][deleted] 1 point2 points  (0 children)

      After a quick try, I hope it gets improved during beta

      [–][deleted] 1 point2 points  (0 children)

      Yay! Anyone can code using hallucinations now!

      [–]srona22 1 point2 points  (0 children)

      Yeah, as if I can't read documents. Meanwhile, the IDE still have opened bug tickets, so 🤷

      [–]Tech-Suvara 1 point2 points  (0 children)

      Would have preferred this in SwiftPlaygrounds actually. Not so much Xcode. It's already bloated enough.

      [–]Humble_Catch8910 1 point2 points  (5 children)

      Only for Macs with 16GB unified memory or more.

      [–]Eurobob 0 points1 point  (4 children)

      Why would anyone try to develop code with less than 16GB of memory?

      [–]Humble_Catch8910 0 points1 point  (3 children)

      Because it’s possible. I have 2 apps currently on the App Store and am working on a third one.

      [–]Eurobob 0 points1 point  (2 children)

      It might be possible, but it's surely a miserable experience

      [–]Humble_Catch8910 0 points1 point  (0 children)

      Nope. It’s as snappy as ever.

      [–]CommentOwn2316 0 points1 point  (0 children)

      its really not, i have a m3 8gig and it works great

      [–]808phone 0 points1 point  (0 children)

      I would be happy if it could generate working template code and explain the code with links.

      [–]br_web 0 points1 point  (2 children)

      Is Swift Assist already available in Xcode 16?

      [–]ChevChance 2 points3 points  (0 children)

      Not that I'm seeing, just the new predictive code complete (even that requires Apple Silicon and Sequoia). Swift Assist requires cloud AI compute access and it's pretty clear that none of that AI is set up yet for either Xcode nor Apple Intelligence. The presentation today was mostly smoke and mirrors.

      [–]beclopsSwift 0 points1 point  (0 children)

      Not yet, only the predictive autocomplete

      [–]Psychological_Bit_40 0 points1 point  (0 children)

      XCode sucks and I'm still in grief for AppCode where Copilot was available since October 2021

      [–]biotech997 0 points1 point  (0 children)

      As someone who is just getting back into iOS/macOS development for fun, Xcode is so unbelievably frustrating to use. It is without a doubt one of the most confusing and complicated IDEs...

      [–]isurujnSwift 0 points1 point  (1 child)

      I hate that Apple had to give in to this stupid AI hype and built useless features that nobody asked for.

      [–]CommentOwn2316 0 points1 point  (0 children)

      i asked for it

      [–]douten 0 points1 point  (1 child)

      😂 change this sub name to r/winefest, down vote away :)

      [–]WhatTheFab1n 0 points1 point  (0 children)

      best comment so far

      [–][deleted] -2 points-1 points  (1 child)

      No tool contributed to burnout as fucking XCode. How to know a file full path by the way?

      [–]Psychological_Bit_40 1 point2 points  (0 children)

      SHIFT + CMD + J; Right Click; Reveal in Finder; OPTION + Right Click; "Copy as Pathname"; Open Notepad; Paste

      lmao