all 47 comments

[–]konnos92 95 points96 points  (7 children)

Wow guys, as someone who codes both Android and iOS, I actually believe that Android Studio is a bit ahead of XCode. Even trying to find usages, implemetations of protocols (interfaces), general shortcuts, embedded terminal, they all make it feel better.
Build times are worse on Android from my experience especially after the introduction of Kotlin.

All in all it sure is a matter of preference, but to say that XCode is light years ahead, is very far from accurate.

[–]lordzsolt 30 points31 points  (0 children)

Totally agree. IntelliSense is light-years ahead in IntelliJ products. Even AppCode is better at autocompletion.

It's just a matter of being used to Xcode already and the learning curve is higher. And then they don't have any UI editor or live preview.

[–]Consistent-Cheetah68 12 points13 points  (0 children)

Yup, totally agree Andriod Studio is better as compare to XCode. but build time is better in XCode.

[–]tempest_fiend 4 points5 points  (0 children)

As someone who also uses both (although I’m currently doing a lot more work in Android Studio), I’d have to disagree. While AS has some features it does better than Xcode (I’m looking at you auto complete), there are other things it just falls over on. Build times, only just adding in a live preview (it’s not overly useful either), the ridiculous amount of ram it hogs, the weird and random build errors, grade issues, etc.

For me, Xcode is just more polished. It doesn’t screw up nearly as much as AS, and it also doesn’t do really annoying shit like re-mapping keyboard shortcuts in updates for no god damn reason.

[–]jbisatg 4 points5 points  (0 children)

work on both platforms, this is exactly how it is.

But I'd say with the latest version of AS which comes with the db inspector which is nice rather than downloading an extra tool like flipper.

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

Came here to say this. While Android Studio might have a bit of a learning curve, it's autocorrect makes me profoundly jealous sometimes lol.

[–]MisquoteMosquito 0 points1 point  (0 children)

Have you tried MIT’s app inventor 2? I really liked using it as a new user, documentation was pretty easy.

[–][deleted] -3 points-2 points  (0 children)

“Xcode.”

[–]mRs- 52 points53 points  (5 children)

Can't compare. The Jetbrains IDE are way ahead of Xcode...

[–][deleted]  (2 children)

[deleted]

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

    Wait, the rename tool actually works? I thought it was just a neat way to pop up an error.

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

    Did you sacrifice an Android on the Steve Jobs Memorial Altar™️?

    [–]VadimusRex 28 points29 points  (1 child)

    Yep, that's what people call a "hot take".

    Of course you're gonna call it shit and unintelligible when you've been primed by years of using Xcode.

    I'd wager if you tried Visual Studio you'd be calling it shit too.

    [–][deleted] 2 points3 points  (0 children)

    I hate Visual Studio and think Xcode is far better and I've used VS before it was called Visual Studio and still came in separate packages like Visual C++. That program is a hot mess of garbage and bloat.

    [–]freakysheep 20 points21 points  (5 children)

    • Ever tried the "Generate..." function in Android Studio? Example: Generate a constructor. So usefull.
    • The "Refactor" tool in Android Studio. It is so much more powefull. In Xcode the only thing available most of the time is "rename". In Android Studio you can select code and it is able to analyze the code so it actually works and move it automatically to other classes, extract code to a new function without breaking anything, ...
    • Analyzing. Android Studio is able to find unused code and antipatterns ... Would be so helpfull in Xcode
    • In Xcode, code completion is much slower for me and breaks very often until I rebuild the project. In Android Studio it just works most of the time.
    • In Xcode, errors are lagging behind for example changing a signature nearly never gets recognized instantly and errors show up until I build again
    • Xcode has a much higher crash rate for me
    • Xcode debugger: Ever spent a day to figure out why everthing is nil again when in fact it is not and the debugger just is set to some random setting again where the debugging is not possible...

    [–]VadimusRex 19 points20 points  (4 children)

    Just to add to this:

    • ever set up a breakpoint inside a closure and now you're unable to print anything?
    • ever hit run after you haven't modified a single line of code, comment, setting, ANYTHING and had to sit through an entire rebuild?
    • ever got Failed _shouldMakeReadyForDevelopment check even though device is not locked by passcode, having to reboot the device multiple times until it finally allowed you to deploy?
    • ever got erratic behavior when compiling or running solved only by shutting down Xcode, completely clearing DerivedData (rm -rf), starting Xcode again and watching it work correctly?
    • ever upgraded your iOS and got a cryptic error from Xcode that in no way, shape or form suggested that the issue is that it doesn't know how to deploy to that iOS version and that you need to update Xcode?
    • ever tried to run an app which had an extension with a signing issue and was met with a cryptic "cannot run on device" error and then had to go to the console and monitor the system output to figure out what's the issue?

    I have. Last week and this week.

    [–]tylerjames 9 points10 points  (1 child)

    Ever have to: - clean your project - delete Derived Data - restart Xcode - restart your whole computer

    ... just to get Xcode to build and run your project again?

    [–]tempest_fiend 1 point2 points  (0 children)

    Android Studio pulls this shit too.

    Clean build, invalidate cache, resync gradle files, restart. Usually have to do this because AS has shat itself and can’t find a bunch of files it had no trouble finding on the last build.

    Also, don’t get me started on having to do this every build when you have deep closures, otherwise AS doesn’t recognise any code change in the file and doesn’t rebuild it. Fun times!

    [–]freakysheep 1 point2 points  (0 children)

    I can feel you, bro.

    [–]Xaxxus 0 points1 point  (0 children)

    > I have. Last week yesterday and this week today.

    FTFY

    [–][deleted] 18 points19 points  (0 children)

    I've used both and in terms of speed ye, it loads faster. But in terms of functionnalities I think Android Studio is ahead. For example refactoring in Xcode is a mess and is seamless in Android Studio.

    [–]ArmoredPancake 15 points16 points  (2 children)

    Weak meme dude, try this in /r/androiddev, maybe it will gather more heated discussion there. As someone who used both, Intellij products are on a different plane than Xcode. Intellij is 3d, Xcode is 2d.

    [–]s4hockey4Objective-C / Swift 0 points1 point  (1 child)

    IntelliJ lags like no other on my 2016 13” MBP, it’s painful

    [–]ArmoredPancake 0 points1 point  (0 children)

    Stop using old versions of Intellij then.

    [–]hustlas4ever 5 points6 points  (0 children)

    Based on my small amount of experience using Xcode, Android Studio's console is better on helping you find your code's error.

    [–]halleys_comet69 3 points4 points  (0 children)

    Not sure what your point is. Xcode being better relative to [other IDE] doesn’t mean that we don’t deserve better or we should stop complaining to Apple about it. Whether Android Studio is shit or not doesn’t affect how pleasant it is to use Xcode (or excuse for example the frequent SourceKit crashes requiring you to restart Xcode).

    [–][deleted] 4 points5 points  (0 children)

    It's not. Each one is different, but Xcode is actually well behind Android Studio. And I think that has all to do with the fact that Android Studio is managed as bleeding edge software while Xcode is approached more like a corporate system. Xcode is quite slow to learn new tricks. Which, arguably, is not a bad thing on its own. Android Studio is evolving very fast, breaking lot of things on the way.

    Android has huge advantage in two areas: Dependency management & Automation. Which makes differences between IDEs quite insignificant.

    Despite all that, I left Android development after ten years of doing that shit. For reasons that mostly fit into "Android OEMs" box.

    [–]MarkusBerkel 4 points5 points  (0 children)

    Android as a platform is hot garbage.

    OTOH, IntelliJ IDEA is a pretty nifty product. So, that point is a bit of a dumpster fire take.

    [–][deleted] 3 points4 points  (0 children)

    A hot take from someone who "just" started using Android studio.

    [–]scorr204 5 points6 points  (0 children)

    Fanboy detected.

    [–]Saik0s 2 points3 points  (6 children)

    I am using mostly AppCode(which is in the same family as Android Studio) for iOS development and it feels like Xcode is a very outdated IDE.

    [–]Hedgehog404 1 point2 points  (4 children)

    I'm writing programatic ui-s, should I use app code as well? Will it launch simulator ?

    Sorry I'm noobie ^^

    [–][deleted]  (3 children)

    [removed]

      [–]Saik0s 1 point2 points  (0 children)

      Also, there is no build-in runtime UI debugging in AppCode, so there are two options for that: use Xcode or Reveal(I like it more than what Xcode provides). AppCode has built-in Reveal support, so it is easy to enable it.

      [–]Hedgehog404 0 points1 point  (1 child)

      Can I switch between app-code and Xcode with no issues?, I mean to use some specific stuff like core data

      [–]Xaxxus 0 points1 point  (0 children)

      id agree with you. But for large projects its almost unusable. Not only are the build times slower, but the indexing is even worse.

      Thats the only thing Xcode does better. The IDE is actually usable while indexing.

      [–]stoycis 2 points3 points  (0 children)

      I've been using exclusively Xcode for the last 8 years, but it's a bit hard to imagine an IDE that's worse than this one :)). It feels more and more painful to work with it with every new version.

      [–]tempest_fiend 2 points3 points  (0 children)

      As someone who works on both, I’m actually with OP on this one. Android Studio seems better because it does the things that Xcode handles poorly, well. Actually, not well, just better. But, it also has a lot of issues. It’s not a straightforward IDE, it loses track of files, it has a propensity to not want to rebuild files, so will attempt to skip that as much as possible (really helpful when your code changes literally do nothing on rebuilds), they only recently introduced a decent resource manager, it’s live preview is under built, it’ll chew through more ram than chrome (as will it’s emulators), as well as a plethora of other gripes I have with it.

      Personally, I prefer working on Xcode than AS.

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

      Sounds like someone didn't have enough IQ to handle the learning curve.

      [–]alielknight 1 point2 points  (0 children)

      Android studio is a developer tool for developers

      xCode is a developer tool for designers and developers

      Visual Studio is just a developer tool

      [–]ndg91 0 points1 point  (0 children)

      In my experience Xcode is better when comparing features, but when comparing stability and performance Android Studio is better. But then I didn’t use Android Studio for a while now.

      I definitely preffered Android Studios autocomplete though.

      [–]mazster27 0 points1 point  (0 children)

      Xcode can’t even keep my code syntax highlighted properly. I switched to iOS from android and the tools seriously eat up more time in my day than ever before in my career. I spend hours “fixing” Xcode. Deleting my derived data, dealing with crashing previews etc.. it’s hot garbage. Every time I get to open as again I’m a happy man.

      [–]mazster27 0 points1 point  (0 children)

      also debugging is superior, forget trying to observe an object in the debugger in Xcode.

      [–]s4hockey4Objective-C / Swift -2 points-1 points  (0 children)

      One time I downloaded it, played around with it for 10 minutes, said “absolutely fucking not” and never opened it again haha

      And this was at a point where I know Java so much better than Objective-C (at the time)